From 6e3e27e0ff2dfe5206d9f5fec49a58f30801d9fa Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Wed, 1 Oct 2025 08:47:03 +0100 Subject: [PATCH 01/21] Update libusb to 1.0.29. --- external/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 63f1c27fb..7fb066701 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -213,7 +213,7 @@ endmacro() if (NOT LIBUSB_FOUND AND NOT USE_PRECOMPILED_LIBS) # Cloning git repo doesn't include configure, so we download the bz2 which does ExternalProject_Add(libusb - URL https://github.com/libusb/libusb/releases/download/v1.0.26/libusb-1.0.26.tar.bz2 + URL https://github.com/libusb/libusb/releases/download/v1.0.29/libusb-1.0.29.tar.bz2 PREFIX "${EXTERNAL_BUILD_LIBRARIES}/libusb" CONFIGURE_COMMAND /configure --prefix= BUILD_COMMAND ${MAKE} From 0ca5552747ee4108de2202e34a68a151b9f0cff0 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Wed, 1 Oct 2025 08:54:22 +0100 Subject: [PATCH 02/21] Add ${binary_dir}/src to MACOS_EXTERNAL_LIBS_FIXUP for HackRF --- external/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 7fb066701..887286bdb 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -1414,7 +1414,7 @@ if (WIN32 OR APPLE) set(LIBHACKRF_LIBRARIES "${binary_dir}/src/libhackrf${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") # include "libhackrf/hackrf.h" makeLink("${source_dir}/host/libhackrf/src" "${source_dir}/host/libhackrf/libhackrf" hackrf) - set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${binary_dir}/") + set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${binary_dir}/src") install(DIRECTORY "${binary_dir}/src/" DESTINATION "${INSTALL_LIB_DIR}" FILES_MATCHING PATTERN "libhackrf*${CMAKE_SHARED_LIBRARY_SUFFIX}") endif () From 2ddbf4d0955189005ead93372e54baac3ae07716 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Thu, 2 Oct 2025 08:34:36 +0100 Subject: [PATCH 03/21] Rollback to Qt 6.7.3 --- .github/workflows/mac.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml index 8bb8ffda7..530d6b7cd 100644 --- a/.github/workflows/mac.yml +++ b/.github/workflows/mac.yml @@ -110,7 +110,7 @@ jobs: - name: Install Qt uses: jurplel/install-qt-action@v4 with: - version: '6.9.1' + version: '6.7.3' host: 'mac' arch: 'clang_64' modules: 'qtcharts qtscxml qt5compat qtlocation qtmultimedia qtpositioning qtserialport qtspeech qtwebsockets qtwebengine qtshadertools qtwebchannel' From 37fa6e896114c807eaf3b670cd151a82b728341d Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 3 Oct 2025 14:44:07 +0100 Subject: [PATCH 04/21] Try Xcode 16.2 --- .github/workflows/mac.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml index 530d6b7cd..46bfbf3ca 100644 --- a/.github/workflows/mac.yml +++ b/.github/workflows/mac.yml @@ -92,6 +92,9 @@ jobs: with: submodules: true fetch-depth: 0 + - uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: '16.2' - name: Update brew run: brew update - name: Install brew packages @@ -110,7 +113,7 @@ jobs: - name: Install Qt uses: jurplel/install-qt-action@v4 with: - version: '6.7.3' + version: '6.9.1' host: 'mac' arch: 'clang_64' modules: 'qtcharts qtscxml qt5compat qtlocation qtmultimedia qtpositioning qtserialport qtspeech qtwebsockets qtwebengine qtshadertools qtwebchannel' From 9223b539f4c5e38c420c4d3326d100a84b0d3ada Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 3 Oct 2025 17:42:25 +0100 Subject: [PATCH 05/21] Use default toolchain again --- .github/workflows/mac.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml index 46bfbf3ca..8bb8ffda7 100644 --- a/.github/workflows/mac.yml +++ b/.github/workflows/mac.yml @@ -92,9 +92,6 @@ jobs: with: submodules: true fetch-depth: 0 - - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: '16.2' - name: Update brew run: brew update - name: Install brew packages From 38601664e84177874861e174c68f9da1767e5e95 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 3 Oct 2025 17:42:46 +0100 Subject: [PATCH 06/21] Try removing signature from libusb --- external/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 887286bdb..d3b671a63 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -231,6 +231,9 @@ if (NOT LIBUSB_FOUND AND NOT USE_PRECOMPILED_LIBS) elseif (APPLE) set(LIBUSB_LIBRARIES "${install_dir}/lib/libusb-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${install_dir}/lib") + add_custom_command(TARGET libusb POST_BUILD + COMMAND codesign --remove-signature "${install_dir}/lib/libusb-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}" + COMMENT "removing signature on libusb") endif () endif (NOT LIBUSB_FOUND AND NOT USE_PRECOMPILED_LIBS) From 6ac014aaa3999e6876ef200d6b17e97d1a575ce6 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 3 Oct 2025 19:26:42 +0100 Subject: [PATCH 07/21] Verify signature --- external/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index d3b671a63..0d6b438cc 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -232,8 +232,8 @@ if (NOT LIBUSB_FOUND AND NOT USE_PRECOMPILED_LIBS) set(LIBUSB_LIBRARIES "${install_dir}/lib/libusb-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${install_dir}/lib") add_custom_command(TARGET libusb POST_BUILD - COMMAND codesign --remove-signature "${install_dir}/lib/libusb-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}" - COMMENT "removing signature on libusb") + COMMAND codesign --verify "${install_dir}/lib/libusb-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}" + COMMENT "checking signature on libusb") endif () endif (NOT LIBUSB_FOUND AND NOT USE_PRECOMPILED_LIBS) From 90ed1dae6894100c2edd112399b738751edadaae Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 3 Oct 2025 19:39:28 +0100 Subject: [PATCH 08/21] Check sigs --- cmake/cpack/deploy_mac.cmake.in | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cmake/cpack/deploy_mac.cmake.in b/cmake/cpack/deploy_mac.cmake.in index d6015e85a..38bf5b8e0 100644 --- a/cmake/cpack/deploy_mac.cmake.in +++ b/cmake/cpack/deploy_mac.cmake.in @@ -37,7 +37,14 @@ foreach(RPATH_DIR_1 ${EXTERNAL_LIB_DIRS}) endforeach() endforeach() +echo "Testing pre macdeployqt" +codesign -verify ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib +codesign -dvv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib + # Run macdeployqt which should copy all libraries and frameworks and Qt plugins and qml message ("Running macdeployqt in ${CPACK_TEMPORARY_INSTALL_DIRECTORY}") -execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -always-overwrite -verbose=1 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/ ) +execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -always-overwrite -verbose=3 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/ ) +echo "Testing post macdeployqt" +codesign -verify ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib +codesign -dvv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib \ No newline at end of file From 862da4fba642197df97d2406db152179e4288e28 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 3 Oct 2025 21:43:15 +0100 Subject: [PATCH 09/21] Try again --- cmake/cpack/deploy_mac.cmake.in | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/cmake/cpack/deploy_mac.cmake.in b/cmake/cpack/deploy_mac.cmake.in index 38bf5b8e0..55813274a 100644 --- a/cmake/cpack/deploy_mac.cmake.in +++ b/cmake/cpack/deploy_mac.cmake.in @@ -37,14 +37,12 @@ foreach(RPATH_DIR_1 ${EXTERNAL_LIB_DIRS}) endforeach() endforeach() -echo "Testing pre macdeployqt" -codesign -verify ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib -codesign -dvv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib +execute_process ( COMMAND codesign -verify ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) +execute_process ( COMMAND codesign -dvv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) # Run macdeployqt which should copy all libraries and frameworks and Qt plugins and qml message ("Running macdeployqt in ${CPACK_TEMPORARY_INSTALL_DIRECTORY}") execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -always-overwrite -verbose=3 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/ ) -echo "Testing post macdeployqt" -codesign -verify ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib -codesign -dvv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib \ No newline at end of file +execute_process ( COMMAND codesign -verify ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) +execute_process ( COMMAND codesign -dvv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) \ No newline at end of file From 82b953988165d10e2d85283b70c748f74f9de66b Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 3 Oct 2025 23:45:46 +0100 Subject: [PATCH 10/21] Remove debug --- cmake/cpack/deploy_mac.cmake.in | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/cmake/cpack/deploy_mac.cmake.in b/cmake/cpack/deploy_mac.cmake.in index 55813274a..6a6c05175 100644 --- a/cmake/cpack/deploy_mac.cmake.in +++ b/cmake/cpack/deploy_mac.cmake.in @@ -37,12 +37,6 @@ foreach(RPATH_DIR_1 ${EXTERNAL_LIB_DIRS}) endforeach() endforeach() -execute_process ( COMMAND codesign -verify ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) -execute_process ( COMMAND codesign -dvv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) - # Run macdeployqt which should copy all libraries and frameworks and Qt plugins and qml message ("Running macdeployqt in ${CPACK_TEMPORARY_INSTALL_DIRECTORY}") -execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -always-overwrite -verbose=3 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/ ) - -execute_process ( COMMAND codesign -verify ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) -execute_process ( COMMAND codesign -dvv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) \ No newline at end of file +execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -always-overwrite -verbose=1 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/ ) From 1c6ed3cf6d7a57c7a1551f93cf03366d319b1574 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 3 Oct 2025 23:46:07 +0100 Subject: [PATCH 11/21] Try disabling strip --- cmake/cpack/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/cpack/CMakeLists.txt b/cmake/cpack/CMakeLists.txt index 932caec17..552224b01 100644 --- a/cmake/cpack/CMakeLists.txt +++ b/cmake/cpack/CMakeLists.txt @@ -31,6 +31,7 @@ if(APPLE AND BUNDLE AND BUILD_GUI) configure_file("${CMAKE_SOURCE_DIR}/cmake/cpack/deploy_mac.cmake.in" "${PROJECT_BINARY_DIR}/deploy_mac.cmake" @ONLY) set(CPACK_GENERATOR "Bundle") + set(CPACK_STRIP_FILES OFF} set(CPACK_BINARY_DRAGNDROP ON) set(CPACK_BUNDLE_NAME "${APPLICATION_NAME}") set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/cmake/cpack/sdrangel_icon.icns") From e7e4c6e066254021f9e594c742eb7d525e2fd5f8 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 3 Oct 2025 23:47:19 +0100 Subject: [PATCH 12/21] Disable strip --- cmake/cpack/deploy_mac.cmake.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/cpack/deploy_mac.cmake.in b/cmake/cpack/deploy_mac.cmake.in index 6a6c05175..02ef1b89c 100644 --- a/cmake/cpack/deploy_mac.cmake.in +++ b/cmake/cpack/deploy_mac.cmake.in @@ -39,4 +39,4 @@ endforeach() # Run macdeployqt which should copy all libraries and frameworks and Qt plugins and qml message ("Running macdeployqt in ${CPACK_TEMPORARY_INSTALL_DIRECTORY}") -execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -always-overwrite -verbose=1 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/ ) +execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -no-strip -always-overwrite -verbose=1 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/ ) From 544ec10c2847b9d673d2735cada0072370856eac Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 3 Oct 2025 23:47:57 +0100 Subject: [PATCH 13/21] Fix syntax --- cmake/cpack/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/cpack/CMakeLists.txt b/cmake/cpack/CMakeLists.txt index 552224b01..e9528a713 100644 --- a/cmake/cpack/CMakeLists.txt +++ b/cmake/cpack/CMakeLists.txt @@ -31,7 +31,7 @@ if(APPLE AND BUNDLE AND BUILD_GUI) configure_file("${CMAKE_SOURCE_DIR}/cmake/cpack/deploy_mac.cmake.in" "${PROJECT_BINARY_DIR}/deploy_mac.cmake" @ONLY) set(CPACK_GENERATOR "Bundle") - set(CPACK_STRIP_FILES OFF} + set(CPACK_STRIP_FILES OFF) set(CPACK_BINARY_DRAGNDROP ON) set(CPACK_BUNDLE_NAME "${APPLICATION_NAME}") set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/cmake/cpack/sdrangel_icon.icns") From c762768eabd56ff93cfbb33226745f80113d62f0 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Sat, 4 Oct 2025 08:54:40 +0100 Subject: [PATCH 14/21] Add md5sum --- cmake/cpack/deploy_mac.cmake.in | 11 +++++++++++ external/CMakeLists.txt | 5 ++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/cmake/cpack/deploy_mac.cmake.in b/cmake/cpack/deploy_mac.cmake.in index 02ef1b89c..eb98aa09c 100644 --- a/cmake/cpack/deploy_mac.cmake.in +++ b/cmake/cpack/deploy_mac.cmake.in @@ -25,6 +25,12 @@ foreach(RPATH_DIR ${EXTERNAL_LIB_DIRS}) execute_process(COMMAND /usr/bin/install_name_tool -add_rpath ${RPATH_DIR} ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/MacOS/SDRangel) endforeach() + +execute_process ( COMMAND "checking signature" ) +execute_process ( COMMAND codesign -vv ${EXTERNAL_LIB_DIRS}/libusb-1.0.0.dylib ) +execute_process ( COMMAND md5sum -vv ${EXTERNAL_LIB_DIRS}/libusb-1.0.0.dylib ) +execute_process ( COMMAND "signature checked" ) + # Add RPATH to libraries in build directory foreach(RPATH_DIR_1 ${EXTERNAL_LIB_DIRS}) file(GLOB LIBS_TO_FIX ${RPATH_DIR_1}/*.dylib) @@ -40,3 +46,8 @@ endforeach() # Run macdeployqt which should copy all libraries and frameworks and Qt plugins and qml message ("Running macdeployqt in ${CPACK_TEMPORARY_INSTALL_DIRECTORY}") execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -no-strip -always-overwrite -verbose=1 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/ ) + +execute_process ( COMMAND "checking signature" ) +execute_process ( COMMAND codesign -vv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) +execute_process ( COMMAND md5sum -vv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) +execute_process ( COMMAND "signature checked" ) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 0d6b438cc..80882bedb 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -232,8 +232,11 @@ if (NOT LIBUSB_FOUND AND NOT USE_PRECOMPILED_LIBS) set(LIBUSB_LIBRARIES "${install_dir}/lib/libusb-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${install_dir}/lib") add_custom_command(TARGET libusb POST_BUILD - COMMAND codesign --verify "${install_dir}/lib/libusb-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}" + COMMAND codesign -vv "${install_dir}/lib/libusb-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}" COMMENT "checking signature on libusb") + add_custom_command(TARGET libusb POST_BUILD + COMMAND md5sum "${install_dir}/lib/libusb-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}" + COMMENT "md5sum for libusb") endif () endif (NOT LIBUSB_FOUND AND NOT USE_PRECOMPILED_LIBS) From 036d037da34cf6a8bc225b0428e8336fc3db6f58 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Sat, 4 Oct 2025 09:20:27 +0100 Subject: [PATCH 15/21] Install md5sha1sum --- .github/workflows/mac.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml index 8bb8ffda7..be092950b 100644 --- a/.github/workflows/mac.yml +++ b/.github/workflows/mac.yml @@ -20,7 +20,7 @@ jobs: - name: Update brew run: brew update - name: Install brew packages - run: brew install nasm subversion ncurses + run: brew install nasm subversion ncurses md5sha1sum - name: Install SDRplay API run: | wget https://www.sdrplay.com/software/SDRplayAPI-macos-installer-universal-3.15.0.pkg @@ -95,7 +95,7 @@ jobs: - name: Update brew run: brew update - name: Install brew packages - run: brew install nasm subversion ncurses + run: brew install nasm subversion ncurses md5sha1sum - name: Install SDRplay API run: | wget https://www.sdrplay.com/software/SDRplayAPI-macos-installer-universal-3.15.0.pkg From 125ddb17da8244cac5b5786d2284dcea6b5bc62a Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Sat, 4 Oct 2025 11:04:28 +0100 Subject: [PATCH 16/21] Resign libusb --- cmake/cpack/deploy_mac.cmake.in | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/cmake/cpack/deploy_mac.cmake.in b/cmake/cpack/deploy_mac.cmake.in index eb98aa09c..706c46d5b 100644 --- a/cmake/cpack/deploy_mac.cmake.in +++ b/cmake/cpack/deploy_mac.cmake.in @@ -26,9 +26,9 @@ foreach(RPATH_DIR ${EXTERNAL_LIB_DIRS}) endforeach() -execute_process ( COMMAND "checking signature" ) +execute_process ( COMMAND "checking signature pre" ) execute_process ( COMMAND codesign -vv ${EXTERNAL_LIB_DIRS}/libusb-1.0.0.dylib ) -execute_process ( COMMAND md5sum -vv ${EXTERNAL_LIB_DIRS}/libusb-1.0.0.dylib ) +execute_process ( COMMAND md5sum ${EXTERNAL_LIB_DIRS}/libusb-1.0.0.dylib ) execute_process ( COMMAND "signature checked" ) # Add RPATH to libraries in build directory @@ -47,7 +47,13 @@ endforeach() message ("Running macdeployqt in ${CPACK_TEMPORARY_INSTALL_DIRECTORY}") execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -no-strip -always-overwrite -verbose=1 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/ ) -execute_process ( COMMAND "checking signature" ) +execute_process ( COMMAND "checking signature post" ) execute_process ( COMMAND codesign -vv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) -execute_process ( COMMAND md5sum -vv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) +execute_process ( COMMAND md5sum ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) execute_process ( COMMAND "signature checked" ) + +execute_process ( COMMAND "resigning" ) +execute_process ( COMMAND codesign --force --sign - ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) +execute_process ( COMMAND codesign -vv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) +execute_process ( COMMAND md5sum ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) +execute_process ( COMMAND "resigned" ) From 3f49558d52ec084bed80fc0e1a49a5e9bf26db05 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Sat, 4 Oct 2025 12:32:14 +0100 Subject: [PATCH 17/21] Oops --- cmake/cpack/deploy_mac.cmake.in | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/cmake/cpack/deploy_mac.cmake.in b/cmake/cpack/deploy_mac.cmake.in index 706c46d5b..450238452 100644 --- a/cmake/cpack/deploy_mac.cmake.in +++ b/cmake/cpack/deploy_mac.cmake.in @@ -26,10 +26,11 @@ foreach(RPATH_DIR ${EXTERNAL_LIB_DIRS}) endforeach() -execute_process ( COMMAND "checking signature pre" ) -execute_process ( COMMAND codesign -vv ${EXTERNAL_LIB_DIRS}/libusb-1.0.0.dylib ) -execute_process ( COMMAND md5sum ${EXTERNAL_LIB_DIRS}/libusb-1.0.0.dylib ) -execute_process ( COMMAND "signature checked" ) +execute_process ( COMMAND echo "EXTERNAL_LIB_DIRS ${EXTERNAL_LIB_DIRS}" ) +execute_process ( COMMAND echo "checking signature pre rpath" ) +execute_process ( COMMAND codesign -vv /Users/runner/work/sdrangel/sdrangel/build/external/libusb/lib/libusb-1.0.dylib ) +execute_process ( COMMAND md5sum /Users/runner/work/sdrangel/sdrangel/build/external/libusb/lib/libusb-1.0.dylib ) +execute_process ( COMMAND echo "signature checked" ) # Add RPATH to libraries in build directory foreach(RPATH_DIR_1 ${EXTERNAL_LIB_DIRS}) @@ -43,17 +44,23 @@ foreach(RPATH_DIR_1 ${EXTERNAL_LIB_DIRS}) endforeach() endforeach() +execute_process ( COMMAND echo "checking signature pre deploy" ) +execute_process ( COMMAND codesign -vv /Users/runner/work/sdrangel/sdrangel/build/external/libusb/lib/libusb-1.0.dylib ) +execute_process ( COMMAND md5sum /Users/runner/work/sdrangel/sdrangel/build/external/libusb/lib/libusb-1.0.dylib ) +execute_process ( COMMAND echo "signature checked" ) + + # Run macdeployqt which should copy all libraries and frameworks and Qt plugins and qml message ("Running macdeployqt in ${CPACK_TEMPORARY_INSTALL_DIRECTORY}") execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -no-strip -always-overwrite -verbose=1 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/ ) -execute_process ( COMMAND "checking signature post" ) +execute_process ( COMMAND echo "checking signature post" ) execute_process ( COMMAND codesign -vv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) execute_process ( COMMAND md5sum ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) -execute_process ( COMMAND "signature checked" ) +execute_process ( COMMAND echo "signature checked" ) -execute_process ( COMMAND "resigning" ) +execute_process ( COMMAND echo "resigning" ) execute_process ( COMMAND codesign --force --sign - ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) execute_process ( COMMAND codesign -vv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) execute_process ( COMMAND md5sum ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) -execute_process ( COMMAND "resigned" ) +execute_process ( COMMAND echo "resigned" ) From ef854d6887641339768cd62c39995d23d9889a94 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Sat, 4 Oct 2025 14:02:06 +0100 Subject: [PATCH 18/21] Reenable strip --- cmake/cpack/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/cmake/cpack/CMakeLists.txt b/cmake/cpack/CMakeLists.txt index e9528a713..932caec17 100644 --- a/cmake/cpack/CMakeLists.txt +++ b/cmake/cpack/CMakeLists.txt @@ -31,7 +31,6 @@ if(APPLE AND BUNDLE AND BUILD_GUI) configure_file("${CMAKE_SOURCE_DIR}/cmake/cpack/deploy_mac.cmake.in" "${PROJECT_BINARY_DIR}/deploy_mac.cmake" @ONLY) set(CPACK_GENERATOR "Bundle") - set(CPACK_STRIP_FILES OFF) set(CPACK_BINARY_DRAGNDROP ON) set(CPACK_BUNDLE_NAME "${APPLICATION_NAME}") set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/cmake/cpack/sdrangel_icon.icns") From befafe0d6ceb262a8600e8c320d81c9e3774dd94 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Sat, 4 Oct 2025 14:02:32 +0100 Subject: [PATCH 19/21] Remove md5sum --- external/CMakeLists.txt | 6 ------ 1 file changed, 6 deletions(-) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 80882bedb..887286bdb 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -231,12 +231,6 @@ if (NOT LIBUSB_FOUND AND NOT USE_PRECOMPILED_LIBS) elseif (APPLE) set(LIBUSB_LIBRARIES "${install_dir}/lib/libusb-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${install_dir}/lib") - add_custom_command(TARGET libusb POST_BUILD - COMMAND codesign -vv "${install_dir}/lib/libusb-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}" - COMMENT "checking signature on libusb") - add_custom_command(TARGET libusb POST_BUILD - COMMAND md5sum "${install_dir}/lib/libusb-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}" - COMMENT "md5sum for libusb") endif () endif (NOT LIBUSB_FOUND AND NOT USE_PRECOMPILED_LIBS) From 11074ac875e399d5f40b459ed5f7415dfa49ecdd Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Sat, 4 Oct 2025 14:03:05 +0100 Subject: [PATCH 20/21] Reenable strip --- CMakePresets.json | 16 +++++++++++++--- cmake/cpack/deploy_mac.cmake.in | 2 +- launch.vs.json | 20 ++++++++++++++++++++ 3 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 launch.vs.json diff --git a/CMakePresets.json b/CMakePresets.json index cb453a905..9854e2c67 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -44,8 +44,11 @@ "name": "default-windows", "binaryDir": "${sourceDir}/build", "cacheVariables": { + //"CMAKE_BUILD_TYPE": "Release", "CMAKE_BUILD_TYPE": "RelWithDebInfo", + //"CMAKE_BUILD_TYPE": "Debug", "DEBUG_OUTPUT": "ON", + "SANITIZE_ADDRESS": "OFF", "RX_SAMPLE_24BIT": "ON", "ARCH_OPT": "SSE4_2", "HIDE_CONSOLE": "OFF", @@ -55,11 +58,11 @@ "ENABLE_HACKRF": "ON", "ENABLE_IIO": "ON", "ENABLE_MIRISDR": "OFF", - "ENABLE_PERSEUS": "ON", + "ENABLE_PERSEUS": "OFF", "ENABLE_RTLSDR": "ON", "ENABLE_SDRPLAY": "ON", "ENABLE_SOAPYSDR": "ON", - "ENABLE_XTRX": "ON", + "ENABLE_XTRX": "OFF", "ENABLE_USRP": "ON", "BUILD_SERVER": "OFF", "CMAKE_PREFIX_PATH": "C:/Qt/5.15.2/msvc2019_64;C:/Applications/boost_1_81_0" @@ -87,7 +90,14 @@ "binaryDir": "${sourceDir}/build-qt6", "cacheVariables": { "ENABLE_QT6": "ON", - "CMAKE_PREFIX_PATH": "C:/Qt/6.7.3/msvc2022_64;C:/Applications/boost_1_81_0" + "CMAKE_PREFIX_PATH": "C:/Qt/6.7.3/msvc2022_64;C:/Applications/boost_1_81_0", + "CMAKE_BUILD_TYPE": "Release" + //"CMAKE_BUILD_TYPE": "RelWithDebInfo", + //"CMAKE_BUILD_TYPE": "Debug" + //"BUILD_SERVER": "ON", + //"RX_SAMPLE_24BIT": "OFF", + //"ENABLE_CHANNELMIMO_DOA2": "OFF", + //"ENABLE_CHANNELMIMO_INTERFEROMETER": "OFF" } } ], diff --git a/cmake/cpack/deploy_mac.cmake.in b/cmake/cpack/deploy_mac.cmake.in index 450238452..b383095c9 100644 --- a/cmake/cpack/deploy_mac.cmake.in +++ b/cmake/cpack/deploy_mac.cmake.in @@ -52,7 +52,7 @@ execute_process ( COMMAND echo "signature checked" ) # Run macdeployqt which should copy all libraries and frameworks and Qt plugins and qml message ("Running macdeployqt in ${CPACK_TEMPORARY_INSTALL_DIRECTORY}") -execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -no-strip -always-overwrite -verbose=1 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/ ) +execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -always-overwrite -verbose=1 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/ ) execute_process ( COMMAND echo "checking signature post" ) execute_process ( COMMAND codesign -vv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) diff --git a/launch.vs.json b/launch.vs.json new file mode 100644 index 000000000..9109ef060 --- /dev/null +++ b/launch.vs.json @@ -0,0 +1,20 @@ +{ + "version": "0.2.1", + "defaults": {}, + "configurations": [ + { + "type": "default", + "project": "CMakeLists.txt", + "projectTarget": "sdrangel.exe (bin\\sdrangel.exe)", + "name": "sdrangel.exe (bin\\sdrangel.exe)", + //"args": [ "--remote-tcp", "--remote-tcp-hwtype", "RTLSDR", "--remote-tcp-port", "4321", "--remote-tcp-address", "127.0.0.1" ] + }, + { + "type": "default", + "project": "CMakeLists.txt", + "projectTarget": "sdrangelsrv.exe (bin\\sdrangelsrv.exe)", + "name": "sdrangelsrv.exe (bin\\sdrangelsrv.exe)", + "args": [ "--remote-tcp", "--remote-tcp-hwtype", "RTLSDR" ] + } + ] +} \ No newline at end of file From 28da198f5bc8876abff40622b9bd02c8b59ff213 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 31 Oct 2025 15:37:02 +0000 Subject: [PATCH 21/21] Remove debug and files that shouldn't have been comitted. --- CMakePresets.json | 16 +++------------- cmake/cpack/deploy_mac.cmake.in | 22 +--------------------- launch.vs.json | 20 -------------------- 3 files changed, 4 insertions(+), 54 deletions(-) delete mode 100644 launch.vs.json diff --git a/CMakePresets.json b/CMakePresets.json index 9854e2c67..cb453a905 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -44,11 +44,8 @@ "name": "default-windows", "binaryDir": "${sourceDir}/build", "cacheVariables": { - //"CMAKE_BUILD_TYPE": "Release", "CMAKE_BUILD_TYPE": "RelWithDebInfo", - //"CMAKE_BUILD_TYPE": "Debug", "DEBUG_OUTPUT": "ON", - "SANITIZE_ADDRESS": "OFF", "RX_SAMPLE_24BIT": "ON", "ARCH_OPT": "SSE4_2", "HIDE_CONSOLE": "OFF", @@ -58,11 +55,11 @@ "ENABLE_HACKRF": "ON", "ENABLE_IIO": "ON", "ENABLE_MIRISDR": "OFF", - "ENABLE_PERSEUS": "OFF", + "ENABLE_PERSEUS": "ON", "ENABLE_RTLSDR": "ON", "ENABLE_SDRPLAY": "ON", "ENABLE_SOAPYSDR": "ON", - "ENABLE_XTRX": "OFF", + "ENABLE_XTRX": "ON", "ENABLE_USRP": "ON", "BUILD_SERVER": "OFF", "CMAKE_PREFIX_PATH": "C:/Qt/5.15.2/msvc2019_64;C:/Applications/boost_1_81_0" @@ -90,14 +87,7 @@ "binaryDir": "${sourceDir}/build-qt6", "cacheVariables": { "ENABLE_QT6": "ON", - "CMAKE_PREFIX_PATH": "C:/Qt/6.7.3/msvc2022_64;C:/Applications/boost_1_81_0", - "CMAKE_BUILD_TYPE": "Release" - //"CMAKE_BUILD_TYPE": "RelWithDebInfo", - //"CMAKE_BUILD_TYPE": "Debug" - //"BUILD_SERVER": "ON", - //"RX_SAMPLE_24BIT": "OFF", - //"ENABLE_CHANNELMIMO_DOA2": "OFF", - //"ENABLE_CHANNELMIMO_INTERFEROMETER": "OFF" + "CMAKE_PREFIX_PATH": "C:/Qt/6.7.3/msvc2022_64;C:/Applications/boost_1_81_0" } } ], diff --git a/cmake/cpack/deploy_mac.cmake.in b/cmake/cpack/deploy_mac.cmake.in index b383095c9..6ef9054f6 100644 --- a/cmake/cpack/deploy_mac.cmake.in +++ b/cmake/cpack/deploy_mac.cmake.in @@ -25,13 +25,6 @@ foreach(RPATH_DIR ${EXTERNAL_LIB_DIRS}) execute_process(COMMAND /usr/bin/install_name_tool -add_rpath ${RPATH_DIR} ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/MacOS/SDRangel) endforeach() - -execute_process ( COMMAND echo "EXTERNAL_LIB_DIRS ${EXTERNAL_LIB_DIRS}" ) -execute_process ( COMMAND echo "checking signature pre rpath" ) -execute_process ( COMMAND codesign -vv /Users/runner/work/sdrangel/sdrangel/build/external/libusb/lib/libusb-1.0.dylib ) -execute_process ( COMMAND md5sum /Users/runner/work/sdrangel/sdrangel/build/external/libusb/lib/libusb-1.0.dylib ) -execute_process ( COMMAND echo "signature checked" ) - # Add RPATH to libraries in build directory foreach(RPATH_DIR_1 ${EXTERNAL_LIB_DIRS}) file(GLOB LIBS_TO_FIX ${RPATH_DIR_1}/*.dylib) @@ -44,23 +37,10 @@ foreach(RPATH_DIR_1 ${EXTERNAL_LIB_DIRS}) endforeach() endforeach() -execute_process ( COMMAND echo "checking signature pre deploy" ) -execute_process ( COMMAND codesign -vv /Users/runner/work/sdrangel/sdrangel/build/external/libusb/lib/libusb-1.0.dylib ) -execute_process ( COMMAND md5sum /Users/runner/work/sdrangel/sdrangel/build/external/libusb/lib/libusb-1.0.dylib ) -execute_process ( COMMAND echo "signature checked" ) - - # Run macdeployqt which should copy all libraries and frameworks and Qt plugins and qml message ("Running macdeployqt in ${CPACK_TEMPORARY_INSTALL_DIRECTORY}") execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -always-overwrite -verbose=1 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/ ) -execute_process ( COMMAND echo "checking signature post" ) -execute_process ( COMMAND codesign -vv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) -execute_process ( COMMAND md5sum ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) -execute_process ( COMMAND echo "signature checked" ) - +# macdeployqt corrupts libusb signature, so resign it. See: https://github.com/f4exb/sdrangel/issues/2524 execute_process ( COMMAND echo "resigning" ) execute_process ( COMMAND codesign --force --sign - ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) -execute_process ( COMMAND codesign -vv ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) -execute_process ( COMMAND md5sum ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/Frameworks/libusb-1.0.0.dylib ) -execute_process ( COMMAND echo "resigned" ) diff --git a/launch.vs.json b/launch.vs.json deleted file mode 100644 index 9109ef060..000000000 --- a/launch.vs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "version": "0.2.1", - "defaults": {}, - "configurations": [ - { - "type": "default", - "project": "CMakeLists.txt", - "projectTarget": "sdrangel.exe (bin\\sdrangel.exe)", - "name": "sdrangel.exe (bin\\sdrangel.exe)", - //"args": [ "--remote-tcp", "--remote-tcp-hwtype", "RTLSDR", "--remote-tcp-port", "4321", "--remote-tcp-address", "127.0.0.1" ] - }, - { - "type": "default", - "project": "CMakeLists.txt", - "projectTarget": "sdrangelsrv.exe (bin\\sdrangelsrv.exe)", - "name": "sdrangelsrv.exe (bin\\sdrangelsrv.exe)", - "args": [ "--remote-tcp", "--remote-tcp-hwtype", "RTLSDR" ] - } - ] -} \ No newline at end of file