From 8e7c5681b9f96504ed4d621c16b415521233a248 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Tue, 17 May 2022 06:11:10 -0700 Subject: [PATCH] Add external library dependencies to sdrbase, so they are compiled first --- external/CMakeLists.txt | 29 ++++++++++++++++++----------- sdrbase/CMakeLists.txt | 8 ++++++++ 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 1f13a0067..e03147dce 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -203,7 +203,7 @@ if (NOT LIBUSB_FOUND OR LIBUSB_EXTERNAL) TEST_COMMAND "" ) ExternalProject_Get_Property(libusb install_dir) - set(LIBUSB_DEPENDS libusb) + set(LIBUSB_DEPENDS libusb CACHE INTERNAL "") set(LIBUSB_FOUND ON CACHE INTERNAL "") set(LIBUSB_EXTERNAL ON CACHE INTERNAL "") set(LIBUSB_INCLUDE_DIR "${install_dir}/include/libusb-1.0" CACHE INTERNAL "") @@ -226,7 +226,7 @@ if (NOT OPUS_FOUND OR OPUS_EXTERNAL) TEST_COMMAND "" ) ExternalProject_Get_Property(opus install_dir) - set(OPUS_DEPENDS opus) + set(OPUS_DEPENDS opus CACHE INTERNAL "") set(OPUS_FOUND ON CACHE INTERNAL "") set(OPUS_EXTERNAL ON CACHE INTERNAL "") set(OPUS_INCLUDE_DIRS "${install_dir}/include" CACHE INTERNAL "") @@ -249,7 +249,7 @@ if (NOT ZLIB_FOUND OR ZLIB_EXTERNAL) TEST_COMMAND "" ) ExternalProject_Get_Property(zlib install_dir) - set(ZLIB_DEPENDS zlib) + set(ZLIB_DEPENDS zlib CACHE INTERNAL "") set(ZLIB_FOUND ON CACHE INTERNAL "") set(ZLIB_EXTERNAL ON CACHE INTERNAL "") set(ZLIB_INCLUDE_DIRS "${install_dir}/include" CACHE INTERNAL "") @@ -271,7 +271,7 @@ if (NOT FAAD_FOUND OR FAAD_EXTERNAL) TEST_COMMAND "" ) ExternalProject_Get_Property(faad source_dir binary_dir install_dir) - set(FAAD_DEPENDS faad) + set(FAAD_DEPENDS faad CACHE INTERNAL "") set(FAAD_FOUND ON CACHE INTERNAL "") set(FAAD_EXTERNAL ON CACHE INTERNAL "") set(FAAD_INCLUDE_DIR "${install_dir}/include" CACHE INTERNAL "") @@ -295,6 +295,7 @@ if (NOT FFTW3F_FOUND OR FFTW3F_EXTERNAL) TEST_COMMAND "" ) ExternalProject_Get_Property(fftw3f source_dir binary_dir) + set(FFTW3F_DEPENDS fftw3f CACHE INTERNAL "") set(FFTW3F_FOUND ON CACHE INTERNAL "") set(FFTW3F_EXTERNAL ON CACHE INTERNAL "") set(FFTW3F_INCLUDE_DIRS "${source_dir}/api" "${binary_dir}" CACHE INTERNAL "") @@ -378,7 +379,7 @@ if (NOT FFMEG_FOUND OR FFMPEG_EXTERNAL) TEST_COMMAND "" ) ExternalProject_Get_Property(x264 install_dir) - set(X264_DEPENDS x264) + set(X264_DEPENDS x264 CACHE INTERNAL "") set(X264_PKG_CONFIG_DIR "${install_dir}/lib/pkgconfig") set(X264_FOUND ON CACHE INTERNAL "") set(X264_EXTERNAL ON CACHE INTERNAL "") @@ -396,7 +397,7 @@ if (NOT FFMEG_FOUND OR FFMPEG_EXTERNAL) TEST_COMMAND "" ) ExternalProject_Get_Property(x265 install_dir) - set(X265_DEPENDS x265) + set(X265_DEPENDS x265 CACHE INTERNAL "") set(X265_PKG_CONFIG_DIR "${install_dir}/lib/pkgconfig") set(X265_FOUND ON CACHE INTERNAL "") set(X265_EXTERNAL ON CACHE INTERNAL "") @@ -413,7 +414,7 @@ if (NOT FFMEG_FOUND OR FFMPEG_EXTERNAL) TEST_COMMAND "" ) ExternalProject_Get_Property(fdk_aac install_dir) - set(FDK_AAC_DEPENDS fdk_aac) + set(FDK_AAC_DEPENDS fdk_aac CACHE INTERNAL "") set(FDK_AAC_PKG_CONFIG_DIR "${install_dir}/lib/pkgconfig") set(FDK_AAC_FOUND ON CACHE INTERNAL "") set(FDK_AAC_EXTERNAL ON CACHE INTERNAL "") @@ -432,7 +433,7 @@ if (NOT FFMEG_FOUND OR FFMPEG_EXTERNAL) TEST_COMMAND "" ) ExternalProject_Get_Property(mpg123 install_dir) - set(MPG123_DEPENDS mpg123) + set(MPG123_DEPENDS mpg123 CACHE INTERNAL "") set(MPG123_PKG_CONFIG_DIR "${install_dir}/lib/pkgconfig") set(MPG123_FOUND ON CACHE INTERNAL "") set(MPG123_EXTERNAL ON CACHE INTERNAL "") @@ -443,7 +444,7 @@ if (NOT FFMEG_FOUND OR FFMPEG_EXTERNAL) if (NOT LAME_FOUND OR LAME_EXTERNAL) ExternalProject_Add(lame - SVN_REPOSITORY https://svn.code.sf.net/p/lame/svn/trunk/lame + SVN_REPOSITORY http://svn.code.sf.net/p/lame/svn/trunk/lame UPDATE_DISCONNECTED TRUE DEPENDS ${MPG123_DEPENDS} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/lame" @@ -452,7 +453,7 @@ if (NOT FFMEG_FOUND OR FFMPEG_EXTERNAL) TEST_COMMAND "" ) ExternalProject_Get_Property(lame install_dir) - set(LAME_DEPENDS lame) + set(LAME_DEPENDS lame CACHE INTERNAL "") # 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") @@ -476,7 +477,7 @@ if (NOT FFMEG_FOUND OR FFMPEG_EXTERNAL) TEST_COMMAND "" ) ExternalProject_Get_Property(ffmpeg install_dir) - set(FFMPEG_DEPENDS ffmpeg) + set(FFMPEG_DEPENDS ffmpeg CACHE INTERNAL "") set(FFMPEG_INSTALL_DIR "${install_dir}") set(FFMPEG_FOUND ON CACHE INTERNAL "") set(FFMPEG_EXTERNAL ON CACHE INTERNAL "") @@ -508,6 +509,7 @@ if (NOT OpenCV_FOUND OR OpenCV_EXTERNAL) TEST_COMMAND "" ) ExternalProject_Get_Property(opencv source_dir binary_dir) + set(OpenCV_DEPENDS opencv CACHE INTERNAL "") set(OpenCV_FOUND ON CACHE INTERNAL "") set(OpenCV_EXTERNAL ON CACHE INTERNAL "") set(OpenCV_INCLUDE_DIRS @@ -562,6 +564,7 @@ if (NOT WIN32 AND (NOT CODEC2_FOUND OR CODEC2_EXTERNAL)) TEST_COMMAND "" ) ExternalProject_Get_Property(codec2 source_dir binary_dir) + set(CODEC2_DEPENDS codec2 CACHE INTERNAL "") set(CODEC2_FOUND ON CACHE INTERNAL "") set(CODEC2_EXTERNAL ON CACHE INTERNAL "") set(CODEC2_INCLUDE_DIR "${source_dir}/src" "${binary_dir}" CACHE INTERNAL "") @@ -602,6 +605,7 @@ if (NOT CM256CC_FOUND OR CM256CC_EXTERNAL) TEST_COMMAND "" ) ExternalProject_Get_Property(cm256cc source_dir binary_dir) + set(CM256CC_DEPENDS cm256cc CACHE INTERNAL "") set(CM256CC_FOUND ON CACHE INTERNAL "") set(CM256CC_EXTERNAL ON CACHE INTERNAL "") # we need cm256cc/library.h @@ -738,6 +742,7 @@ ExternalProject_Add(apt TEST_COMMAND "" ) ExternalProject_Get_Property(apt source_dir binary_dir) +set(APT_DEPENDS apt CACHE INTERNAL "") set(APT_FOUND ON CACHE INTERNAL "") set(APT_EXTERNAL ON CACHE INTERNAL "") set(APT_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/apt/src/apt/src" CACHE INTERNAL "") @@ -768,6 +773,7 @@ ExternalProject_Add(sgp4 TEST_COMMAND "" ) ExternalProject_Get_Property(sgp4 source_dir binary_dir) +set(SGP4_DEPENDS sgp4 CACHE INTERNAL "") set(SGP4_FOUND ON CACHE INTERNAL "") set(SGP4_EXTERNAL ON CACHE INTERNAL "") set(SGP4_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/sgp4/src/sgp4/libsgp4" CACHE INTERNAL "") @@ -852,6 +858,7 @@ if (ZLIB_FOUND AND FAAD_FOUND) ) endif(WIN32) ExternalProject_Get_Property(dab source_dir binary_dir) + set(DAB_DEPENDS dab CACHE INTERNAL "") set(DAB_FOUND ON CACHE INTERNAL "") set(DAB_EXTERNAL ON CACHE INTERNAL "") set(DAB_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/dab/src/dab" CACHE INTERNAL "") diff --git a/sdrbase/CMakeLists.txt b/sdrbase/CMakeLists.txt index c8be0d4b8..ceee21356 100644 --- a/sdrbase/CMakeLists.txt +++ b/sdrbase/CMakeLists.txt @@ -475,6 +475,14 @@ if(LIBSERIALDV_EXTERNAL) add_dependencies(sdrbase serialdv) endif() +if(DEFINED FFTW3F_DEPENDS) + add_dependencies(sdrbase "${FFTW3F_DEPENDS}") +endif() + +if(DEFINED OPUS_DEPENDS) + add_dependencies(sdrbase "${OPUS_DEPENDS}") +endif() + target_link_libraries(sdrbase ${OPUS_LIBRARIES} ${sdrbase_FFTW3F_LIB}