1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-12-23 01:55:48 -05:00

Merge pull request #1750 from srcejon/fix_1740

Move find_package in external/CMakeLists.txt to CMakeLists.txt
This commit is contained in:
Edouard Griffiths 2023-07-31 14:17:59 +02:00 committed by GitHub
commit e7b0921c50
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 308 additions and 202 deletions

View File

@ -198,10 +198,6 @@ if(NOT DEBUG_OUTPUT)
add_definitions("-DQT_NO_DEBUG_OUTPUT")
endif()
if(ENABLE_EXTERNAL_LIBRARIES STREQUAL "AUTO")
set(AUTO_EXTERNAL_LIBRARIES ON CACHE INTERNAL "")
endif()
# declare build structures
# !! change sdrbase/plugins/pluginmanager.cpp too !!
add_definitions("-DLIB=\"lib${LIB_SUFFIX}\"")
@ -713,11 +709,11 @@ if(WIN32)
)
endif()
# When ENABLE_EXTERNAL_LIBRARIES is ON, we can build most of the required 3rd party libraries from source
if(ENABLE_EXTERNAL_LIBRARIES)
add_subdirectory(external)
find_package(Boost REQUIRED)
else()
# When ENABLE_EXTERNAL_LIBRARIES is ON, we build most of the required 3rd party libraries from source
# When ENABLE_EXTERNAL_LIBRARIES is AUTO, we only build 3rd party libraries that aren't already available
# When ENABLE_EXTERNAL_LIBRARIES is OFF, we only use prebuilt libraries
if (NOT ENABLE_EXTERNAL_LIBRARIES OR (ENABLE_EXTERNAL_LIBRARIES STREQUAL "AUTO"))
find_package(Boost REQUIRED)
find_package(FFTW3F REQUIRED)
if(NOT ANDROID)
@ -736,56 +732,61 @@ else()
find_package(AptDec)
find_package(LibDAB)
find_package(HIDAPI)
# Devices
if(ENABLE_AIRSPY)
find_package(LibAIRSPY)
endif()
if(ENABLE_AIRSPYHF)
find_package(LibAIRSPYHF)
endif()
if(ENABLE_BLADERF)
find_package(LibBLADERF 2.0)
endif()
if(ENABLE_HACKRF)
find_package(LibHACKRF)
endif()
if(ENABLE_LIMESUITE)
find_package(LimeSuite)
if (LIMESUITE_FOUND)
add_definitions(-DHAS_LIMERFEUSB)
endif()
endif()
if(ENABLE_IIO) # PlutoSDR
find_package(LibIIO)
endif()
if(ENABLE_MIRISDR)
find_package(LibMiriSDR)
endif()
if(ENABLE_PERSEUS)
find_package(LibPerseus)
endif()
if(ENABLE_RTLSDR)
find_package(LibRTLSDR)
endif()
if(ENABLE_SDRPLAY)
find_package(SDRplay)
endif()
if(ENABLE_SOAPYSDR)
find_package(SoapySDR)
endif()
if(ENABLE_XTRX)
find_package(LibXTRX)
endif()
if(ENABLE_USRP)
find_package(UHD)
endif()
endif()
if(ENABLE_EXTERNAL_LIBRARIES)
add_subdirectory(external)
find_package(Boost REQUIRED)
endif()
if (LIBSIGMF_FOUND AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
add_definitions(-DHAS_LIBSIGMF)
endif()
# Devices
if(ENABLE_AIRSPY)
find_package(LibAIRSPY)
endif()
if(ENABLE_AIRSPYHF)
find_package(LibAIRSPYHF)
endif()
if(ENABLE_BLADERF)
find_package(LibBLADERF 2.0)
endif()
if(ENABLE_HACKRF)
find_package(LibHACKRF)
endif()
if(ENABLE_LIMESUITE)
find_package(LimeSuite)
if (LIMESUITE_FOUND)
add_definitions(-DHAS_LIMERFEUSB)
endif()
endif()
if(ENABLE_IIO) # PlutoSDR
find_package(LibIIO)
endif()
if(ENABLE_MIRISDR)
find_package(LibMiriSDR)
endif()
if(ENABLE_PERSEUS)
find_package(LibPerseus)
endif()
if(ENABLE_RTLSDR)
find_package(LibRTLSDR)
endif()
if(ENABLE_SDRPLAY)
find_package(SDRplay)
endif()
if(ENABLE_SOAPYSDR)
find_package(SoapySDR)
endif()
if(ENABLE_XTRX)
find_package(LibXTRX)
endif()
if(ENABLE_USRP)
find_package(UHD)
endif()
if(ENABLE_FUNCUBE AND LIBUSB_FOUND AND HIDAPI_FOUND)
add_subdirectory(fcdlib)
add_subdirectory(fcdhid)

View File

@ -6,7 +6,7 @@ cd $HOME
mkdir -p external && cd external
mkdir -p drowe67 && cd drowe67
git clone https://github.com/drowe67/codec2-dev.git
git clone https://github.com/drowe67/codec2-dev.git codec2
cd codec2
git reset --hard "v1.0.3"

View File

@ -19,6 +19,7 @@ set(LIBIIO_TAG 826563e41b5ce9890b75506f672017de8d76d52d)
set(AIRSPYHF_TAG "1af81c0ca18944b8c9897c3c98dc0a991815b686")
set(PERSEUS_TAG afefa23e3140ac79d845acb68cf0beeb86d09028)
set(MIRISDR_TAG "v2.0.0")
set(LIBSIGMF_TAG "new-namespaces")
set(PTHREADS4W_TAG "Version-2-11-0-release")
set(RTLSDR_TAG 5e73f90f1d85d8db2e583f3dbf1cff052d71d59b)
@ -171,30 +172,6 @@ endif (WIN32)
set(MACOS_EXTERNAL_LIBS_FIXUP "${CMAKE_BINARY_DIR}/${INSTALL_LIB_DIR}")
if (AUTO_EXTERNAL_LIBRARIES)
find_package(Codec2)
find_package(CM256cc)
find_package(LibMbe)
find_package(SerialDV)
find_package(LibDSDcc)
find_package(LimeSuite)
find_package(LibBLADERF)
find_package(LibMiriSDR)
find_package(LibIIO)
find_package(LibAIRSPYHF)
find_package(LibPerseus)
find_package(LibRTLSDR)
find_package(LibUSB)
find_package(Opus)
find_package(Boost)
find_package(ZLIB)
find_package(UHD)
find_package(FFmpeg COMPONENTS AVCODEC AVFORMAT AVUTIL SWSCALE)
find_package(FAAD)
find_package(FFTW3F)
find_package(OpenCV OPTIONAL_COMPONENTS core highgui imgproc imgcodecs videoio)
endif (AUTO_EXTERNAL_LIBRARIES)
# While some of the following projects are not installed (to save time & space), some have to
# be so that on MacOS, the paths embedded in the libraries to other libraries are correct (as they are set to
# install path, not build). This is required for macdeployqt to be able to find them
@ -216,6 +193,13 @@ macro(set_global NAME VALUE)
set(${NAME} ${VALUE} PARENT_SCOPE)
endmacro()
# Setting a cache variable doesn't update the variable in parent scope if already set,
# so we need to set the cache and parent_scope separately
macro(set_global_cache NAME VALUE)
set(${NAME} ${VALUE} CACHE INTERNAL "")
set(${NAME} ${VALUE} PARENT_SCOPE)
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
@ -227,7 +211,7 @@ if (NOT LIBUSB_FOUND AND NOT USE_PRECOMPILED_LIBS)
)
ExternalProject_Get_Property(libusb install_dir)
set_global(LIBUSB_DEPENDS libusb)
set(LIBUSB_FOUND ON CACHE INTERNAL "")
set_global_cache(LIBUSB_FOUND ON)
set(LIBUSB_EXTERNAL ON CACHE INTERNAL "")
set(LIBUSB_INCLUDE_DIR "${install_dir}/include/libusb-1.0" CACHE INTERNAL "")
if (WIN32)
@ -240,7 +224,7 @@ if (NOT LIBUSB_FOUND AND NOT USE_PRECOMPILED_LIBS)
endif ()
endif (NOT LIBUSB_FOUND AND NOT USE_PRECOMPILED_LIBS)
if (NOT HIDAPI_FOUND AND NOT USE_PRECOMPILED_LIBS)
if (NOT HIDAPI_FOUND AND NOT USE_PRECOMPILED_LIBS AND ENABLE_FUNCUBE)
ExternalProject_Add(hidapi
GIT_REPOSITORY https://github.com/libusb/hidapi.git
PREFIX "${EXTERNAL_BUILD_LIBRARIES}/hidapi"
@ -249,7 +233,7 @@ if (NOT HIDAPI_FOUND AND NOT USE_PRECOMPILED_LIBS)
)
ExternalProject_Get_Property(hidapi install_dir)
set_global(HIDAPI_DEPENDS hidapi)
set(HIDAPI_FOUND ON CACHE INTERNAL "")
set_global_cache(HIDAPI_FOUND ON)
set(HIDAPI_EXTERNAL ON CACHE INTERNAL "")
set(HIDAPI_ROOT_DIR "${install_dir}" CACHE INTERNAL "")
set(HIDAPI_INCLUDE_DIRS "${install_dir}/include/hidapi" CACHE INTERNAL "")
@ -257,7 +241,7 @@ if (NOT HIDAPI_FOUND AND NOT USE_PRECOMPILED_LIBS)
set(HIDAPI_LIBRARIES "${install_dir}/lib/libhidapi${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${install_dir}/lib")
endif ()
endif (NOT HIDAPI_FOUND AND NOT USE_PRECOMPILED_LIBS)
endif ()
if (NOT OPUS_FOUND AND NOT USE_PRECOMPILED_LIBS)
ExternalProject_Add(opus
@ -269,7 +253,7 @@ if (NOT OPUS_FOUND AND NOT USE_PRECOMPILED_LIBS)
)
ExternalProject_Get_Property(opus install_dir)
set_global(OPUS_DEPENDS opus)
set(OPUS_FOUND ON CACHE INTERNAL "")
set_global_cache(OPUS_FOUND ON)
set(OPUS_EXTERNAL ON CACHE INTERNAL "")
set(OPUS_INCLUDE_DIRS "${install_dir}/include" CACHE INTERNAL "")
set(OPUS_PKG_CONFIG_DIR "${install_dir}/lib/pkgconfig" CACHE INTERNAL "")
@ -292,7 +276,7 @@ if (NOT ZLIB_FOUND AND NOT USE_PRECOMPILED_LIBS)
)
ExternalProject_Get_Property(zlib install_dir)
set_global(ZLIB_DEPENDS zlib)
set(ZLIB_FOUND ON CACHE INTERNAL "")
set_global_cache(ZLIB_FOUND ON)
set(ZLIB_EXTERNAL ON CACHE INTERNAL "")
set(ZLIB_INCLUDE_DIRS "${install_dir}/include" CACHE INTERNAL "")
if (WIN32)
@ -314,7 +298,7 @@ if (NOT FAAD_FOUND AND NOT USE_PRECOMPILED_LIBS)
)
ExternalProject_Get_Property(faad source_dir binary_dir install_dir)
set_global(FAAD_DEPENDS faad)
set(FAAD_FOUND ON CACHE INTERNAL "")
set_global_cache(FAAD_FOUND ON)
set(FAAD_EXTERNAL ON CACHE INTERNAL "")
set(FAAD_INCLUDE_DIR "${install_dir}/include" CACHE INTERNAL "")
if (WIN32)
@ -338,7 +322,7 @@ if (NOT FFTW3F_FOUND AND NOT USE_PRECOMPILED_LIBS)
)
ExternalProject_Get_Property(fftw3f source_dir binary_dir)
set_global(FFTW3F_DEPENDS fftw3f)
set(FFTW3F_FOUND ON CACHE INTERNAL "")
set_global_cache(FFTW3F_FOUND ON)
set(FFTW3F_EXTERNAL ON CACHE INTERNAL "")
set(FFTW3F_INCLUDE_DIRS "${source_dir}/api" "${binary_dir}" CACHE INTERNAL "")
if (WIN32)
@ -422,7 +406,7 @@ if (NOT FFMPEG_FOUND AND NOT USE_PRECOMPILED_LIBS)
ExternalProject_Get_Property(x264 install_dir)
set_global(X264_DEPENDS x264)
set(X264_PKG_CONFIG_DIR "${install_dir}/lib/pkgconfig")
set(X264_FOUND ON CACHE INTERNAL "")
set_global_cache(X264_FOUND ON)
set(X264_EXTERNAL ON CACHE INTERNAL "")
if (APPLE)
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${install_dir}/lib")
@ -440,7 +424,7 @@ if (NOT FFMPEG_FOUND AND NOT USE_PRECOMPILED_LIBS)
ExternalProject_Get_Property(x265 install_dir)
set_global(X265_DEPENDS x265)
set(X265_PKG_CONFIG_DIR "${install_dir}/lib/pkgconfig")
set(X265_FOUND ON CACHE INTERNAL "")
set_global_cache(X265_FOUND ON)
set(X265_EXTERNAL ON CACHE INTERNAL "")
if (APPLE)
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${install_dir}/lib")
@ -457,7 +441,7 @@ if (NOT FFMPEG_FOUND AND NOT USE_PRECOMPILED_LIBS)
ExternalProject_Get_Property(fdk_aac install_dir)
set_global(FDK_AAC_DEPENDS fdk_aac)
set(FDK_AAC_PKG_CONFIG_DIR "${install_dir}/lib/pkgconfig")
set(FDK_AAC_FOUND ON CACHE INTERNAL "")
set_global_cache(FDK_AAC_FOUND ON)
set(FDK_AAC_EXTERNAL ON CACHE INTERNAL "")
if (APPLE)
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${install_dir}/lib")
@ -476,7 +460,7 @@ if (NOT FFMPEG_FOUND AND NOT USE_PRECOMPILED_LIBS)
ExternalProject_Get_Property(mpg123 install_dir)
set_global(MPG123_DEPENDS mpg123)
set(MPG123_PKG_CONFIG_DIR "${install_dir}/lib/pkgconfig")
set(MPG123_FOUND ON CACHE INTERNAL "")
set_global_cache(MPG123_FOUND ON)
set(MPG123_EXTERNAL ON CACHE INTERNAL "")
if (APPLE)
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${install_dir}/lib")
@ -499,7 +483,7 @@ if (NOT FFMPEG_FOUND AND NOT USE_PRECOMPILED_LIBS)
#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")
set(LAME_FOUND ON CACHE INTERNAL "")
set_global_cache(LAME_FOUND ON)
set(LAME_EXTERNAL ON CACHE INTERNAL "")
if (APPLE)
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${install_dir}/lib")
@ -520,7 +504,7 @@ if (NOT FFMPEG_FOUND AND NOT USE_PRECOMPILED_LIBS)
ExternalProject_Get_Property(ffmpeg install_dir)
set_global(FFMPEG_DEPENDS ffmpeg)
set(FFMPEG_INSTALL_DIR "${install_dir}")
set(FFMPEG_FOUND ON CACHE INTERNAL "")
set_global_cache(FFMPEG_FOUND ON)
set(FFMPEG_EXTERNAL ON CACHE INTERNAL "")
set(FFMPEG_INCLUDE_DIRS "${install_dir}/include" CACHE INTERNAL "")
set(AVCODEC_INCLUDE_DIRS "${install_dir}/include" CACHE INTERNAL "")
@ -539,7 +523,8 @@ if (NOT FFMPEG_FOUND AND NOT USE_PRECOMPILED_LIBS)
endif (NOT FFMPEG_FOUND AND NOT USE_PRECOMPILED_LIBS)
if (NOT OpenCV_FOUND AND NOT USE_PRECOMPILED_LIBS)
# OpenCV only used by Mod ATV curently
if (NOT OpenCV_FOUND AND NOT USE_PRECOMPILED_LIBS AND ENABLE_CHANNELTX_MODATV)
ExternalProject_Add(opencv
GIT_REPOSITORY https://github.com/opencv/opencv.git
GIT_TAG 4.5.5
@ -551,7 +536,7 @@ if (NOT OpenCV_FOUND AND NOT USE_PRECOMPILED_LIBS)
)
ExternalProject_Get_Property(opencv source_dir binary_dir)
set_global(OpenCV_DEPENDS opencv)
set(OpenCV_FOUND ON CACHE INTERNAL "")
set_global_cache(OpenCV_FOUND ON)
set(OpenCV_EXTERNAL ON CACHE INTERNAL "")
set(OpenCV_INCLUDE_DIRS
"${source_dir}/modules/calib3d/include"
@ -586,7 +571,7 @@ if (NOT OpenCV_FOUND AND NOT USE_PRECOMPILED_LIBS)
set(OpenCV_LIBS "${binary_dir}/lib/libopencv_core${CMAKE_SHARED_LIBRARY_SUFFIX};${binary_dir}/lib/libopencv_core${CMAKE_SHARED_LIBRARY_SUFFIX};${binary_dir}/lib/libopencv_highgui${CMAKE_SHARED_LIBRARY_SUFFIX};${binary_dir}/lib/libopencv_video${CMAKE_SHARED_LIBRARY_SUFFIX};${binary_dir}/lib/libopencv_videoio${CMAKE_SHARED_LIBRARY_SUFFIX};${binary_dir}/lib/libopencv_imgproc${CMAKE_SHARED_LIBRARY_SUFFIX};${binary_dir}/lib/libopencv_imgcodecs${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${binary_dir}/lib")
endif ()
endif (NOT OpenCV_FOUND AND NOT USE_PRECOMPILED_LIBS)
endif (NOT OpenCV_FOUND AND NOT USE_PRECOMPILED_LIBS AND ENABLE_CHANNELTX_MODATV)
if ((NOT CODEC2_FOUND OR CODEC2_EXTERNAL) AND NOT USE_PRECOMPILED_LIBS)
# needs speexdsp
@ -608,7 +593,7 @@ if ((NOT CODEC2_FOUND OR CODEC2_EXTERNAL) AND NOT USE_PRECOMPILED_LIBS)
)
ExternalProject_Get_Property(codec2 source_dir binary_dir)
set_global(CODEC2_DEPENDS codec2)
set(CODEC2_FOUND ON CACHE INTERNAL "")
set_global_cache(CODEC2_FOUND ON)
set(CODEC2_EXTERNAL ON CACHE INTERNAL "")
set(CODEC2_INCLUDE_DIR "${source_dir}/src" "${binary_dir}" CACHE INTERNAL "")
if (WIN32)
@ -649,7 +634,7 @@ if (NOT CM256CC_FOUND OR CM256CC_EXTERNAL)
)
ExternalProject_Get_Property(cm256cc source_dir binary_dir)
set_global(CM256CC_DEPENDS cm256cc)
set(CM256CC_FOUND ON CACHE INTERNAL "")
set_global_cache(CM256CC_FOUND ON)
set(CM256CC_EXTERNAL ON CACHE INTERNAL "")
# we need cm256cc/library.h
set(CM256CC_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/cm256cc/src" CACHE INTERNAL "")
@ -682,7 +667,7 @@ if ((NOT LIBDSDCC_FOUND OR LIBDSDCC_EXTERNAL) AND (NOT LIBMBE_FOUND OR LIBMBE_EX
ExternalProject_Get_Property(mbelib source_dir binary_dir)
set(USE_MBELIB ON)
set_global(DSDCC_DEPENDS mbelib)
set(LIBMBE_FOUND ON CACHE INTERNAL "")
set_global_cache(LIBMBE_FOUND ON)
set(LIBMBE_EXTERNAL ON CACHE INTERNAL "")
set(LIBMBE_INCLUDE_DIR "${source_dir}" CACHE INTERNAL "")
if (WIN32)
@ -712,7 +697,7 @@ if (NOT LIBSERIALDV_FOUND OR LIBSERIALDV_EXTERNAL)
TEST_COMMAND ""
)
ExternalProject_Get_Property(serialdv source_dir binary_dir)
set(LIBSERIALDV_FOUND ON CACHE INTERNAL "")
set_global_cache(LIBSERIALDV_FOUND ON)
set(LIBSERIALDV_EXTERNAL ON CACHE INTERNAL "")
set(LIBSERIALDV_INCLUDE_DIR "${source_dir}" CACHE INTERNAL "")
if (WIN32)
@ -753,7 +738,7 @@ if ((NOT LIBDSDCC_FOUND OR LIBDSDCC_EXTERNAL) AND LIBMBE_FOUND)
TEST_COMMAND ""
)
ExternalProject_Get_Property(dsdcc source_dir binary_dir)
set(LIBDSDCC_FOUND ON CACHE INTERNAL "")
set_global_cache(LIBDSDCC_FOUND ON)
set(LIBDSDCC_EXTERNAL ON CACHE INTERNAL "")
set(LIBDSDCC_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/dsdcc/src" CACHE INTERNAL "")
if (WIN32)
@ -766,67 +751,87 @@ if ((NOT LIBDSDCC_FOUND OR LIBDSDCC_EXTERNAL) AND LIBMBE_FOUND)
endif ()
endif ((NOT LIBDSDCC_FOUND OR LIBDSDCC_EXTERNAL) AND LIBMBE_FOUND)
if (LINUX AND (NOT LIBSIGMF_FOUND OR LIBSIGMF_EXTERNAL))
set(LIBSIGMF_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/liblibsigmf${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
ExternalProject_Add(libsigmf
GIT_REPOSITORY https://github.com/f4exb/libsigmf.git
GIT_TAG ${LIBSIGMF_TAG}
PREFIX "${EXTERNAL_BUILD_LIBRARIES}/libsigmf"
CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
BUILD_BYPRODUCTS "${LIBSIGMF_LIBRARIES}"
TEST_COMMAND ""
)
ExternalProject_Get_Property(libsigmf install_dir)
set_global(LIBSIGMF_DEPENDS libsigmf)
set_global_cache(LIBSIGMF_FOUND ON)
set(LIBSIGMF_EXTERNAL ON CACHE INTERNAL "")
set(LIBSIGMF_INCLUDE_DIR "${install_dir}/include" CACHE INTERNAL "")
endif (LINUX AND (NOT LIBSIGMF_FOUND OR LIBSIGMF_EXTERNAL))
# For APT demodulator
if (WIN32)
set(APT_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/apt.lib" CACHE INTERNAL "")
elseif (LINUX)
set(APT_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/libapt${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
endif()
ExternalProject_Add(apt
GIT_REPOSITORY https://github.com/srcejon/aptdec.git
GIT_TAG libaptdec
PREFIX "${EXTERNAL_BUILD_LIBRARIES}/apt"
CMAKE_ARGS ${COMMON_CMAKE_ARGS}
BUILD_BYPRODUCTS "${APT_LIBRARIES}"
INSTALL_COMMAND ""
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 "")
if (WIN32)
install(FILES "${SDRANGEL_BINARY_BIN_DIR}/apt${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}")
elseif (APPLE)
set(APT_LIBRARIES "${binary_dir}/libapt${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
install(DIRECTORY "${binary_dir}/" DESTINATION "${INSTALL_LIB_DIR}"
FILES_MATCHING PATTERN "libapt*${CMAKE_SHARED_LIBRARY_SUFFIX}")
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${binary_dir}/")
if(ENABLE_CHANNELRX_DEMODAPT)
if (WIN32)
set(APT_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/apt.lib" CACHE INTERNAL "")
elseif (LINUX)
set(APT_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/libapt${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
endif()
ExternalProject_Add(apt
GIT_REPOSITORY https://github.com/srcejon/aptdec.git
GIT_TAG libaptdec
PREFIX "${EXTERNAL_BUILD_LIBRARIES}/apt"
CMAKE_ARGS ${COMMON_CMAKE_ARGS}
BUILD_BYPRODUCTS "${APT_LIBRARIES}"
INSTALL_COMMAND ""
TEST_COMMAND ""
)
ExternalProject_Get_Property(apt source_dir binary_dir)
set(APT_DEPENDS apt CACHE INTERNAL "")
set_global_cache(APT_FOUND ON)
set(APT_EXTERNAL ON CACHE INTERNAL "")
set(APT_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/apt/src/apt/src" CACHE INTERNAL "")
if (WIN32)
install(FILES "${SDRANGEL_BINARY_BIN_DIR}/apt${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}")
elseif (APPLE)
set(APT_LIBRARIES "${binary_dir}/libapt${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
install(DIRECTORY "${binary_dir}/" DESTINATION "${INSTALL_LIB_DIR}"
FILES_MATCHING PATTERN "libapt*${CMAKE_SHARED_LIBRARY_SUFFIX}")
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${binary_dir}/")
endif ()
endif ()
# For Satellite Tracker feature
# No tags for this in github - but doesn't change often
# Fails to build with CMAKE_INTERPROCEDURAL_OPTIMIZATION=ON on Windows
if (WIN32)
set(SGP4_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/sgp4s.lib" CACHE INTERNAL "")
elseif (LINUX)
set(SGP4_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/libsgp4s${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
endif()
ExternalProject_Add(sgp4
GIT_REPOSITORY https://github.com/dnwrnr/sgp4.git
PREFIX "${EXTERNAL_BUILD_LIBRARIES}/sgp4"
CMAKE_ARGS ${COMMON_CMAKE_ARGS}
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF
BUILD_BYPRODUCTS "${SGP4_LIBRARIES}"
INSTALL_COMMAND ""
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 "")
if (WIN32)
install(FILES "${SDRANGEL_BINARY_BIN_DIR}/sgp4s${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}")
elseif (APPLE)
set(SGP4_LIBRARIES "${binary_dir}/libsgp4/libsgp4s${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
install(DIRECTORY "${binary_dir}/libsgp4" DESTINATION "${INSTALL_LIB_DIR}"
FILES_MATCHING PATTERN "libsgp4s*${CMAKE_SHARED_LIBRARY_SUFFIX}")
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${binary_dir}/libsgp4")
# For Satellite Tracker feature and APT demod
if(ENABLE_FEATURE_SATELLITETRACKER OR ENABLE_CHANNELRX_DEMODAPT)
# No tags for this in github - but doesn't change often
# Fails to build with CMAKE_INTERPROCEDURAL_OPTIMIZATION=ON on Windows
if (WIN32)
set(SGP4_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/sgp4s.lib" CACHE INTERNAL "")
elseif (LINUX)
set(SGP4_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/libsgp4s${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
endif()
ExternalProject_Add(sgp4
GIT_REPOSITORY https://github.com/dnwrnr/sgp4.git
PREFIX "${EXTERNAL_BUILD_LIBRARIES}/sgp4"
CMAKE_ARGS ${COMMON_CMAKE_ARGS}
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF
BUILD_BYPRODUCTS "${SGP4_LIBRARIES}"
INSTALL_COMMAND ""
TEST_COMMAND ""
)
ExternalProject_Get_Property(sgp4 source_dir binary_dir)
set(SGP4_DEPENDS sgp4 CACHE INTERNAL "")
set_global_cache(SGP4_FOUND ON)
set(SGP4_EXTERNAL ON CACHE INTERNAL "")
set(SGP4_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/sgp4/src/sgp4/libsgp4" CACHE INTERNAL "")
if (WIN32)
install(FILES "${SDRANGEL_BINARY_BIN_DIR}/sgp4s${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}")
elseif (APPLE)
set(SGP4_LIBRARIES "${binary_dir}/libsgp4/libsgp4s${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
install(DIRECTORY "${binary_dir}/libsgp4" DESTINATION "${INSTALL_LIB_DIR}"
FILES_MATCHING PATTERN "libsgp4s*${CMAKE_SHARED_LIBRARY_SUFFIX}")
set(MACOS_EXTERNAL_LIBS_FIXUP "${MACOS_EXTERNAL_LIBS_FIXUP};${binary_dir}/libsgp4")
endif ()
endif ()
# requirements needed by many packages on windows
if (WIN32)
ExternalProject_Add(pthreads4w
@ -842,7 +847,7 @@ if (WIN32)
)
ExternalProject_Get_Property(pthreads4w source_dir binary_dir)
set_global(PTHREADS4W_DEPENDS pthreads4w)
set(PTHREADS4W_FOUND ON CACHE INTERNAL "")
set_global_cache(PTHREADS4W_FOUND ON)
set(PTHREADS4W_EXTERNAL ON CACHE INTERNAL "")
set(PTHREADS4W_INCLUDE_DIR "${source_dir}" CACHE INTERNAL "")
set(PTHREADS4W_LIBRARIES "${source_dir}/pthreadVC2.lib" CACHE INTERNAL "")
@ -853,7 +858,7 @@ if (WIN32)
endif (WIN32)
# For DAB demodulator
if (ZLIB_FOUND AND FAAD_FOUND)
if (ZLIB_FOUND AND FAAD_FOUND AND ENABLE_CHANNELRX_DEMODDAB)
if (WIN32)
set(DAB_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/dab_lib.lib" CACHE INTERNAL "")
elseif (LINUX)
@ -899,7 +904,7 @@ if (ZLIB_FOUND AND FAAD_FOUND)
endif(WIN32)
ExternalProject_Get_Property(dab source_dir binary_dir)
set_global(DAB_DEPENDS dab)
set(DAB_FOUND ON CACHE INTERNAL "")
set_global_cache(DAB_FOUND ON)
set(DAB_EXTERNAL ON CACHE INTERNAL "")
set(DAB_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/dab/src/dab" CACHE INTERNAL "")
if (WIN32)
@ -914,12 +919,12 @@ else()
message(STATUS "Can't build DAB library as missing zlib or faad")
endif()
# Device interface libraries. Use external libraries build for these. Only Linux for now.
# Device interface libraries.
if (LINUX)
# apt install liblimesuite-dev (only on ubuntu 18.04). Can be picky on version though so let's build it.
# needs pkgconfig and libusb
if (NOT LIMESUITE_FOUND OR LIMESUITE_EXTERNAL)
set(LIMESUITE_FOUND ON CACHE INTERNAL "")
if (ENABLE_LIMESUITE AND (NOT LIMESUITE_FOUND OR LIMESUITE_EXTERNAL))
set_global_cache(LIMESUITE_FOUND ON)
set(LIMESUITE_EXTERNAL ON CACHE INTERNAL "")
set(LIMESUITE_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/limesuite/src/limesuite/src" CACHE INTERNAL "")
set(LIMESUITE_LIBRARY "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/libLimeSuite.so" CACHE INTERNAL "")
@ -943,12 +948,12 @@ if (LINUX)
)
ExternalProject_Get_Property(limesuite source_dir)
makeCopyFile("${source_dir}/src/limeRFE/limeRFE.h" "${source_dir}/src/lime/limeRFE.h" limesuite)
endif (NOT LIMESUITE_FOUND OR LIMESUITE_EXTERNAL)
endif ()
# apt install libbladerf-dev
# needs pkgconfig and libusb
if (NOT LIBBLADERF_FOUND OR LIBBLADERF_EXTERNAL)
set(LIBBLADERF_FOUND ON CACHE INTERNAL "")
if (ENABLE_BLADERF AND (NOT LIBBLADERF_FOUND OR LIBBLADERF_EXTERNAL))
set_global_cache(LIBBLADERF_FOUND ON)
set(LIBBLADERF_EXTERNAL ON CACHE INTERNAL "")
set(LIBBLADERF_INCLUDE_DIRS "${EXTERNAL_BUILD_LIBRARIES}/bladerf/src/bladerf/host/libraries/libbladeRF/include" CACHE INTERNAL "")
set(LIBBLADERF_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/bladerf/src/bladerf-build/output/libbladeRF.so.2" CACHE INTERNAL "")
@ -964,12 +969,12 @@ if (LINUX)
TEST_COMMAND ""
)
install(FILES "${LIBBLADERF_LIBRARIES}" DESTINATION "${INSTALL_LIB_DIR}")
endif (NOT LIBBLADERF_FOUND OR LIBBLADERF_EXTERNAL)
endif ()
# apt install libiio-dev
# needs pkgconfig, libusb, libxml2, lzma, xz, libiconv
if (NOT LIBIIO_FOUND OR LIBIIO_EXTERNAL)
set(LIBIIO_FOUND ON CACHE INTERNAL "")
if (ENABLE_IIO AND (NOT LIBIIO_FOUND OR LIBIIO_EXTERNAL))
set_global_cache(LIBIIO_FOUND ON)
set(LIBIIO_EXTERNAL ON CACHE INTERNAL "")
set(LIBIIO_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/libiio/src/libiio" CACHE INTERNAL "")
set(LIBIIO_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/libiio.so" CACHE INTERNAL "")
@ -986,12 +991,12 @@ if (LINUX)
INSTALL_COMMAND ""
TEST_COMMAND ""
)
endif (NOT LIBIIO_FOUND OR LIBIIO_EXTERNAL)
endif ()
# apt install libairspyhf-dev (only on ubuntu 18.04)
# needs libusb and pkgconfig
if (NOT LIBAIRSPYHF_FOUND OR LIBAIRSPYHF_EXTERNAL)
set(LIBAIRSPYHF_FOUND ON CACHE INTERNAL "")
if (ENABLE_AIRSPYHF AND (NOT LIBAIRSPYHF_FOUND OR LIBAIRSPYHF_EXTERNAL))
set_global_cache(LIBAIRSPYHF_FOUND ON)
set(LIBAIRSPYHF_EXTERNAL ON CACHE INTERNAL "")
set(LIBAIRSPYHF_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/libairspyhf.so" CACHE INTERNAL "")
ExternalProject_Add(airspyhf
@ -1006,11 +1011,11 @@ if (LINUX)
ExternalProject_Get_Property(airspyhf source_dir)
set(LIBAIRSPYHF_INCLUDE_DIR "${source_dir}/.." CACHE INTERNAL "")
makeLink("${source_dir}/libairspyhf/src" "${source_dir}/../libairspyhf" airspyhf)
endif (NOT LIBAIRSPYHF_FOUND OR LIBAIRSPYHF_EXTERNAL)
endif ()
# needs pkgconfig, libusb, autoconf, automake and libtool
if (NOT LIBPERSEUS_FOUND OR LIBPERSEUS_EXTERNAL)
set(LIBPERSEUS_FOUND ON CACHE INTERNAL "")
if (ENABLE_PERSEUS AND (NOT LIBPERSEUS_FOUND OR LIBPERSEUS_EXTERNAL))
set_global_cache(LIBPERSEUS_FOUND ON)
set(LIBPERSEUS_EXTERNAL ON CACHE INTERNAL "")
set(LIBPERSEUS_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/perseus/src/perseus" CACHE INTERNAL "")
set(LIBPERSEUS_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/libperseus-sdr.so" CACHE INTERNAL "")
@ -1023,12 +1028,12 @@ if (LINUX)
INSTALL_COMMAND ""
TEST_COMMAND ""
)
endif (NOT LIBPERSEUS_FOUND OR LIBPERSEUS_EXTERNAL)
endif ()
# apt install librtlsdr-dev
# needs pkgconfig and libusb
if (NOT LIBRTLSDR_FOUND OR LIBRTLSDR_EXTERNAL)
set(LIBRTLSDR_FOUND ON CACHE INTERNAL "")
if (ENABLE_RTLSDR AND (NOT LIBRTLSDR_FOUND OR LIBRTLSDR_EXTERNAL))
set_global_cache(LIBRTLSDR_FOUND ON)
set(LIBRTLSDR_EXTERNAL ON CACHE INTERNAL "")
set(LIBRTLSDR_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/rtlsdr/src/rtlsdr/include" CACHE INTERNAL "")
set(LIBRTLSDR_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/librtlsdr.so" CACHE INTERNAL "")
@ -1042,11 +1047,11 @@ if (LINUX)
INSTALL_COMMAND ""
TEST_COMMAND ""
)
endif (NOT LIBRTLSDR_FOUND OR LIBRTLSDR_EXTERNAL)
endif ()
# needs pkgconfig and libusb
if (NOT LIBMIRISDR_FOUND OR LIBMIRISDR_EXTERNAL)
set(LIBMIRISDR_FOUND ON CACHE INTERNAL "")
if (ENABLE_MIRISDR AND (NOT LIBMIRISDR_FOUND OR LIBMIRISDR_EXTERNAL))
set_global_cache(LIBMIRISDR_FOUND ON)
set(LIBMIRISDR_EXTERNAL ON CACHE INTERNAL "")
set(LIBMIRISDR_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/libmirisdr/src/libmirisdr/include" CACHE INTERNAL "")
set(LIBMIRISDR_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/libmirisdr.so" CACHE INTERNAL "")
@ -1059,7 +1064,7 @@ if (LINUX)
INSTALL_COMMAND ""
TEST_COMMAND ""
)
endif (NOT LIBMIRISDR_FOUND OR LIBMIRISDR_EXTERNAL)
endif ()
endif (LINUX)
@ -1091,7 +1096,7 @@ if (WIN32 OR APPLE)
TEST_COMMAND ""
)
ExternalProject_Get_Property(rtlsdr source_dir binary_dir)
set(LIBRTLSDR_FOUND ON CACHE INTERNAL "")
set_global_cache(LIBRTLSDR_FOUND ON)
set(LIBRTLSDR_EXTERNAL ON CACHE INTERNAL "")
set(LIBRTLSDR_INCLUDE_DIR "${source_dir}/include" CACHE INTERNAL "")
if (WIN32)
@ -1134,7 +1139,7 @@ if (WIN32 OR APPLE)
TEST_COMMAND ""
)
ExternalProject_Get_Property(limesuite source_dir binary_dir install_dir)
set(LIMESUITE_FOUND ON CACHE INTERNAL "")
set_global_cache(LIMESUITE_FOUND ON)
set(LIMESUITE_EXTERNAL ON CACHE INTERNAL "")
set(LIMESUITE_INCLUDE_DIR "${install_dir}/include" CACHE INTERNAL "")
if (WIN32)
@ -1167,7 +1172,7 @@ if (WIN32 OR APPLE)
TEST_COMMAND ""
)
ExternalProject_Get_Property(soapysdr source_dir binary_dir)
set(SOAPYSDR_FOUND ON CACHE INTERNAL "")
set_global_cache(SOAPYSDR_FOUND ON)
set(SOAPYSDR_EXTERNAL ON CACHE INTERNAL "")
set(SOAPYSDR_INCLUDE_DIR "${source_dir}/include" CACHE INTERNAL "")
if (WIN32)
@ -1210,7 +1215,7 @@ if (WIN32 OR APPLE)
add_dependencies(airspy pthreads4w)
endif ()
ExternalProject_Get_Property(airspy source_dir binary_dir)
set(LIBAIRSPY_FOUND ON CACHE INTERNAL "")
set_global_cache(LIBAIRSPY_FOUND ON)
set(LIBAIRSPY_EXTERNAL ON CACHE INTERNAL "")
set(LIBAIRSPY_INCLUDE_DIR "${source_dir}/libairspy/src" CACHE INTERNAL "")
if (WIN32)
@ -1252,7 +1257,7 @@ if (WIN32 OR APPLE)
add_dependencies(airspyhf pthreads4w)
endif()
ExternalProject_Get_Property(airspyhf source_dir binary_dir)
set(LIBAIRSPYHF_FOUND ON CACHE INTERNAL "")
set_global_cache(LIBAIRSPYHF_FOUND ON)
set(LIBAIRSPYHF_EXTERNAL ON CACHE INTERNAL "")
set(LIBAIRSPYHF_INCLUDE_DIR "${source_dir}/libairspyhf/src" CACHE INTERNAL "")
if (WIN32)
@ -1297,7 +1302,7 @@ if (WIN32 OR APPLE)
add_dependencies(hackrf pthreads4w)
endif()
ExternalProject_Get_Property(hackrf source_dir binary_dir)
set(LIBHACKRF_FOUND ON CACHE INTERNAL "")
set_global_cache(LIBHACKRF_FOUND ON)
set(LIBHACKRF_EXTERNAL ON CACHE INTERNAL "")
set(LIBHACKRF_INCLUDE_DIR "${source_dir}/host/libhackrf" CACHE INTERNAL "")
if (WIN32)
@ -1343,7 +1348,7 @@ if (WIN32 OR APPLE)
endif ()
ExternalProject_Get_Property(libxml2 source_dir binary_dir)
set_global(LIBXML2_DEPENDS libxml2)
set(LIBXML2_FOUND ON CACHE INTERNAL "")
set_global_cache(LIBXML2_FOUND ON)
set(LIBXML2_EXTERNAL ON CACHE INTERNAL "")
if (WIN32)
set(LIBXML2_INCLUDE_DIR "${source_dir}/include" CACHE INTERNAL "")
@ -1390,7 +1395,7 @@ if (WIN32 OR APPLE)
add_dependencies(libiio pthreads4w)
endif()
ExternalProject_Get_Property(libiio source_dir binary_dir)
set(LIBIIO_FOUND ON CACHE INTERNAL "")
set_global_cache(LIBIIO_FOUND ON)
set(LIBIIO_EXTERNAL ON CACHE INTERNAL "")
set(LIBIIO_INCLUDE_DIR "${source_dir}" CACHE INTERNAL "")
if (WIN32)
@ -1441,7 +1446,7 @@ if (WIN32 OR APPLE)
add_dependencies(bladerf pthreads4w)
endif()
ExternalProject_Get_Property(bladerf source_dir binary_dir)
set(LIBBLADERF_FOUND ON CACHE INTERNAL "")
set_global_cache(LIBBLADERF_FOUND ON)
set(LIBBLADERF_EXTERNAL ON CACHE INTERNAL "")
set(LIBBLADERF_INCLUDE_DIRS "${source_dir}/host/libraries/libbladeRF/include" CACHE INTERNAL "")
if (WIN32)
@ -1471,7 +1476,7 @@ if (WIN32 OR APPLE)
TEST_COMMAND ""
)
ExternalProject_Get_Property(uhd install_dir)
set(UHD_FOUND ON CACHE INTERNAL "")
set_global_cache(UHD_FOUND ON)
set(UHD_EXTERNAL ON CACHE INTERNAL "")
set(UHD_INCLUDE_DIR "${install_dir}/include" CACHE INTERNAL "")
if (WIN32)

View File

@ -2,78 +2,116 @@ project(feature)
if (ENABLE_FEATURE_GS232CONTROLLER AND Qt${QT_DEFAULT_MAJOR_VERSION}SerialPort_FOUND)
add_subdirectory(gs232controller)
else()
message(STATUS "Not building gs232controller (ENABLE_FEATURE_GS232CONTROLLER=${ENABLE_FEATURE_GS232CONTROLLER} Qt${QT_DEFAULT_MAJOR_VERSION}SerialPort_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}SerialPort_FOUND)")
endif()
if (ENABLE_FEATURE_MAP AND Qt${QT_DEFAULT_MAJOR_VERSION}Quick_FOUND AND Qt${QT_DEFAULT_MAJOR_VERSION}QuickWidgets_FOUND AND Qt${QT_DEFAULT_MAJOR_VERSION}Positioning_FOUND AND Qt${QT_DEFAULT_MAJOR_VERSION}Location_FOUND)
add_subdirectory(map)
else()
message(STATUS "Not building map (ENABLE_FEATURE_MAP=${ENABLE_FEATURE_MAP} Qt${QT_DEFAULT_MAJOR_VERSION}Quick_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}Quick_FOUND} Qt${QT_DEFAULT_MAJOR_VERSION}QuickWidgets_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}QuickWidgets_FOUND} Qt${QT_DEFAULT_MAJOR_VERSION}Positioning_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}Positioning_FOUND} Qt${QT_DEFAULT_MAJOR_VERSION}Location_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}Location_FOUND})")
endif()
if (ENABLE_FEATURE_VORLOCALIZER AND Qt${QT_DEFAULT_MAJOR_VERSION}Quick_FOUND AND Qt${QT_DEFAULT_MAJOR_VERSION}QuickWidgets_FOUND AND Qt${QT_DEFAULT_MAJOR_VERSION}Positioning_FOUND)
add_subdirectory(vorlocalizer)
else()
message(STATUS "Not building vorlocalizer (ENABLE_FEATURE_VORLOCALIZER=${ENABLE_FEATURE_VORLOCALIZER} Qt${QT_DEFAULT_MAJOR_VERSION}Quick_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}Quick_FOUND} Qt${QT_DEFAULT_MAJOR_VERSION}QuickWidgets_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}QuickWidgets_FOUND} Qt${QT_DEFAULT_MAJOR_VERSION}Positioning_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}Positioning_FOUND})")
endif()
if (ENABLE_FEATURE_AFC)
add_subdirectory(afc)
else()
message(STATUS "Not building afc (ENABLE_FEATURE_AFC=${ENABLE_FEATURE_AFC})")
endif()
if (ENABLE_FEATURE_AIS)
add_subdirectory(ais)
else()
message(STATUS "Not building ais (ENABLE_FEATURE_AIS=${ENABLE_FEATURE_AIS})")
endif()
if (ENABLE_FEATURE_ANTENNATOOLS)
add_subdirectory(antennatools)
else()
message(STATUS "Not building antennatools (ENABLE_FEATURE_ANTENNATOOLS=${ENABLE_FEATURE_ANTENNATOOLS})")
endif()
if (ENABLE_FEATURE_APRS)
add_subdirectory(aprs)
else()
message(STATUS "Not building aprs (ENABLE_FEATURE_APRS=${ENABLE_FEATURE_APRS})")
endif()
if (ENABLE_FEATURE_DEMODANALYZER)
add_subdirectory(demodanalyzer)
else()
message(STATUS "Not building demodanalyzer (ENABLE_FEATURE_DEMODANALYZER=${ENABLE_FEATURE_DEMODANALYZER})")
endif()
if (ENABLE_FEATURE_PERTESTER)
add_subdirectory(pertester)
else()
message(STATUS "Not building pertester (ENABLE_FEATURE_PERTESTER=${ENABLE_FEATURE_PERTESTER})")
endif()
if (ENABLE_FEATURE_RIGCTLSERVER)
add_subdirectory(rigctlserver)
else()
message(STATUS "Not building rigctlserver (ENABLE_FEATURE_RIGCTLSERVER=${ENABLE_FEATURE_RIGCTLSERVER})")
endif()
if (ENABLE_FEATURE_SIMPLEPTT)
add_subdirectory(simpleptt)
else()
message(STATUS "Not building simpleptt (ENABLE_FEATURE_SIMPLEPTT=${ENABLE_FEATURE_SIMPLEPTT})")
endif()
if (NOT SERVER_MODE)
if (ENABLE_FEATURE_SATELLITETRACKER AND SGP4_FOUND AND Qt${QT_DEFAULT_MAJOR_VERSION}Positioning_FOUND AND Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND AND Qt${QT_DEFAULT_MAJOR_VERSION}TextToSpeech_FOUND)
add_subdirectory(satellitetracker)
endif()
if (ENABLE_FEATURE_JOGDIALCONTROLLER)
add_subdirectory(jogdialcontroller)
else()
message(STATUS "Not building satellitetracker (ENABLE_FEATURE_SATELLITETRACKER=${ENABLE_FEATURE_SATELLITETRACKER} SGP4_FOUND=${SGP4_FOUND} Qt${QT_DEFAULT_MAJOR_VERSION}Positioning_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}Positioning_FOUND} Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND} Qt${QT_DEFAULT_MAJOR_VERSION}TextToSpeech_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}TextToSpeech_FOUND})")
endif()
else()
if (ENABLE_FEATURE_SATELLITETRACKER AND SGP4_FOUND AND Qt${QT_DEFAULT_MAJOR_VERSION}Positioning_FOUND AND Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND)
add_subdirectory(satellitetracker)
else()
message(STATUS "Not building satellitetracker (ENABLE_FEATURE_SATELLITETRACKER=${ENABLE_FEATURE_SATELLITETRACKER} SGP4_FOUND=${SGP4_FOUND} Qt${QT_DEFAULT_MAJOR_VERSION}Positioning_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}Positioning_FOUND} Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND})")
endif()
endif()
if (Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND)
if (ENABLE_FEATURE_RADIOSONDE)
add_subdirectory(radiosonde)
endif()
if (ENABLE_FEATURE_STARTRACKER)
add_subdirectory(startracker)
endif()
if (ENABLE_FEATURE_JOGDIALCONTROLLER AND NOT SERVER_MODE)
add_subdirectory(jogdialcontroller)
else()
message(STATUS "Not building jogdialcontroller (ENABLE_FEATURE_JOGDIALCONTROLLER=${ENABLE_FEATURE_JOGDIALCONTROLLER} SERVER_MODE=${SERVER_MODE})")
endif()
if (ENABLE_FEATURE_RADIOSONDE AND Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND)
add_subdirectory(radiosonde)
else()
message(STATUS "Not building radiosonde (ENABLE_FEATURE_RADIOSONDE=${ENABLE_FEATURE_RADIOSONDE} Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND})")
endif()
if (ENABLE_FEATURE_STARTRACKER AND Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND)
add_subdirectory(startracker)
else()
message(STATUS "Not building startracker (ENABLE_FEATURE_STARTRACKER=${ENABLE_FEATURE_STARTRACKER} Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND=${Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND})")
endif()
if (ENABLE_FEATURE_LIMERFE AND ENABLE_LIMESUITE AND LIMESUITE_FOUND)
add_subdirectory(limerfe)
else()
message(STATUS "Not building limerfe (ENABLE_FEATURE_LIMERFE=${ENABLE_FEATURE_LIMERFE} ENABLE_LIMESUITE=${ENABLE_LIMESUITE} LIMESUITE_FOUND=${LIMESUITE_FOUND})")
endif()
if (ENABLE_FEATURE_AMBE AND LIBSERIALDV_FOUND)
add_subdirectory(ambe)
else()
message(STATUS "Not building ambe (ENABLE_FEATURE_AMBE=${ENABLE_FEATURE_AMBE} LIBSERIALDV_FOUND=${LIBSERIALDV_FOUND})")
endif()
if (ENABLE_FEATURE_REMOTECONTROL)
add_subdirectory(remotecontrol)
else()
message(STATUS "Not building remotecontrol (ENABLE_FEATURE_REMOTECONTROL=${ENABLE_FEATURE_REMOTECONTROL})")
endif()

View File

@ -2,23 +2,33 @@ project(samplemimo)
if(ENABLE_BLADERF AND LIBBLADERF_FOUND)
add_subdirectory(bladerf2mimo)
else()
message(STATUS "Not building bladerf2mimo (ENABLE_BLADERF=${ENABLE_BLADERF} LIBBLADERF_FOUND=${LIBBLADERF_FOUND})")
endif()
if(ENABLE_LIMESUITE AND LIMESUITE_FOUND)
add_subdirectory(limesdrmimo)
else()
message(STATUS "Not building limesdrmimo (ENABLE_LIMESUITE=${ENABLE_LIMESUITE} LIMESUITE_FOUND=${LIMESUITE_FOUND})")
endif()
if(ENABLE_XTRX AND LIBXTRX_FOUND)
add_subdirectory(xtrxmimo)
else()
message(STATUS "Not building xtrxmimo (ENABLE_XTRX=${ENABLE_XTRX} LIBXTRX_FOUND=${LIBXTRX_FOUND})")
endif()
if(ENABLE_IIO AND LIBIIO_FOUND)
add_subdirectory(plutosdrmimo)
else()
message(STATUS "Not building plutosdrmimo (ENABLE_IIO=${ENABLE_IIO} LIBIIO_FOUND=${LIBIIO_FOUND})")
endif()
find_package (Hamlib)
if(hamlib_FOUND)
add_subdirectory(audiocatsiso)
else()
message(STATUS "Not building audiocatsiso (hamlib_FOUND=${hamlib_FOUND})")
endif()
add_subdirectory(metismiso)

View File

@ -8,33 +8,49 @@ add_subdirectory(aaroniartsaoutput)
if (CM256CC_FOUND AND (HAS_SSE3 OR HAS_NEON))
add_subdirectory(remoteoutput)
else()
message(STATUS "Not building remoteoutput (CM256CC_FOUND=${CM256CC_FOUND} HAS_SSE3=${HAS_SSE3} HAS_NEON=${HAS_NEON})")
endif()
if(ENABLE_BLADERF AND LIBBLADERF_FOUND)
add_subdirectory(bladerf1output)
add_subdirectory(bladerf2output)
else()
message(STATUS "Not building bladerf1output or bladerf2output (ENABLE_BLADERF=${ENABLE_BLADERF} LIBBLADERF_FOUND=${LIBBLADERF_FOUND})")
endif()
if(ENABLE_HACKRF AND LIBHACKRF_FOUND)
add_subdirectory(hackrfoutput)
else()
message(STATUS "Not building hackrfoutput (ENABLE_HACKRF=${ENABLE_HACKRF} LIBHACKRF_FOUND=${LIBHACKRF_FOUND})")
endif()
if(ENABLE_LIMESUITE AND LIMESUITE_FOUND)
add_subdirectory(limesdroutput)
else()
message(STATUS "Not building limesdroutput (ENABLE_LIMESUITE=${ENABLE_LIMESUITE} LIMESUITE_FOUND=${LIMESUITE_FOUND})")
endif()
if(ENABLE_XTRX AND LIBXTRX_FOUND)
add_subdirectory(xtrxoutput)
add_subdirectory(xtrxoutput)
else()
message(STATUS "Not building xtrxoutput (ENABLE_XTRX=${ENABLE_XTRX} LIBXTRX_FOUND=${LIBXTRX_FOUND})")
endif()
if(ENABLE_IIO AND LIBIIO_FOUND)
add_subdirectory(plutosdroutput)
else()
message(STATUS "Not building plutosdroutput (ENABLE_IIO=${ENABLE_IIO} LIBIIO_FOUND=${LIBIIO_FOUND})")
endif()
if(ENABLE_SOAPYSDR AND SOAPYSDR_FOUND)
add_subdirectory(soapysdroutput)
else()
message(STATUS "Not building soapysdroutput (ENABLE_SOAPYSDR=${ENABLE_SOAPYSDR} SOAPYSDR_FOUND=${SOAPYSDR_FOUND})")
endif()
if(ENABLE_USRP AND UHD_FOUND)
add_subdirectory(usrpoutput)
else()
message(STATUS "Not building usrpoutput (ENABLE_USRP=${ENABLE_USRP} UHD_FOUND=${UHD_FOUND})")
endif()

View File

@ -6,68 +6,100 @@ add_subdirectory(localinput)
if (CM256CC_FOUND AND (HAS_SSE3 OR HAS_NEON))
add_subdirectory(remoteinput)
else()
message(STATUS "Not building remoteinput (CM256CC_FOUND=${CM256CC_FOUND} HAS_SSE3=${HAS_SSE3} HAS_NEON=${HAS_NEON})")
endif()
if(ENABLE_AIRSPY AND LIBAIRSPY_FOUND)
add_subdirectory(airspy)
else()
message(STATUS "Not building airspy (ENABLE_AIRSPY=${ENABLE_AIRSPY} LIBAIRSPY_FOUND=${LIBAIRSPY_FOUND})")
endif()
if(ENABLE_AIRSPYHF AND LIBAIRSPYHF_FOUND)
add_subdirectory(airspyhf)
else()
message(STATUS "Not building airspyhf (ENABLE_AIRSPYHF=${ENABLE_AIRSPYHF} LIBAIRSPYHF_FOUND=${LIBAIRSPYHF_FOUND})")
endif()
if(ENABLE_BLADERF AND LIBBLADERF_FOUND)
add_subdirectory(bladerf1input)
add_subdirectory(bladerf2input)
else()
message(STATUS "Not building bladerf1input or bladerf2input (ENABLE_BLADERF=${ENABLE_BLADERF} LIBBLADERF_FOUND=${LIBBLADERF_FOUND})")
endif()
if(ENABLE_FUNCUBE AND LIBUSB_FOUND AND HIDAPI_FOUND)
add_subdirectory(fcdpro)
add_subdirectory(fcdproplus)
else()
message(STATUS "Not building fcdpro or fcdproplus (ENABLE_FUNCUBE=${ENABLE_FUNCUBE} LIBUSB_FOUND=${LIBUSB_FOUND} HIDAPI_FOUND=${HIDAPI_FOUND})")
endif()
if(ENABLE_HACKRF AND LIBHACKRF_FOUND)
add_subdirectory(hackrfinput)
else()
message(STATUS "Not building hackrfinput (ENABLE_HACKRF=${ENABLE_HACKRF} LIBHACKRF_FOUND=${LIBHACKRF_FOUND})")
endif()
if(ENABLE_LIMESUITE AND LIMESUITE_FOUND)
add_subdirectory(limesdrinput)
else()
message(STATUS "Not building limesdrinput (ENABLE_LIMESUITE=${ENABLE_LIMESUITE} LIMESUITE_FOUND=${LIMESUITE_FOUND})")
endif()
if(ENABLE_MIRISDR AND LIBMIRISDR_FOUND)
add_subdirectory(sdrplay)
else()
message(STATUS "Not building sdrplay (ENABLE_MIRISDR=${ENABLE_MIRISDR} LIBMIRISDR_FOUND=${LIBMIRISDR_FOUND})")
endif()
if(ENABLE_SDRPLAY AND SDRPLAY_FOUND)
add_subdirectory(sdrplayv3)
else()
message(STATUS "Not building sdrplayv3 (ENABLE_SDRPLAY=${ENABLE_SDRPLAY} SDRPLAY_FOUND=${SDRPLAY_FOUND})")
endif()
if(ENABLE_PERSEUS AND LIBPERSEUS_FOUND AND RX_SAMPLE_24BIT)
add_subdirectory(perseus)
else()
message(STATUS "Not building perseus (ENABLE_PERSEUS=${ENABLE_PERSEUS} LIBPERSEUS_FOUND=${LIBPERSEUS_FOUND} RX_SAMPLE_24BIT=${RX_SAMPLE_24BIT})")
endif()
if(ENABLE_XTRX AND LIBXTRX_FOUND)
add_subdirectory(xtrxinput)
else()
message(STATUS "Not building xtrxinput (ENABLE_XTRX=${ENABLE_XTRX} LIBXTRX_FOUND=${LIBXTRX_FOUND})")
endif()
if(ENABLE_IIO AND LIBIIO_FOUND)
add_subdirectory(plutosdrinput)
else()
message(STATUS "Not building plutosdrinput (ENABLE_IIO=${ENABLE_IIO} LIBIIO_FOUND=${LIBIIO_FOUND})")
endif()
if(ENABLE_RTLSDR AND LIBRTLSDR_FOUND)
add_subdirectory(rtlsdr)
else()
message(STATUS "Not building rtlsdr (ENABLE_RTLSDR=${ENABLE_RTLSDR} LIBRTLSDR_FOUND=${LIBRTLSDR_FOUND})")
endif()
if(ENABLE_SOAPYSDR AND SOAPYSDR_FOUND)
add_subdirectory(soapysdrinput)
else()
message(STATUS "Not building soapysdrinput (ENABLE_SOAPYSDR=${ENABLE_SOAPYSDR} SOAPYSDR_FOUND=${SOAPYSDR_FOUND})")
endif()
if(LIBSIGMF_FOUND)
add_subdirectory(sigmffileinput)
else()
message(STATUS "Not building sigmffileinput (LIBSIGMF_FOUND=${LIBSIGMF_FOUND})")
endif()
if(ENABLE_USRP AND UHD_FOUND)
add_subdirectory(usrpinput)
else()
message(STATUS "Not building usrpinput (ENABLE_USRP=${ENABLE_USRP} UHD_FOUND=${UHD_FOUND})")
endif()
add_subdirectory(audioinput)

View File

@ -503,6 +503,10 @@ if(DEFINED OPUS_DEPENDS)
add_dependencies(sdrbase "${OPUS_DEPENDS}")
endif()
if(DEFINED LIBSIGMF_DEPENDS)
add_dependencies(sdrbase "${LIBSIGMF_DEPENDS}")
endif()
target_link_libraries(sdrbase
${OPUS_LIBRARIES}
${sdrbase_FFTW3F_LIB}