From 70434765d7bb726dd829a5b17c188321f0f2b2a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= Date: Sun, 1 Nov 2020 13:03:13 +0100 Subject: [PATCH] Add support for VS2019 and Ninja - Specify byproducts in external projects - Use external Boost - Remove hacky Qt detection - Fix CRT mismatch in external projects (fixes SoapySDR on Windows) - Minor fixes --- .appveyor.yml | 41 +-- CMakeLists.txt | 43 ++-- cmake/Modules/DeployQt.cmake | 4 + cmake/Modules/QtLocator.cmake | 48 ---- cmake/ci/build_sdrangel.sh | 21 +- debian/rules | 5 +- devices/plutosdr/CMakeLists.txt | 1 - devices/usrp/CMakeLists.txt | 9 +- external/CMakeLists.txt | 233 +++++++++++------- plugins/channelrx/chanalyzer/CMakeLists.txt | 4 - plugins/channelrx/demodatv/CMakeLists.txt | 1 - plugins/channelrx/demodbfm/CMakeLists.txt | 1 - plugins/channelrx/filesink/CMakeLists.txt | 1 - plugins/channelrx/localsink/CMakeLists.txt | 1 - plugins/channelrx/remotesink/CMakeLists.txt | 1 - plugins/channeltx/localsource/CMakeLists.txt | 1 - plugins/channeltx/mod802.15.4/CMakeLists.txt | 1 - plugins/channeltx/remotesource/CMakeLists.txt | 1 - .../samplesink/remoteoutput/CMakeLists.txt | 1 - plugins/samplesink/usrpoutput/CMakeLists.txt | 5 - plugins/samplesource/kiwisdr/CMakeLists.txt | 1 - .../samplesource/remoteinput/CMakeLists.txt | 1 - plugins/samplesource/usrpinput/CMakeLists.txt | 5 - sdrbase/CMakeLists.txt | 2 +- sdrbase/ambe/ambeengine.cpp | 6 +- sdrbase/ambe/ambeengine.h | 2 +- sdrbase/util/serialutil.cpp | 4 +- sdrgui/CMakeLists.txt | 1 - 28 files changed, 201 insertions(+), 244 deletions(-) delete mode 100644 cmake/Modules/QtLocator.cmake mode change 100644 => 100755 cmake/ci/build_sdrangel.sh diff --git a/.appveyor.yml b/.appveyor.yml index ed3fd8934..b798601d2 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -9,36 +9,41 @@ matrix: fast_finish: false environment: -# my_variable: -# secure: kyU5TaXRoily6q/QLRLqal2xCFGWEdnb8AJIu7FknsUQyj1wjRGmqC2My+Wfszod matrix: - - TARGET: vs2017gui - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017' - # RelWithDebInfo + - TARGET: vs2019gui + APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2019' configuration: Release - # CMAKE_CUSTOM_OPTIONS: "-DENABLE_EXTERNAL_LIBRARIES=OFF" - CMAKE_CUSTOM_OPTIONS: "-DFORCE_SSE41=ON -DQT_MISSING=OFF -DDEBUG_OUTPUT=ON -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF" - CMAKE_GENERATOR: "Visual Studio 15 2017 Win64" + CMAKE_CUSTOM_OPTIONS: "-DCMAKE_BUILD_TYPE=Release \ + -DFORCE_SSE41=ON \ + -DDEBUG_OUTPUT=ON \ + -DENABLE_MIRISDR=OFF \ + -DBUILD_SERVER=OFF \ + -DCMAKE_PREFIX_PATH=C:\\Qt\\5.15.1\\msvc2019_64;C:\\Libraries\\boost_1_73_0" + CMAKE_GENERATOR: Ninja - TARGET: ubuntu2004prod APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004 - CMAKE_CUSTOM_OPTIONS: "-DFORCE_SSE41=ON -DDEBUG_OUTPUT=ON -DENABLE_EXTERNAL_LIBRARIES=ON" + CC: "gcc-9" + CXX: "g++-9" + CMAKE_CUSTOM_OPTIONS: "-DCMAKE_BUILD_TYPE=Release \ + -DFORCE_SSE41=ON \ + -DDEBUG_OUTPUT=ON \ + -DENABLE_EXTERNAL_LIBRARIES=ON" -# image: -# - &linux Ubuntu1804 -# - matrix: { only: [ image: *linux ] } for: - matrix: only: - - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017' + - APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2019' cache: - C:\ProgramData\chocolatey\bin - C:\ProgramData\chocolatey\lib - #- C:\Tools\vcpkg\installed build_script: + - call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" + # Install GNU patch as applying patches with git fails in BladeRF tree + - choco install patch - git submodule update --init --recursive - mkdir build && cd build - - cmake ..\ -G "%CMAKE_GENERATOR%" %CMAKE_CUSTOM_OPTIONS% - - cmake --build . --config Release --target PACKAGE + - cmake .. -G "%CMAKE_GENERATOR%" %CMAKE_CUSTOM_OPTIONS% + - cmake --build . --config Release --target package artifacts: # push installer executable path: build\*.exe name: installer @@ -76,7 +81,7 @@ for: libopus-dev libcodec2-dev libairspy-dev libhackrf-dev \ libbladerf-dev libsoapysdr-dev libiio-dev libuhd-dev \ python3-mako python3-cheetah python3-numpy \ - autoconf automake libtool + autoconf automake libtool ninja-build - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES=ON" ]]; then bash cmake/ci/build_cm256cc.sh; fi - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES=ON" ]]; then bash cmake/ci/build_mbelib.sh; fi - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES=ON" ]]; then bash cmake/ci/build_serialdv.sh; fi @@ -90,7 +95,7 @@ for: - sh: bash -c export - sh: bash -c pwd build_script: - - sh: bash cmake/ci/build_sdrangel.sh + - sh: ./cmake/ci/build_sdrangel.sh test_script: # debian build path - sh: ./obj-x86_64-linux-gnu/sdrangelbench diff --git a/CMakeLists.txt b/CMakeLists.txt index f64c31ac0..b87aa5052 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,10 +1,6 @@ -cmake_minimum_required(VERSION 3.1.0) +cmake_minimum_required(VERSION 3.16.0) -# force 64bit on windows because we have only that library -# TODO discuss because, at this days, a dsp software should be 64bit -# if(WIN32 AND NOT CMAKE_GENERATOR_PLATFORM AND NOT CMAKE_C_COMPILER AND NOT CMAKE_CXX_COMPILER) -# set(CMAKE_GENERATOR_PLATFORM "x64" CACHE INTERNAL "") -# endif() +set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") project(sdrangel) @@ -192,39 +188,35 @@ elseif(APPLE) "${CMAKE_BINARY_DIR}/Info.plist" @ONLY) elseif (WIN32) # check compiler version - if(MSVC_VERSION GREATER 1910 AND MSVC_VERSION LESS 1919) + if(MSVC_VERSION GREATER 1920 AND MSVC_VERSION LESS 1929) + set(VS2019 ON) + elseif(MSVC_VERSION GREATER 1910 AND MSVC_VERSION LESS 1919) set(VS2017 ON) elseif(MSVC_VERSION GREATER 1899 AND MSVC_VERSION LESS 1910) set(VS2015 ON) endif() - if(NOT VS2015 AND NOT VS2017) - message(FATAL_ERROR "You must use Microsoft Visual Studio 2015 or 2017 as compiler") + if(NOT VS2015 AND NOT VS2017 AND NOT VS2019) + message(FATAL_ERROR "You must use Microsoft Visual Studio 2015, 2017 or 2019 as compiler") endif() - # used on code but not defined on VS2017 - add_definitions(-D__WINDOWS__) - # compile with full multicore - set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} /MP /w") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /w") - - # find Qt folder - if(DEFINED QT_PATH) - set (QT_MISSING False) + if(MSVC) + add_compile_definitions(/MP) endif() - include(QtLocator) # in alternative we can use ExternalProject set(EXTERNAL_LIBRARY_FOLDER "${CMAKE_SOURCE_DIR}/external/windows") - set(BOOST_ROOT "${EXTERNAL_LIBRARY_FOLDER}/boost" CACHE INTERNAL "") - set(BOOST_LIBRARYDIR "${EXTERNAL_LIBRARY_FOLDER}/boost/lib64-msvc-14.1" CACHE INTERNAL "") set(FFTW3F_FOUND ON CACHE INTERNAL "") set(FFTW3F_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/fftw-3/include" CACHE INTERNAL "") set(FFTW3F_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/fftw-3/libfftw3f-3.lib" CACHE INTERNAL "") set(LIBUSB_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/libusb/include" CACHE INTERNAL "") set(LIBUSB_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/libusb/MS64/dll/libusb-1.0.lib" CACHE INTERNAL "") - set(OpenCV_DIR "${EXTERNAL_LIBRARY_FOLDER}/opencv" CACHE INTERNAL "") + if(VS2019) + set(OpenCV_DIR "${EXTERNAL_LIBRARY_FOLDER}/opencv4" CACHE INTERNAL "") + else() + set(OpenCV_DIR "${EXTERNAL_LIBRARY_FOLDER}/opencv" CACHE INTERNAL "") + endif() set(PKG_CONFIG_EXECUTABLE "${EXTERNAL_LIBRARY_FOLDER}/pkg-config-lite/bin/pkg-config.exe" CACHE INTERNAL "") set(SOAPYSUPPORT_DIR "${EXTERNAL_LIBRARY_FOLDER}/soapysdr-support" CACHE INTERNAL "") @@ -260,7 +252,6 @@ elseif (WIN32) # used on fixup_bundle phase set(WINDOWS_FIXUP_BUNDLE_LIB_DIRS - "${Qt5_DIR}../../../bin" "${EXTERNAL_LIBRARY_FOLDER}/fftw-3" "${EXTERNAL_LIBRARY_FOLDER}/libusb/MS64/dll" "${EXTERNAL_LIBRARY_FOLDER}/ffmpeg/bin" @@ -371,11 +362,7 @@ if(WIN32) set(OpenCV_ARCH "86") endif() - if(VS2015) - set(OpenCV_LIBS_BIN_DIR "${OpenCV_DIR}/x${OpenCV_ARCH}/vc14/bin" CACHE INTERNAL "") - elseif(VS2017) - set(OpenCV_LIBS_BIN_DIR "${OpenCV_DIR}/x${OpenCV_ARCH}/vc15/bin" CACHE INTERNAL "") - endif() + set(OpenCV_LIBS_BIN_DIR "${OpenCV_DIR}/x${OpenCV_ARCH}/${OpenCV_RUNTIME}/bin" CACHE INTERNAL "") set(WINDOWS_FIXUP_BUNDLE_LIB_DIRS "${WINDOWS_FIXUP_BUNDLE_LIB_DIRS}" diff --git a/cmake/Modules/DeployQt.cmake b/cmake/Modules/DeployQt.cmake index d8a1d2d79..d302cf203 100644 --- a/cmake/Modules/DeployQt.cmake +++ b/cmake/Modules/DeployQt.cmake @@ -25,6 +25,8 @@ function(windeployqt target bindir qmldir) --dir "${bindir}" --qmldir "${qmldir}" --multimedia + --websockets + --opengl \"$\" COMMENT "Deploying Qt..." ) @@ -38,6 +40,8 @@ function(windeployqt target bindir qmldir) --dir "${bindir}/winqt" --qmldir "${qmldir}" --multimedia + --websockets + --opengl \"$\" COMMENT "Deploying Qt..." ) diff --git a/cmake/Modules/QtLocator.cmake b/cmake/Modules/QtLocator.cmake deleted file mode 100644 index d70bc2e78..000000000 --- a/cmake/Modules/QtLocator.cmake +++ /dev/null @@ -1,48 +0,0 @@ -SET(QT_MISSING True) -# msvc only; mingw will need different logic -IF(MSVC) - # look for user-registry pointing to qtcreator - GET_FILENAME_COMPONENT(QT_BIN [HKEY_CURRENT_USER\\Software\\Classes\\Applications\\QtProject.QtCreator.pro\\shell\\Open\\Command] PATH) - - # get root path so we can search for 5.10, 5.11, 5.12, etc - STRING(REPLACE "/Tools" ";" QT_BIN "${QT_BIN}") - LIST(GET QT_BIN 0 QT_BIN) - FILE(GLOB QT_VERSIONS "${QT_BIN}/5.1*") - LIST(SORT QT_VERSIONS) - - # assume the latest version will be last alphabetically - LIST(REVERSE QT_VERSIONS) - - LIST(GET QT_VERSIONS 0 QT_VERSION) - - # fix any double slashes which seem to be common - STRING(REPLACE "//" "/" QT_VERSION "${QT_VERSION}") - - # do some math trickery to guess folder - # - qt uses (e.g.) "msvc2012" - # - cmake uses (e.g.) "1800" - # - see also https://cmake.org/cmake/help/v3.0/variable/MSVC_VERSION.html - # checkcompiler version - if(MSVC_VERSION GREATER 1910 AND MSVC_VERSION LESS 1919) - set(QT_MSVC 2017) - elseif(MSVC_VERSION GREATER 1899 AND MSVC_VERSION LESS 1910) - set(QT_MSVC 2015) - else() - MATH(EXPR QT_MSVC "2000 + (${MSVC_VERSION} - 600) / 100") - endif() - - # check for 64-bit os - # may need to be removed for older compilers as it wasn't always offered - IF(CMAKE_SYSTEM_PROCESSOR MATCHES 64) - SET(QT_MSVC "${QT_MSVC}_64") - ENDIF() - SET(QT_PATH "${QT_VERSION}/msvc${QT_MSVC}") - SET(QT_MISSING False) -ENDIF() - -# use Qt_DIR approach so you can find Qt after cmake has been invoked -IF(NOT QT_MISSING) - MESSAGE("-- Qt found: ${QT_PATH}") - SET(Qt5_DIR "${QT_PATH}/lib/cmake/Qt5/") - SET(Qt5Test_DIR "${QT_PATH}/lib/cmake/Qt5Test") -ENDIF() diff --git a/cmake/ci/build_sdrangel.sh b/cmake/ci/build_sdrangel.sh old mode 100644 new mode 100755 index d42142561..8ea5358b3 --- a/cmake/ci/build_sdrangel.sh +++ b/cmake/ci/build_sdrangel.sh @@ -1,26 +1,17 @@ -#!/bin/sh - -if [ "${TRAVIS_OS_NAME}" == "osx" ]; then - JOBS=$(sysctl -n hw.ncpu) -elif [ "${TRAVIS_OS_NAME}" == "linux" ] || [ ${CI_LINUX} = true ]; then - JOBS=$(nproc --all) -else - JOBS=1 -fi - +#!/bin/sh -e if [ "${TRAVIS_OS_NAME}" == "linux" ] || [ ${CI_LINUX} = true ]; then debuild -i -us -uc -b else - mkdir build && cd build - cmake .. "${CMAKE_CUSTOM_OPTIONS}" + mkdir -p build; cd build + cmake .. -GNinja ${CMAKE_CUSTOM_OPTIONS} case "${CMAKE_CUSTOM_OPTIONS}" in *BUNDLE=ON*) - make -j${JOBS} package + cmake --build . --target package ;; *) - make -j${JOBS} + cmake --build . ;; - esac + esac fi diff --git a/debian/rules b/debian/rules index b73828347..c131bc0e1 100755 --- a/debian/rules +++ b/debian/rules @@ -1,11 +1,14 @@ #!/usr/bin/make -f %: - dh $@ --parallel + dh $@ --parallel --buildsystem=cmake+ninja # FORCE_SSE41 will be not accepted upstream override_dh_auto_configure: dh_auto_configure -- -DFORCE_SSE41=ON -DENABLE_EXTERNAL_LIBRARIES=ON -DDEBUG_OUTPUT=ON +override_dh_auto_test: + echo "Skipping test step" + # permit the packaging with /usr/local/lib libraries (from `make install`) # you can also use `export DEB_DH_SHLIBDEPS_ARGS_ALL=--dpkg-shlibdeps-params=--ignore-missing-info` # not a good idea! diff --git a/devices/plutosdr/CMakeLists.txt b/devices/plutosdr/CMakeLists.txt index db56a61d0..4a58a5b33 100644 --- a/devices/plutosdr/CMakeLists.txt +++ b/devices/plutosdr/CMakeLists.txt @@ -19,7 +19,6 @@ set(plutosdrdevice_HEADERS include_directories( ${LIBIIO_INCLUDE_DIR} ${ICONV_INCLUDE_DIR} - ${Boost_INCLUDE_DIRS} ) add_library(plutosdrdevice SHARED diff --git a/devices/usrp/CMakeLists.txt b/devices/usrp/CMakeLists.txt index 31803536f..ce6fd890f 100644 --- a/devices/usrp/CMakeLists.txt +++ b/devices/usrp/CMakeLists.txt @@ -1,8 +1,3 @@ -if(WIN32) - # ${Boost_LIBRARY_DIRS} is empty on windows - link_directories(${BOOST_LIBRARYDIR}) -endif() - project(usrpdevice) @@ -20,7 +15,6 @@ set(usrpdevice_HEADERS include_directories( ${UHD_INCLUDE_DIR} - ${Boost_INCLUDE_DIRS} ) add_library(usrpdevice SHARED @@ -30,10 +24,9 @@ add_library(usrpdevice SHARED set_target_properties(usrpdevice PROPERTIES DEFINE_SYMBOL "devices_EXPORTS") -link_directories(${Boost_LIBRARY_DIRS}) - target_link_libraries(usrpdevice ${UHD_LIBRARIES} + Boost::disable_autolinking sdrbase ) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 5f8e8a809..63d515b57 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -37,7 +37,7 @@ include(ExternalProject) # default build destination in windows to avoid Release/Debug folder if (WIN32) # the build will be output on the same folder of sdrangel - set(DEFAULT_OUTPUT_DIRECTORIES + set(COMMON_CMAKE_ARGS -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=${SDRANGEL_BINARY_BIN_DIR} -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG=${SDRANGEL_BINARY_BIN_DIR} -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=${SDRANGEL_BINARY_BIN_DIR} @@ -52,7 +52,7 @@ if (WIN32) -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO=${SDRANGEL_BINARY_LIB_DIR} ) elseif (LINUX) - set(DEFAULT_OUTPUT_DIRECTORIES + set(COMMON_CMAKE_ARGS -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=${EXTERNAL_BUILD_LIBRARIES}/bin -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG=${EXTERNAL_BUILD_LIBRARIES}/bin -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=${EXTERNAL_BUILD_LIBRARIES}/bin @@ -68,6 +68,19 @@ elseif (LINUX) ) endif () +if(CMAKE_MSVC_RUNTIME_LIBRARY) + list(APPEND COMMON_CMAKE_ARGS -DCMAKE_POLICY_DEFAULT_CMP0091:STRING=NEW) + list(APPEND COMMON_CMAKE_ARGS -DCMAKE_MSVC_RUNTIME_LIBRARY=${CMAKE_MSVC_RUNTIME_LIBRARY}) +endif() + +if(CMAKE_BUILD_TYPE) + list(APPEND COMMON_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) +endif() + +list(APPEND COMMON_CMAKE_ARGS -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}) +list(APPEND COMMON_CMAKE_ARGS -DCMAKE_CXX_STANDARD_REQUIRED=${CMAKE_CXX_STANDARD_REQUIRED}) +list(APPEND COMMON_CMAKE_ARGS -DCMAKE_CXX_EXTENSIONS=${CMAKE_CXX_EXTENSIONS}) + if (LINUX) # macro that create symbolic links macro(makeLink src dest target) @@ -159,11 +172,17 @@ endif (AUTO_EXTERNAL_LIBRARIES) if (NOT WIN32 AND (NOT CODEC2_FOUND OR CODEC2_EXTERNAL)) # needs speexdsp + if (WIN32) + set(CODEC2_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/codec2.lib" CACHE INTERNAL "") + elseif (LINUX) + set(CODEC2_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib/libcodec2${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") + endif () ExternalProject_Add(codec2 GIT_REPOSITORY https://github.com/drowe67/codec2.git GIT_TAG ${CODEC2_TAG} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/codec2" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} + CMAKE_ARGS ${COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS "${CODEC2_LIBRARIES}" INSTALL_COMMAND "" TEST_COMMAND "" ) @@ -186,16 +205,22 @@ endif (NOT WIN32 AND (NOT CODEC2_FOUND OR CODEC2_EXTERNAL)) if (NOT APPLE AND (NOT CM256CC_FOUND OR CM256CC_EXTERNAL)) # needs boost + if (WIN32) + set(CM256CC_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/cm256cc.lib" CACHE INTERNAL "") + elseif (LINUX) + set(CM256CC_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib/libcm256cc${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") + endif () + string(REPLACE ";" "|" CMAKE_PREFIX_PATH_SEP "${CMAKE_PREFIX_PATH}") ExternalProject_Add(cm256cc GIT_REPOSITORY https://github.com/f4exb/cm256cc.git GIT_TAG ${CM256CC_TAG} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/cm256cc" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} + LIST_SEPARATOR | + CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DBUILD_TOOLS=OFF - -DBOOST_ROOT="${BOOST_ROOT}" - -DBoost_INCLUDE_DIR=${Boost_INCLUDE_DIRS} - -DBoost_INCLUDE_DIRS=${Boost_INCLUDE_DIRS} + -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_SEP} -DENABLE_DISTRIBUTION=ON + BUILD_BYPRODUCTS "${CM256CC_LIBRARIES}" INSTALL_COMMAND "" TEST_COMMAND "" ) @@ -205,10 +230,7 @@ if (NOT APPLE AND (NOT CM256CC_FOUND OR CM256CC_EXTERNAL)) # we need cm256cc/library.h set(CM256CC_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/cm256cc/src" CACHE INTERNAL "") if (WIN32) - set(CM256CC_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/cm256cc.lib" CACHE INTERNAL "") install(FILES "${SDRANGEL_BINARY_BIN_DIR}/cm256cc${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}") - elseif (LINUX) - set(CM256CC_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib/libcm256cc${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") elseif (APPLE) # kept in case of relaxation of APPLE exclusion set(CM256CC_LIBRARIES "${binary_dir}/libcm256cc${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") install(DIRECTORY "${binary_dir}/" DESTINATION "${INSTALL_LIB_DIR}" @@ -228,7 +250,7 @@ if ((NOT LIBDSDCC_FOUND OR LIBDSDCC_EXTERNAL) AND (NOT LIBMBE_FOUND OR LIBMBE_EX GIT_REPOSITORY https://github.com/kasper93/mbelib.git GIT_TAG ${MBELIB_TAG} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/mbelib" - CMAKE_ARGS -DDISABLE_TEST=ON ${DEFAULT_OUTPUT_DIRECTORIES} + CMAKE_ARGS -DDISABLE_TEST=ON ${COMMON_CMAKE_ARGS} BUILD_BYPRODUCTS "${LIBMBE_LIBRARIES}" INSTALL_COMMAND "" TEST_COMMAND "" @@ -251,12 +273,17 @@ endif ((NOT LIBDSDCC_FOUND OR LIBDSDCC_EXTERNAL) AND (NOT LIBMBE_FOUND OR LIBMBE if (NOT LIBSERIALDV_FOUND OR LIBSERIALDV_EXTERNAL) # Works on MacOS with a dummy serialDV + if (WIN32) + set(LIBSERIALDV_LIBRARY "${SDRANGEL_BINARY_LIB_DIR}/serialdv.lib" CACHE INTERNAL "") + elseif (LINUX) + set(LIBSERIALDV_LIBRARY "${EXTERNAL_BUILD_LIBRARIES}/lib/libserialdv${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") + endif () ExternalProject_Add(serialdv GIT_REPOSITORY https://github.com/f4exb/serialDV.git GIT_TAG ${SERIALDV_TAG} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/serialdv" - CMAKE_ARGS -DBUILD_TOOL=OFF ${DEFAULT_OUTPUT_DIRECTORIES} - INSTALL_COMMAND "" + CMAKE_ARGS -DBUILD_TOOL=OFF ${COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS "${LIBSERIALDV_LIBRARY}" INSTALL_COMMAND "" TEST_COMMAND "" ) @@ -266,11 +293,9 @@ if (NOT LIBSERIALDV_FOUND OR LIBSERIALDV_EXTERNAL) set(LIBSERIALDV_EXTERNAL ON CACHE INTERNAL "") set(LIBSERIALDV_INCLUDE_DIR "${source_dir}" CACHE INTERNAL "") if (WIN32) - set(LIBSERIALDV_LIBRARY "${SDRANGEL_BINARY_LIB_DIR}/serialdv.lib" CACHE INTERNAL "") makeCopyDir("${source_dir}" "${source_dir}/dsp" serialdv) install(FILES "${SDRANGEL_BINARY_BIN_DIR}/serialdv${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}") elseif (LINUX) - set(LIBSERIALDV_LIBRARY "${EXTERNAL_BUILD_LIBRARIES}/lib/libserialdv${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") # because sdrbase/dsp/dvserialworker.h use dsp/dvcontroller.h # so we need a link makeLink("${source_dir}" "${source_dir}/dsp" serialdv) @@ -286,17 +311,23 @@ if (NOT LIBSERIALDV_FOUND OR LIBSERIALDV_EXTERNAL) endif (NOT LIBSERIALDV_FOUND OR LIBSERIALDV_EXTERNAL) if ((NOT LIBDSDCC_FOUND OR LIBDSDCC_EXTERNAL) AND LIBMBE_FOUND) + if (WIN32) + set(LIBDSDCC_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/dsdcc.lib" CACHE INTERNAL "") + elseif (LINUX) + set(LIBDSDCC_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib/libdsdcc${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") + endif () ExternalProject_Add(dsdcc GIT_REPOSITORY https://github.com/f4exb/dsdcc.git GIT_TAG ${DSDCC_TAG} DEPENDS ${DSDCC_DEPENDS} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/dsdcc" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} + CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DBUILD_TOOL=OFF -DUSE_MBELIB=${USE_MBELIB} -DLIBMBE_INCLUDE_DIR=${LIBMBE_INCLUDE_DIR} -DLIBMBE_LIBRARY=${LIBMBE_LIBRARIES} -DLIBSERIALDV_INCLUDE_DIR=${LIBSERIALDV_INCLUDE_DIR} -DLIBSERIALDV_LIBRARY=${LIBSERIALDV_LIBRARY} + BUILD_BYPRODUCTS "${LIBDSDCC_LIBRARIES}" INSTALL_COMMAND "" TEST_COMMAND "" ) @@ -305,10 +336,7 @@ if ((NOT LIBDSDCC_FOUND OR LIBDSDCC_EXTERNAL) AND LIBMBE_FOUND) set(LIBDSDCC_EXTERNAL ON CACHE INTERNAL "") set(LIBDSDCC_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/dsdcc/src" CACHE INTERNAL "") if (WIN32) - set(LIBDSDCC_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/dsdcc.lib" CACHE INTERNAL "") install(FILES "${SDRANGEL_BINARY_BIN_DIR}/dsdcc${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}") - elseif (LINUX) - set(LIBDSDCC_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib/libdsdcc${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") elseif (APPLE) set(LIBDSDCC_LIBRARIES "${binary_dir}/libdsdcc${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") install(DIRECTORY "${binary_dir}/" DESTINATION "${INSTALL_LIB_DIR}" @@ -347,134 +375,142 @@ 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) - ExternalProject_Add(limesuite - GIT_REPOSITORY https://github.com/myriadrf/LimeSuite.git - GIT_TAG ${LIMESUITE_TAG} - PREFIX "${EXTERNAL_BUILD_LIBRARIES}/limesuite" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} -DLIME_SUITE_EXTVER=release -DENABLE_GUI=OFF -DENABLE_NOVENARF7=OFF -DENABLE_SOAPY_LMS7=OFF -DENABLE_OCTAVE=OFF -DENABLE_SIMD_FLAGS=SSE3 - INSTALL_COMMAND "" - TEST_COMMAND "" - ) - ExternalProject_Get_Property(limesuite source_dir) set(LIMESUITE_FOUND ON CACHE INTERNAL "") 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/libLimeSuite.so" CACHE INTERNAL "") + ExternalProject_Add(limesuite + GIT_REPOSITORY https://github.com/myriadrf/LimeSuite.git + GIT_TAG ${LIMESUITE_TAG} + PREFIX "${EXTERNAL_BUILD_LIBRARIES}/limesuite" + CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DLIME_SUITE_EXTVER=release -DENABLE_GUI=OFF -DENABLE_NOVENARF7=OFF -DENABLE_SOAPY_LMS7=OFF -DENABLE_OCTAVE=OFF -DENABLE_SIMD_FLAGS=SSE3 + BUILD_BYPRODUCTS "${LIMESUITE_LIBRARY}" + INSTALL_COMMAND "" + TEST_COMMAND "" + ) + 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) # apt install libbladerf-dev # needs pkgconfig and libusb if (NOT LIBBLADERF_FOUND OR LIBBLADERF_EXTERNAL) + set(LIBBLADERF_FOUND ON CACHE INTERNAL "") + 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 "") ExternalProject_Add(bladerf GIT_REPOSITORY https://github.com/Nuand/bladeRF.git GIT_TAG ${BLADERF_TAG} GIT_SUBMODULES PREFIX "${EXTERNAL_BUILD_LIBRARIES}/bladerf" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} + CMAKE_ARGS ${COMMON_CMAKE_ARGS} SOURCE_SUBDIR host/ + BUILD_BYPRODUCTS "${LIBBLADERF_LIBRARIES}" INSTALL_COMMAND "" TEST_COMMAND "" ) - set(LIBBLADERF_FOUND ON CACHE INTERNAL "") - 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}/lib/libbladeRF.so" CACHE INTERNAL "") + install(FILES "${LIBBLADERF_LIBRARIES}" DESTINATION "${INSTALL_LIB_DIR}") endif (NOT LIBBLADERF_FOUND OR LIBBLADERF_EXTERNAL) # apt install libiio-dev # needs pkgconfig, libusb, libxml2, lzma, xz, libiconv if (NOT LIBIIO_FOUND OR LIBIIO_EXTERNAL) - ExternalProject_Add(libiio - GIT_REPOSITORY https://github.com/analogdevicesinc/libiio.git - GIT_TAG ${LIBIIO_TAG} - PREFIX "${EXTERNAL_BUILD_LIBRARIES}/libiio" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} -DOSX_PACKAGE=OFF -DWITH_DOC=OFF - INSTALL_COMMAND "" - TEST_COMMAND "" - ) set(LIBIIO_FOUND ON CACHE INTERNAL "") 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/libiio.so" CACHE INTERNAL "") + ExternalProject_Add(libiio + GIT_REPOSITORY https://github.com/analogdevicesinc/libiio.git + GIT_TAG ${LIBIIO_TAG} + PREFIX "${EXTERNAL_BUILD_LIBRARIES}/libiio" + CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DOSX_PACKAGE=OFF -DWITH_DOC=OFF + BUILD_BYPRODUCTS "${LIBIIO_LIBRARIES}" + INSTALL_COMMAND "" + TEST_COMMAND "" + ) endif (NOT LIBIIO_FOUND OR LIBIIO_EXTERNAL) # 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 "") + set(LIBAIRSPYHF_EXTERNAL ON CACHE INTERNAL "") + set(LIBAIRSPYHF_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib/libairspyhf.so" CACHE INTERNAL "") ExternalProject_Add(airspyhf GIT_REPOSITORY https://github.com/airspy/airspyhf.git GIT_TAG ${AIRSPYHF_TAG} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/airspyhf" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} + CMAKE_ARGS ${COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS "${LIBAIRSPYHF_LIBRARIES}" INSTALL_COMMAND "" TEST_COMMAND "" ) ExternalProject_Get_Property(airspyhf source_dir) - set(LIBAIRSPYHF_FOUND ON CACHE INTERNAL "") - set(LIBAIRSPYHF_EXTERNAL ON CACHE INTERNAL "") set(LIBAIRSPYHF_INCLUDE_DIR "${source_dir}/.." CACHE INTERNAL "") - set(LIBAIRSPYHF_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib/libairspyhf.so" CACHE INTERNAL "") makeLink("${source_dir}/libairspyhf/src" "${source_dir}/../libairspyhf" airspyhf) endif (NOT LIBAIRSPYHF_FOUND OR LIBAIRSPYHF_EXTERNAL) # needs pkgconfig, libusb, autoconf, automake and libtool if (NOT LIBPERSEUS_FOUND OR LIBPERSEUS_EXTERNAL) - ExternalProject_Add(perseus - GIT_REPOSITORY https://github.com/f4exb/libperseus-sdr.git - GIT_TAG ${PERSEUS_TAG} - PREFIX "${EXTERNAL_BUILD_LIBRARIES}/perseus" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} - INSTALL_COMMAND "" - TEST_COMMAND "" - ) set(LIBPERSEUS_FOUND ON CACHE INTERNAL "") 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/libperseus-sdr.so" CACHE INTERNAL "") + ExternalProject_Add(perseus + GIT_REPOSITORY https://github.com/f4exb/libperseus-sdr.git + GIT_TAG ${PERSEUS_TAG} + PREFIX "${EXTERNAL_BUILD_LIBRARIES}/perseus" + CMAKE_ARGS ${COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS "${LIBPERSEUS_LIBRARIES}" + INSTALL_COMMAND "" + TEST_COMMAND "" + ) endif (NOT LIBPERSEUS_FOUND OR LIBPERSEUS_EXTERNAL) # apt install librtlsdr-dev # needs pkgconfig and libusb if (NOT LIBRTLSDR_FOUND OR LIBRTLSDR_EXTERNAL) - ExternalProject_Add(rtlsdr - GIT_REPOSITORY https://github.com/osmocom/rtl-sdr.git - GIT_TAG ${RTLSDR_TAG} - PREFIX "${EXTERNAL_BUILD_LIBRARIES}/rtlsdr" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} -DDETACH_KERNEL_DRIVER=ON -DINSTALL_UDEV_RULES=${RTLSDR_UDEV} - INSTALL_COMMAND "" - TEST_COMMAND "" - ) set(LIBRTLSDR_FOUND ON CACHE INTERNAL "") 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/librtlsdr.so" CACHE INTERNAL "") + ExternalProject_Add(rtlsdr + GIT_REPOSITORY https://github.com/osmocom/rtl-sdr.git + GIT_TAG ${RTLSDR_TAG} + PREFIX "${EXTERNAL_BUILD_LIBRARIES}/rtlsdr" + CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DDETACH_KERNEL_DRIVER=ON -DINSTALL_UDEV_RULES=${RTLSDR_UDEV} + BUILD_BYPRODUCTS "${LIBRTLSDR_LIBRARIES}" + INSTALL_COMMAND "" + TEST_COMMAND "" + ) endif (NOT LIBRTLSDR_FOUND OR LIBRTLSDR_EXTERNAL) # needs pkgconfig and libusb if (NOT LIBMIRISDR_FOUND OR LIBMIRISDR_EXTERNAL) - ExternalProject_Add(libmirisdr - GIT_REPOSITORY https://github.com/f4exb/libmirisdr-4.git - GIT_TAG ${MIRISDR_TAG} - PREFIX "${EXTERNAL_BUILD_LIBRARIES}/libmirisdr" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} - INSTALL_COMMAND "" - TEST_COMMAND "" - ) set(LIBMIRISDR_FOUND ON CACHE INTERNAL "") 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/libmirisdr.so" CACHE INTERNAL "") + ExternalProject_Add(libmirisdr + GIT_REPOSITORY https://github.com/f4exb/libmirisdr-4.git + GIT_TAG ${MIRISDR_TAG} + PREFIX "${EXTERNAL_BUILD_LIBRARIES}/libmirisdr" + CMAKE_ARGS ${COMMON_CMAKE_ARGS} + BUILD_BYPRODUCTS "${LIBMIRISDR_LIBRARIES}" + INSTALL_COMMAND "" + TEST_COMMAND "" + ) endif (NOT LIBMIRISDR_FOUND OR LIBMIRISDR_EXTERNAL) endif (LINUX) if (WIN32 OR APPLE) if (ENABLE_RTLSDR) + set(RTLSDR_LIBUSB_INCLUDE "${LIBUSB_INCLUDE_DIR}") if (WIN32) + set(LIBRTLSDR_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/rtlsdr.lib" CACHE INTERNAL "") set(RTLSDR_LIBUSB_INCLUDE "${LIBUSB_INCLUDE_DIR}/libusb-1.0") - else () - set(RTLSDR_LIBUSB_INCLUDE "${LIBUSB_INCLUDE_DIR}") endif () # needs pkgconfig and libusb ExternalProject_Add(rtlsdr @@ -482,12 +518,13 @@ if (WIN32 OR APPLE) GIT_TAG ${RTLSDR_TAG} DEPENDS ${PTHREADS4W_DEPENDS} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/rtlsdr" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} + CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DINSTALL_UDEV_RULES=${RTLSDR_UDEV} -DLIBUSB_LIBRARIES=${LIBUSB_LIBRARIES} -DLIBUSB_INCLUDE_DIR=${RTLSDR_LIBUSB_INCLUDE} -DTHREADS_PTHREADS_INCLUDE_DIR=${PTHREADS4W_INCLUDE_DIR} -DTHREADS_PTHREADS_WIN32_LIBRARY=${PTHREADS4W_LIBRARIES} + BUILD_BYPRODUCTS "${LIBRTLSDR_LIBRARIES}" INSTALL_COMMAND "" TEST_COMMAND "" ) @@ -496,7 +533,6 @@ if (WIN32 OR APPLE) set(LIBRTLSDR_EXTERNAL ON CACHE INTERNAL "") set(LIBRTLSDR_INCLUDE_DIR "${source_dir}/include" CACHE INTERNAL "") if (WIN32) - set(LIBRTLSDR_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/rtlsdr.lib" CACHE INTERNAL "") install(FILES "${SDRANGEL_BINARY_BIN_DIR}/rtlsdr${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}") elseif (APPLE) set(LIBRTLSDR_LIBRARIES "${binary_dir}/src/librtlsdr${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") @@ -508,11 +544,14 @@ if (WIN32 OR APPLE) if (ENABLE_LIMESUITE) # needs pkgconfig, libusb + if (WIN32) + set(LIMESUITE_LIBRARY "${SDRANGEL_BINARY_LIB_DIR}/LimeSuite.lib" CACHE INTERNAL "") + endif () ExternalProject_Add(limesuite GIT_REPOSITORY https://github.com/myriadrf/LimeSuite.git GIT_TAG ${LIMESUITE_TAG} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/limesuite" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} + CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DLIME_SUITE_EXTVER=release -DENABLE_GUI=OFF -DENABLE_NOVENARF7=OFF @@ -522,6 +561,7 @@ if (WIN32 OR APPLE) -DENABLE_EXAMPLES=OFF -DENABLE_SIMD_FLAGS=SSE3 -DFX3_SDK_PATH=${FX3SDK_DIR} + BUILD_BYPRODUCTS "${LIMESUITE_LIBRARY}" INSTALL_COMMAND "" TEST_COMMAND "" ) @@ -530,7 +570,6 @@ if (WIN32 OR APPLE) set(LIMESUITE_EXTERNAL ON CACHE INTERNAL "") set(LIMESUITE_INCLUDE_DIR "${source_dir}/src" CACHE INTERNAL "") if (WIN32) - set(LIMESUITE_LIBRARY "${SDRANGEL_BINARY_LIB_DIR}/LimeSuite.lib" CACHE INTERNAL "") install(FILES "${SDRANGEL_BINARY_BIN_DIR}/LimeSuite${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}") makeCopy("${source_dir}/src/limeRFE/limeRFE.h" "${source_dir}/src/lime/limeRFE.h" limesuite) elseif (APPLE) @@ -542,14 +581,18 @@ if (WIN32 OR APPLE) endif (ENABLE_LIMESUITE) if (ENABLE_SOAPYSDR) + if (WIN32) + set(SOAPYSDR_LIBRARY "${SDRANGEL_BINARY_LIB_DIR}/SoapySDR.lib" CACHE INTERNAL "") + endif () ExternalProject_Add(soapysdr GIT_REPOSITORY https://github.com/pothosware/SoapySDR.git GIT_TAG ${SOAPYSDR_TAG} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/soapysdr" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} + CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DENABLE_PYTHON=OFF -DENABLE_PYTHON3=OFF -DENABLE_TESTS=OFF + BUILD_BYPRODUCTS "${SOAPYSDR_LIBRARY}" INSTALL_COMMAND "" TEST_COMMAND "" ) @@ -558,7 +601,6 @@ if (WIN32 OR APPLE) set(SOAPYSDR_EXTERNAL ON CACHE INTERNAL "") set(SOAPYSDR_INCLUDE_DIR "${source_dir}/include" CACHE INTERNAL "") if (WIN32) - set(SOAPYSDR_LIBRARY "${SDRANGEL_BINARY_LIB_DIR}/SoapySDR.lib" CACHE INTERNAL "") install(FILES "${SDRANGEL_BINARY_BIN_DIR}/SoapySDR${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}") elseif (APPLE) set(SOAPYSDR_LIBRARY "${binary_dir}/lib/libSoapySDR${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") @@ -569,10 +611,10 @@ if (WIN32 OR APPLE) endif (ENABLE_SOAPYSDR) if (ENABLE_AIRSPY) + set(AIRSPY_LIBUSB_INCLUDE_DIR ${LIBUSB_INCLUDE_DIR}) if (WIN32) + set(LIBAIRSPY_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/airspy.lib" CACHE INTERNAL "") set(AIRSPY_LIBUSB_INCLUDE_DIR ${LIBUSB_INCLUDE_DIR}/libusb-1.0) - else () - set(AIRSPY_LIBUSB_INCLUDE_DIR ${LIBUSB_INCLUDE_DIR}) endif () # needs libusb, pthreads ExternalProject_Add(airspy @@ -580,11 +622,13 @@ if (WIN32 OR APPLE) GIT_TAG ${AIRSPY_TAG} DEPENDS ${PTHREADS4W_DEPENDS} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/airspy" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} + SOURCE_SUBDIR "libairspy" + CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DLIBUSB_LIBRARIES=${LIBUSB_LIBRARIES} -DLIBUSB_INCLUDE_DIR=${AIRSPY_LIBUSB_INCLUDE_DIR} -DTHREADS_PTHREADS_INCLUDE_DIR=${PTHREADS4W_INCLUDE_DIR} -DTHREADS_PTHREADS_WIN32_LIBRARY=${PTHREADS4W_LIBRARIES} + BUILD_BYPRODUCTS "${LIBAIRSPY_LIBRARIES}" INSTALL_COMMAND "" TEST_COMMAND "" ) @@ -594,9 +638,8 @@ if (WIN32 OR APPLE) set(LIBAIRSPY_EXTERNAL ON CACHE INTERNAL "") set(LIBAIRSPY_INCLUDE_DIR "${source_dir}/libairspy/src" CACHE INTERNAL "") if (WIN32) - set(LIBAIRSPY_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/airspy.lib" CACHE INTERNAL "") makeCopyDir("${source_dir}/libairspy/src" "${source_dir}/libairspy/src/libairspy" airspy) - makeCopy("${binary_dir}/airspy-tools/src/airspy${CMAKE_SHARED_LIBRARY_SUFFIX}" "${SDRANGEL_BINARY_BIN_DIR}/airspy${CMAKE_SHARED_LIBRARY_SUFFIX}" airspy) + makeCopy("${binary_dir}/../airspy-tools/src/airspy${CMAKE_SHARED_LIBRARY_SUFFIX}" "${SDRANGEL_BINARY_BIN_DIR}/airspy${CMAKE_SHARED_LIBRARY_SUFFIX}" airspy) install(FILES "${SDRANGEL_BINARY_BIN_DIR}/airspy${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}") elseif (APPLE) set(LIBAIRSPY_LIBRARIES "${binary_dir}/libairspy/src/libairspy${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") @@ -608,10 +651,10 @@ if (WIN32 OR APPLE) endif (ENABLE_AIRSPY) if (ENABLE_AIRSPYHF) + set(AIRSPYHF_LIBUSB_INCLUDE_DIR ${LIBUSB_INCLUDE_DIR}) if (WIN32) + set(LIBAIRSPYHF_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/airspyhf.lib" CACHE INTERNAL "") set(AIRSPYHF_LIBUSB_INCLUDE_DIR ${LIBUSB_INCLUDE_DIR}/libusb-1.0) - else () - set(AIRSPYHF_LIBUSB_INCLUDE_DIR ${LIBUSB_INCLUDE_DIR}) endif () # needs pkgconfig, libusb, pthreads ExternalProject_Add(airspyhf @@ -619,11 +662,12 @@ if (WIN32 OR APPLE) GIT_TAG ${AIRSPYHF_TAG} DEPENDS ${PTHREADS4W_DEPENDS} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/airspyhf" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} + CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DLIBUSB_LIBRARIES=${LIBUSB_LIBRARIES} -DLIBUSB_INCLUDE_DIR=${AIRSPYHF_LIBUSB_INCLUDE_DIR} -DTHREADS_PTHREADS_INCLUDE_DIR=${PTHREADS4W_INCLUDE_DIR} -DTHREADS_PTHREADS_WIN32_LIBRARY=${PTHREADS4W_LIBRARIES} + BUILD_BYPRODUCTS "${LIBAIRSPYHF_LIBRARIES}" INSTALL_COMMAND "" TEST_COMMAND "" ) @@ -633,7 +677,6 @@ if (WIN32 OR APPLE) set(LIBAIRSPYHF_EXTERNAL ON CACHE INTERNAL "") set(LIBAIRSPYHF_INCLUDE_DIR "${source_dir}/libairspyhf/src" CACHE INTERNAL "") if (WIN32) - set(LIBAIRSPYHF_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/airspyhf.lib" CACHE INTERNAL "") makeCopyDir("${source_dir}/libairspyhf/src" "${source_dir}/libairspyhf/src/libairspyhf" airspyhf) install(FILES "${SDRANGEL_BINARY_BIN_DIR}/airspyhf${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}") elseif (APPLE) @@ -652,6 +695,7 @@ if (WIN32 OR APPLE) # needs pkgconfig, libusb, fftw, pthreads if (WIN32) set(HACKRF_LIBUSB_INCLUDE_DIR ${LIBUSB_INCLUDE_DIR}/libusb-1.0) + set(LIBHACKRF_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/hackrf.lib" CACHE INTERNAL "") else () set(HACKRF_LIBUSB_INCLUDE_DIR ${LIBUSB_INCLUDE_DIR}) endif () @@ -662,13 +706,14 @@ if (WIN32 OR APPLE) DEPENDS ${PTHREADS4W_DEPENDS} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/hackrf" SOURCE_SUBDIR "host/libhackrf" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} + CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DLIBUSB_LIBRARIES=${LIBUSB_LIBRARIES} -DLIBUSB_INCLUDE_DIR=${HACKRF_LIBUSB_INCLUDE_DIR} -DTHREADS_PTHREADS_INCLUDE_DIR=${PTHREADS4W_INCLUDE_DIR} -DTHREADS_PTHREADS_WIN32_LIBRARY=${PTHREADS4W_LIBRARIES} -DFFTW_INCLUDES=${FFTW3F_INCLUDE_DIRS} -DFFTW_LIBRARIES=${FFTW3F_LIBRARIES} + BUILD_BYPRODUCTS "${LIBHACKRF_LIBRARIES}" INSTALL_COMMAND "" TEST_COMMAND "" ) @@ -678,7 +723,6 @@ if (WIN32 OR APPLE) set(LIBHACKRF_EXTERNAL ON CACHE INTERNAL "") set(LIBHACKRF_INCLUDE_DIR "${source_dir}/host/libhackrf" CACHE INTERNAL "") if (WIN32) - set(LIBHACKRF_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/hackrf.lib" CACHE INTERNAL "") # include "libhackrf/hackrf.h" makeCopyDir("${source_dir}/host/libhackrf/src" "${source_dir}/host/libhackrf/libhackrf" hackrf) install(FILES "${SDRANGEL_BINARY_BIN_DIR}/hackrf${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}") @@ -725,6 +769,7 @@ if (WIN32 OR APPLE) set(LIBXML2_INCLUDE_DIR "${source_dir}/include" CACHE INTERNAL "") if (WIN32) set(LIBXML2_LIBRARIES "${source_dir}/win32/bin.msvc/libxml2.lib" CACHE INTERNAL "") + set(LIBIIO_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/libiio.lib" CACHE INTERNAL "") makeCopy("${source_dir}/win32/bin.msvc/libxml2${CMAKE_SHARED_LIBRARY_SUFFIX}" "${SDRANGEL_BINARY_BIN_DIR}/libxml2${CMAKE_SHARED_LIBRARY_SUFFIX}" libxml2) install(FILES "${source_dir}/win32/bin.msvc/libxml2${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}") elseif (APPLE) @@ -739,7 +784,7 @@ if (WIN32 OR APPLE) GIT_TAG ${LIBIIO_TAG} DEPENDS ${PTHREADS4W_DEPENDS} ${LIBXML2_DEPENDS} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/libiio" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} + CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DLIBUSB_LIBRARIES=${LIBUSB_LIBRARIES} -DLIBUSB_INCLUDE_DIR=${LIBUSB_INCLUDE_DIR} -DTHREADS_PTHREADS_INCLUDE_DIR=${PTHREADS4W_INCLUDE_DIR} @@ -750,6 +795,7 @@ if (WIN32 OR APPLE) -DPYTHON_BINDINGS=OFF -DWITH_MATLAB_BINDINGS_API=OFF -DOSX_PACKAGE=OFF + BUILD_BYPRODUCTS "${LIBIIO_LIBRARIES}" INSTALL_COMMAND "" TEST_COMMAND "" ) @@ -759,7 +805,6 @@ if (WIN32 OR APPLE) set(LIBIIO_EXTERNAL ON CACHE INTERNAL "") set(LIBIIO_INCLUDE_DIR "${source_dir}" CACHE INTERNAL "") if (WIN32) - set(LIBIIO_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/libiio.lib" CACHE INTERNAL "") install(FILES "${SDRANGEL_BINARY_BIN_DIR}/libiio${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}") elseif (APPLE) set(LIBIIO_LIBRARIES "${binary_dir}/libiio${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") @@ -774,12 +819,16 @@ if (WIN32 OR APPLE) if (ENABLE_BLADERF) # needs pkgconfig, libusb, pthreads + if (WIN32) + set(LIBBLADERF_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/bladeRF.lib" CACHE INTERNAL "") + endif () ExternalProject_Add(bladerf GIT_REPOSITORY https://github.com/Nuand/bladeRF.git GIT_TAG ${BLADERF_TAG} DEPENDS ${PTHREADS4W_DEPENDS} PREFIX "${EXTERNAL_BUILD_LIBRARIES}/bladerf" - CMAKE_ARGS ${DEFAULT_OUTPUT_DIRECTORIES} + SOURCE_SUBDIR "host" + CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DPKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE} -DENABLE_BACKEND_USB=ON -DENABLE_BACKEND_LIBUSB=ON @@ -793,6 +842,7 @@ if (WIN32 OR APPLE) -DENABLE_HOST_BUILD=ON -DENABLE_BACKEND_CYAPI=OFF -DTREAT_WARNINGS_AS_ERRORS=OFF + BUILD_BYPRODUCTS "${LIBBLADERF_LIBRARIES}" INSTALL_COMMAND "" TEST_COMMAND "" ) @@ -802,7 +852,6 @@ if (WIN32 OR APPLE) set(LIBBLADERF_EXTERNAL ON CACHE INTERNAL "") set(LIBBLADERF_INCLUDE_DIRS "${source_dir}/host/libraries/libbladeRF/include" CACHE INTERNAL "") if (WIN32) - set(LIBBLADERF_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/bladeRF.lib" CACHE INTERNAL "") install(FILES "${SDRANGEL_BINARY_BIN_DIR}/bladeRF${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION "${INSTALL_LIB_DIR}") elseif (APPLE) set(LIBBLADERF_LIBRARIES "${binary_dir}/host/output/libbladeRF${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") diff --git a/plugins/channelrx/chanalyzer/CMakeLists.txt b/plugins/channelrx/chanalyzer/CMakeLists.txt index 942f94311..58f634239 100644 --- a/plugins/channelrx/chanalyzer/CMakeLists.txt +++ b/plugins/channelrx/chanalyzer/CMakeLists.txt @@ -25,10 +25,6 @@ include_directories( ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client ) -include_directories( - ${Boost_INCLUDE_DIRS} -) - add_library(chanalyzer SHARED ${chanalyzer_SOURCES} ) diff --git a/plugins/channelrx/demodatv/CMakeLists.txt b/plugins/channelrx/demodatv/CMakeLists.txt index 52bb83c9c..3760b4e0c 100644 --- a/plugins/channelrx/demodatv/CMakeLists.txt +++ b/plugins/channelrx/demodatv/CMakeLists.txt @@ -22,7 +22,6 @@ set(atv_HEADERS ) include_directories( - ${Boost_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client ) diff --git a/plugins/channelrx/demodbfm/CMakeLists.txt b/plugins/channelrx/demodbfm/CMakeLists.txt index 7e6f22d25..14611fdf4 100644 --- a/plugins/channelrx/demodbfm/CMakeLists.txt +++ b/plugins/channelrx/demodbfm/CMakeLists.txt @@ -30,7 +30,6 @@ set(bfm_HEADERS include_directories( ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client - ${Boost_INCLUDE_DIRS} ) if(NOT SERVER_MODE) diff --git a/plugins/channelrx/filesink/CMakeLists.txt b/plugins/channelrx/filesink/CMakeLists.txt index 867275a07..b45f7f6af 100644 --- a/plugins/channelrx/filesink/CMakeLists.txt +++ b/plugins/channelrx/filesink/CMakeLists.txt @@ -22,7 +22,6 @@ set(filesink_HEADERS include_directories( ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client - ${Boost_INCLUDE_DIR} ) if(NOT SERVER_MODE) diff --git a/plugins/channelrx/localsink/CMakeLists.txt b/plugins/channelrx/localsink/CMakeLists.txt index b5632ae4c..4d6d6f2e0 100644 --- a/plugins/channelrx/localsink/CMakeLists.txt +++ b/plugins/channelrx/localsink/CMakeLists.txt @@ -22,7 +22,6 @@ set(localsink_HEADERS include_directories( ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client - ${Boost_INCLUDE_DIR} ) if(NOT SERVER_MODE) diff --git a/plugins/channelrx/remotesink/CMakeLists.txt b/plugins/channelrx/remotesink/CMakeLists.txt index 64713e86d..3c2faefb4 100644 --- a/plugins/channelrx/remotesink/CMakeLists.txt +++ b/plugins/channelrx/remotesink/CMakeLists.txt @@ -33,7 +33,6 @@ set(remotesink_HEADERS include_directories( ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client - ${Boost_INCLUDE_DIRS} ${CM256CC_INCLUDE_DIR} ${CUSTOM_WINDOWS_INCLUDE} ) diff --git a/plugins/channeltx/localsource/CMakeLists.txt b/plugins/channeltx/localsource/CMakeLists.txt index ead523a10..f59b00f21 100644 --- a/plugins/channeltx/localsource/CMakeLists.txt +++ b/plugins/channeltx/localsource/CMakeLists.txt @@ -22,7 +22,6 @@ set(localsource_HEADERS include_directories( ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client - ${Boost_INCLUDE_DIRS} ) if(NOT SERVER_MODE) diff --git a/plugins/channeltx/mod802.15.4/CMakeLists.txt b/plugins/channeltx/mod802.15.4/CMakeLists.txt index 11dd722f6..56d2e478e 100644 --- a/plugins/channeltx/mod802.15.4/CMakeLists.txt +++ b/plugins/channeltx/mod802.15.4/CMakeLists.txt @@ -20,7 +20,6 @@ set(mod_ieee_802_15_4_HEADERS ) include_directories( - ${Boost_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client ) diff --git a/plugins/channeltx/remotesource/CMakeLists.txt b/plugins/channeltx/remotesource/CMakeLists.txt index 3bf447dc2..73fcf2cc5 100644 --- a/plugins/channeltx/remotesource/CMakeLists.txt +++ b/plugins/channeltx/remotesource/CMakeLists.txt @@ -31,7 +31,6 @@ set(remotesource_HEADERS include_directories( ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client - ${Boost_INCLUDE_DIRS} ${CM256CC_INCLUDE_DIR} ${CUSTOM_WINDOWS_INCLUDE} ) diff --git a/plugins/samplesink/remoteoutput/CMakeLists.txt b/plugins/samplesink/remoteoutput/CMakeLists.txt index 3bf7c60a9..455ab0f6e 100644 --- a/plugins/samplesink/remoteoutput/CMakeLists.txt +++ b/plugins/samplesink/remoteoutput/CMakeLists.txt @@ -34,7 +34,6 @@ set(remoteoutput_HEADERS include_directories( ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client ${CMAKE_SOURCE_DIR}/devices - ${Boost_INCLUDE_DIRS} ${CM256CC_INCLUDE_DIR} ) diff --git a/plugins/samplesink/usrpoutput/CMakeLists.txt b/plugins/samplesink/usrpoutput/CMakeLists.txt index 7e05dbb9a..8bfeece74 100644 --- a/plugins/samplesink/usrpoutput/CMakeLists.txt +++ b/plugins/samplesink/usrpoutput/CMakeLists.txt @@ -1,7 +1,3 @@ -if(WIN32) - link_directories(${BOOST_LIBRARYDIR}) -endif() - project(usrpoutput) set(usrpoutput_SOURCES @@ -24,7 +20,6 @@ include_directories( ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client ${CMAKE_SOURCE_DIR}/devices ${UHD_INCLUDE_DIR} - ${Boost_INCLUDE_DIRS} ) if(NOT SERVER_MODE) diff --git a/plugins/samplesource/kiwisdr/CMakeLists.txt b/plugins/samplesource/kiwisdr/CMakeLists.txt index 8ffdb9fa9..0c03fa1b3 100644 --- a/plugins/samplesource/kiwisdr/CMakeLists.txt +++ b/plugins/samplesource/kiwisdr/CMakeLists.txt @@ -18,7 +18,6 @@ set(kiwisdr_HEADERS include_directories( ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client - ${Boost_INCLUDE_DIRS} ) if(NOT SERVER_MODE) diff --git a/plugins/samplesource/remoteinput/CMakeLists.txt b/plugins/samplesource/remoteinput/CMakeLists.txt index eb1b83715..f6e1a519f 100644 --- a/plugins/samplesource/remoteinput/CMakeLists.txt +++ b/plugins/samplesource/remoteinput/CMakeLists.txt @@ -29,7 +29,6 @@ set(remoteinput_HEADERS include_directories( ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client - ${Boost_INCLUDE_DIRS} ${CM256CC_INCLUDE_DIR} ) diff --git a/plugins/samplesource/usrpinput/CMakeLists.txt b/plugins/samplesource/usrpinput/CMakeLists.txt index a3f495bf1..1fef67c28 100644 --- a/plugins/samplesource/usrpinput/CMakeLists.txt +++ b/plugins/samplesource/usrpinput/CMakeLists.txt @@ -1,7 +1,3 @@ -if(WIN32) - link_directories(${BOOST_LIBRARYDIR}) -endif() - project(usrpinput) set(usrpinput_SOURCES @@ -24,7 +20,6 @@ include_directories( ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client ${CMAKE_SOURCE_DIR}/devices ${UHD_INCLUDE_DIR} - ${Boost_INCLUDE_DIRS} ) if(NOT SERVER_MODE) diff --git a/sdrbase/CMakeLists.txt b/sdrbase/CMakeLists.txt index 167cc445c..d4fe6dfd7 100644 --- a/sdrbase/CMakeLists.txt +++ b/sdrbase/CMakeLists.txt @@ -360,7 +360,6 @@ include_directories( ${CMAKE_SOURCE_DIR}/logging ${CMAKE_SOURCE_DIR}/qrtplib ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client - ${Boost_INCLUDE_DIRS} ${OPUS_INCLUDE_DIRS} ) @@ -381,6 +380,7 @@ target_link_libraries(sdrbase ${sdrbase_FFTW3F_LIB} ${sdrbase_SERIALDV_LIB} ${sdrbase_LIMERFE_LIB} + Boost::headers Qt5::Core Qt5::Multimedia Qt5::WebSockets diff --git a/sdrbase/ambe/ambeengine.cpp b/sdrbase/ambe/ambeengine.cpp index 03e4eec63..8c56c4ec3 100644 --- a/sdrbase/ambe/ambeengine.cpp +++ b/sdrbase/ambe/ambeengine.cpp @@ -27,7 +27,7 @@ #include #endif -#if !defined(__WINDOWS__) && !defined(__APPLE__) +#if !defined(_WIN32) && !defined(__APPLE__) #include #include #include @@ -51,7 +51,7 @@ AMBEEngine::~AMBEEngine() qDebug("AMBEEngine::~AMBEEngine: %lu controllers", m_controllers.size()); } -#if defined(__WINDOWS__) +#if defined(_WIN32) void AMBEEngine::getComList() { m_comList.clear(); @@ -119,7 +119,7 @@ void AMBEEngine::getComList() } #endif // not Windows nor Apple -#if !defined(__WINDOWS__) && !defined(__APPLE__) +#if !defined(_WIN32) && !defined(__APPLE__) void AMBEEngine::register_comport( std::vector& comList, std::vector& comList8250, diff --git a/sdrbase/ambe/ambeengine.h b/sdrbase/ambe/ambeengine.h index 59c16291f..f083d17b7 100644 --- a/sdrbase/ambe/ambeengine.h +++ b/sdrbase/ambe/ambeengine.h @@ -73,7 +73,7 @@ private: std::string device; }; -#ifndef __WINDOWS__ +#ifndef _WIN32 static std::string get_driver(const std::string& tty); static void register_comport(std::vector& comList, std::vector& comList8250, const std::string& dir); static void probe_serial8250_comports(std::vector& comList, std::vector comList8250); diff --git a/sdrbase/util/serialutil.cpp b/sdrbase/util/serialutil.cpp index c84fddb4c..9a74bd2ba 100644 --- a/sdrbase/util/serialutil.cpp +++ b/sdrbase/util/serialutil.cpp @@ -18,7 +18,7 @@ #include #include -#if defined(__WINDOWS__) +#if defined(_WIN32) #include #include #include @@ -31,7 +31,7 @@ #include "serialutil.h" -#if defined(__WINDOWS__) +#if defined(_WIN32) void SerialUtil::getComPorts(std::vector& comPorts, const std::string& regexStr) { (void) regexStr; diff --git a/sdrgui/CMakeLists.txt b/sdrgui/CMakeLists.txt index 093ac3a91..a949b0448 100644 --- a/sdrgui/CMakeLists.txt +++ b/sdrgui/CMakeLists.txt @@ -231,7 +231,6 @@ include_directories( ${CMAKE_SOURCE_DIR}/httpserver ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client ${OPENGL_INCLUDE_DIR} - ${Boost_INCLUDE_DIRS} ) add_library(sdrgui SHARED