From c9db48c7544cba130a028459621657a2522abd46 Mon Sep 17 00:00:00 2001 From: srcejon Date: Fri, 1 Dec 2023 12:03:37 +0000 Subject: [PATCH] Use sourceforge for Boost as faster to download. Use Boost 1.78.0 on Intel Mac, as 1.83 causes UHD to fail to load at runtime. Fix Lame link on Mac arm64 --- external/CMakeLists.txt | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 77a3b482b..78351eeec 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -31,6 +31,15 @@ set(SOAPYSDR_REMOTE_TAG "soapy-remote-0.5.1") set(AIRSPY_TAG "37c768ce9997b32e7328eb48972a7fda0a1f8554") set(HACKRF_TAG "v2022.09.1") set(LIBXML2_TAG "v2.10.4") +set(UHD_TAG "v4.5.0.0") +if (APPLE AND (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL x86_64)) + # UHD fails to load with 1.80+ + set(BOOST_TAG "1.78.0") + set(BOOST_TAG2 "1_78_0") +else() + set(BOOST_TAG "1.83.0") + set(BOOST_TAG2 "1_83_0") +endif() # For some external project macros include(ExternalProject) @@ -340,7 +349,7 @@ endif (NOT FFTW3F_FOUND AND NOT USE_PRECOMPILED_LIBS) # So instead, we use FetchContent and build Boost at CMake configure time include(FetchContent) FetchContent_Declare(boost - URL https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.gz + URL "https://sourceforge.net/projects/boost/files/boost/${BOOST_TAG}/boost_${BOOST_TAG2}.tar.gz/download" ) find_package(Boost QUIET) @@ -483,7 +492,11 @@ if (NOT FFMPEG_FOUND AND NOT USE_PRECOMPILED_LIBS) # ffmpeg doesn't try to use pkg-config for lame, as it doesn't include a .pc file #set(LAME_PKG_CONFIG_DIR "${install_dir}/lib/pkgconfig") set(LAME_EXTRA_CFLAGS "-I${install_dir}/include") - set(LAME_EXTRA_LDFLAGS "-L${install_dir}/lib") + if (APPLE AND (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL arm64)) + set(LAME_EXTRA_LDFLAGS "-L${install_dir}/lib -Wl,-ld_classic") + else() + set(LAME_EXTRA_LDFLAGS "-L${install_dir}/lib") + endif() set_global_cache(LAME_FOUND ON) set(LAME_EXTERNAL ON CACHE INTERNAL "") if (APPLE) @@ -1491,7 +1504,7 @@ if (WIN32 OR APPLE) endif () ExternalProject_Add(uhd GIT_REPOSITORY https://github.com/EttusResearch/uhd.git - GIT_TAG v4.5.0.0 + GIT_TAG ${UHD_TAG} DEPENDS ${LIBUSB_DEPENDS} ${Boost_DEPENDS} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/uhd" SOURCE_SUBDIR "host"