diff --git a/CMakeLists.txt b/CMakeLists.txt index dffb7c60..5bea7e96 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,15 +17,6 @@ if (ANDROID) set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=c++17") endif (ANDROID) -# Compiler arguments for each platform -if (MSVC) - target_compile_options(sdrpp PRIVATE /O2 /Ob2 /std:c++17 /EHsc) -elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_compile_options(sdrpp PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) -else () - target_compile_options(sdrpp PRIVATE -O3 -std=c++17) -endif () - # Backends option(OPT_BACKEND_GLFW "Use the GLFW backend" ON) option(OPT_BACKEND_ANDROID "Use the Android backend" OFF) @@ -218,12 +209,23 @@ endif (OPT_BUILD_SCHEDULER) add_executable(sdrpp "src/main.cpp" "win32/resources.rc") target_link_libraries(sdrpp PRIVATE sdrpp_core) +# Compiler arguments for each platform +if (MSVC) + target_compile_options(sdrpp PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(sdrpp PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(sdrpp PRIVATE -O3 -std=c++17) +endif () + + # Copy dynamic libs over if (MSVC) add_custom_target(do_always ALL xcopy /s \"$\\*.dll\" \"$\" /Y) add_custom_target(do_always_volk ALL xcopy /s \"C:/Program Files/PothosSDR/bin\\volk.dll\" \"$\" /Y) endif () + if (${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") add_custom_target(do_always ALL cp \"$/libsdrpp_core.so\" \"$\") endif () diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index 4d8612ec..675cdee8 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -29,6 +29,15 @@ endif (OPT_BACKEND_ANDROID) # Add code to dyn lib add_library(sdrpp_core SHARED ${SRC} ${BACKEND_SRC}) +# Set compiler options +if (MSVC) + target_compile_options(sdrpp_core PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(sdrpp_core PRIVATE -O3 -std=c++17) +else () + target_compile_options(sdrpp_core PRIVATE -O3 -std=c++17) +endif () + # Set the install prefix target_compile_definitions(sdrpp_core PUBLIC INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}") diff --git a/decoder_modules/falcon9_decoder/CMakeLists.txt b/decoder_modules/falcon9_decoder/CMakeLists.txt index 6876f34c..d08286ad 100644 --- a/decoder_modules/falcon9_decoder/CMakeLists.txt +++ b/decoder_modules/falcon9_decoder/CMakeLists.txt @@ -9,5 +9,13 @@ set_target_properties(falcon9_decoder PROPERTIES PREFIX "") target_include_directories(falcon9_decoder PRIVATE "src/") +if (MSVC) + target_compile_options(falcon9_decoder PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(falcon9_decoder PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(falcon9_decoder PRIVATE -O3 -std=c++17) +endif () + # Install directives install(TARGETS falcon9_decoder DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/decoder_modules/kg_sstv_decoder/CMakeLists.txt b/decoder_modules/kg_sstv_decoder/CMakeLists.txt index bff8079b..4bb74df2 100644 --- a/decoder_modules/kg_sstv_decoder/CMakeLists.txt +++ b/decoder_modules/kg_sstv_decoder/CMakeLists.txt @@ -9,5 +9,13 @@ set_target_properties(kg_sstv_decoder PROPERTIES PREFIX "") target_include_directories(kg_sstv_decoder PRIVATE "src/") +if (MSVC) + target_compile_options(kg_sstv_decoder PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(kg_sstv_decoder PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(kg_sstv_decoder PRIVATE -O3 -std=c++17) +endif () + # Install directives install(TARGETS kg_sstv_decoder DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/decoder_modules/m17_decoder/CMakeLists.txt b/decoder_modules/m17_decoder/CMakeLists.txt index 9f960b74..4b445789 100644 --- a/decoder_modules/m17_decoder/CMakeLists.txt +++ b/decoder_modules/m17_decoder/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(m17_decoder PROPERTIES PREFIX "") target_include_directories(m17_decoder PRIVATE "src/") +if (MSVC) + target_compile_options(m17_decoder PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(m17_decoder PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(m17_decoder PRIVATE -O3 -std=c++17) +endif () + if (MSVC) # Lib path target_include_directories(m17_decoder PRIVATE "C:/Program Files/codec2/include/") diff --git a/decoder_modules/meteor_demodulator/CMakeLists.txt b/decoder_modules/meteor_demodulator/CMakeLists.txt index 79df1a54..e15042f4 100644 --- a/decoder_modules/meteor_demodulator/CMakeLists.txt +++ b/decoder_modules/meteor_demodulator/CMakeLists.txt @@ -9,5 +9,13 @@ add_library(meteor_demodulator SHARED ${SRC}) target_link_libraries(meteor_demodulator PRIVATE sdrpp_core) set_target_properties(meteor_demodulator PROPERTIES PREFIX "") +if (MSVC) + target_compile_options(meteor_demodulator PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(meteor_demodulator PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(meteor_demodulator PRIVATE -O3 -std=c++17) +endif () + # Install directives install(TARGETS meteor_demodulator DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/decoder_modules/radio/CMakeLists.txt b/decoder_modules/radio/CMakeLists.txt index 4c806bb0..f554f2a8 100644 --- a/decoder_modules/radio/CMakeLists.txt +++ b/decoder_modules/radio/CMakeLists.txt @@ -9,5 +9,13 @@ set_target_properties(radio PROPERTIES PREFIX "") target_include_directories(radio PRIVATE "src/") +if (MSVC) + target_compile_options(radio PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(radio PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(radio PRIVATE -O3 -std=c++17) +endif () + # Install directives install(TARGETS radio DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/decoder_modules/weather_sat_decoder/CMakeLists.txt b/decoder_modules/weather_sat_decoder/CMakeLists.txt index 4e1d0cfc..b687d758 100644 --- a/decoder_modules/weather_sat_decoder/CMakeLists.txt +++ b/decoder_modules/weather_sat_decoder/CMakeLists.txt @@ -9,5 +9,13 @@ set_target_properties(weather_sat_decoder PROPERTIES PREFIX "") target_include_directories(weather_sat_decoder PRIVATE "src/") +if (MSVC) + target_compile_options(weather_sat_decoder PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(weather_sat_decoder PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(weather_sat_decoder PRIVATE -O3 -std=c++17) +endif () + # Install directives install(TARGETS weather_sat_decoder DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/misc_modules/demo_module/CMakeLists.txt b/misc_modules/demo_module/CMakeLists.txt index 2b8ce39d..9a1fdb1d 100644 --- a/misc_modules/demo_module/CMakeLists.txt +++ b/misc_modules/demo_module/CMakeLists.txt @@ -9,5 +9,13 @@ set_target_properties(demo PROPERTIES PREFIX "") target_include_directories(demo PRIVATE "src/") +if (MSVC) + target_compile_options(demo PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(demo PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(demo PRIVATE -O3 -std=c++17) +endif () + # Install directives install(TARGETS demo DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/misc_modules/discord_integration/CMakeLists.txt b/misc_modules/discord_integration/CMakeLists.txt index a31e0d1b..c0f54b1e 100644 --- a/misc_modules/discord_integration/CMakeLists.txt +++ b/misc_modules/discord_integration/CMakeLists.txt @@ -17,5 +17,13 @@ set_target_properties(discord_integration PROPERTIES PREFIX "") target_include_directories(discord_integration PRIVATE "src/" "discord-rpc/include" "../../decoder_modules/radio/src/") +if (MSVC) + target_compile_options(discord_integration PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(discord_integration PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(discord_integration PRIVATE -O3 -std=c++17) +endif () + # Install directives install(TARGETS discord_integration DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/misc_modules/frequency_manager/CMakeLists.txt b/misc_modules/frequency_manager/CMakeLists.txt index 91ca9314..a3397c94 100644 --- a/misc_modules/frequency_manager/CMakeLists.txt +++ b/misc_modules/frequency_manager/CMakeLists.txt @@ -9,5 +9,13 @@ set_target_properties(frequency_manager PROPERTIES PREFIX "") target_include_directories(frequency_manager PRIVATE "src/" "../../decoder_modules/radio/src") +if (MSVC) + target_compile_options(frequency_manager PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(frequency_manager PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(frequency_manager PRIVATE -O3 -std=c++17) +endif () + # Install directives install(TARGETS frequency_manager DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/misc_modules/recorder/CMakeLists.txt b/misc_modules/recorder/CMakeLists.txt index 0f91f97b..d72b938e 100644 --- a/misc_modules/recorder/CMakeLists.txt +++ b/misc_modules/recorder/CMakeLists.txt @@ -9,5 +9,13 @@ set_target_properties(recorder PROPERTIES PREFIX "") target_include_directories(recorder PRIVATE "src/") +if (MSVC) + target_compile_options(recorder PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(recorder PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(recorder PRIVATE -O3 -std=c++17) +endif () + # Install directives install(TARGETS recorder DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/misc_modules/rigctl_server/CMakeLists.txt b/misc_modules/rigctl_server/CMakeLists.txt index 665e78ba..89a61df2 100644 --- a/misc_modules/rigctl_server/CMakeLists.txt +++ b/misc_modules/rigctl_server/CMakeLists.txt @@ -12,5 +12,13 @@ target_include_directories(rigctl_server PRIVATE "../recorder/src") target_include_directories(rigctl_server PRIVATE "../../decoder_modules/meteor_demodulator/src") target_include_directories(rigctl_server PRIVATE "../../decoder_modules/radio/src") +if (MSVC) + target_compile_options(rigctl_server PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(rigctl_server PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(rigctl_server PRIVATE -O3 -std=c++17) +endif () + # Install directives install(TARGETS rigctl_server DESTINATION lib/sdrpp/plugins) diff --git a/misc_modules/scanner/CMakeLists.txt b/misc_modules/scanner/CMakeLists.txt index 9e3e82d6..98a380bc 100644 --- a/misc_modules/scanner/CMakeLists.txt +++ b/misc_modules/scanner/CMakeLists.txt @@ -9,5 +9,13 @@ set_target_properties(scanner PROPERTIES PREFIX "") target_include_directories(scanner PRIVATE "src/") +if (MSVC) + target_compile_options(scanner PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(scanner PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(scanner PRIVATE -O3 -std=c++17) +endif () + # Install directives install(TARGETS scanner DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/misc_modules/scheduler/CMakeLists.txt b/misc_modules/scheduler/CMakeLists.txt index fcf15ec4..f51a8f5c 100644 --- a/misc_modules/scheduler/CMakeLists.txt +++ b/misc_modules/scheduler/CMakeLists.txt @@ -9,5 +9,13 @@ set_target_properties(scheduler PROPERTIES PREFIX "") target_include_directories(scheduler PRIVATE "src/") +if (MSVC) + target_compile_options(scheduler PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(scheduler PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(scheduler PRIVATE -O3 -std=c++17) +endif () + # Install directives install(TARGETS scheduler DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/sink_modules/audio_sink/CMakeLists.txt b/sink_modules/audio_sink/CMakeLists.txt index b056716e..e76fa43b 100644 --- a/sink_modules/audio_sink/CMakeLists.txt +++ b/sink_modules/audio_sink/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(audio_sink PROPERTIES PREFIX "") target_include_directories(audio_sink PRIVATE "src/") +if (MSVC) + target_compile_options(audio_sink PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(audio_sink PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(audio_sink PRIVATE -O3 -std=c++17) +endif () + if (MSVC) # Lib path target_link_directories(audio_sink PRIVATE "C:/Program Files (x86)/RtAudio/lib") diff --git a/sink_modules/network_sink/CMakeLists.txt b/sink_modules/network_sink/CMakeLists.txt index 46b9964f..b7ab9c7b 100644 --- a/sink_modules/network_sink/CMakeLists.txt +++ b/sink_modules/network_sink/CMakeLists.txt @@ -9,5 +9,13 @@ set_target_properties(network_sink PROPERTIES PREFIX "") target_include_directories(network_sink PRIVATE "src/") +if (MSVC) + target_compile_options(network_sink PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(network_sink PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(network_sink PRIVATE -O3 -std=c++17) +endif () + # Install directives install(TARGETS network_sink DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/sink_modules/new_portaudio_sink/CMakeLists.txt b/sink_modules/new_portaudio_sink/CMakeLists.txt index 44bf4663..0d052915 100644 --- a/sink_modules/new_portaudio_sink/CMakeLists.txt +++ b/sink_modules/new_portaudio_sink/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(new_portaudio_sink PROPERTIES PREFIX "") target_include_directories(new_portaudio_sink PRIVATE "src/") +if (MSVC) + target_compile_options(new_portaudio_sink PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(new_portaudio_sink PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(new_portaudio_sink PRIVATE -O3 -std=c++17) +endif () + if (MSVC) find_package(portaudio CONFIG REQUIRED) target_link_libraries(new_portaudio_sink PRIVATE portaudio) diff --git a/sink_modules/portaudio_sink/CMakeLists.txt b/sink_modules/portaudio_sink/CMakeLists.txt index 377f7636..d9209895 100644 --- a/sink_modules/portaudio_sink/CMakeLists.txt +++ b/sink_modules/portaudio_sink/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(audio_sink PROPERTIES PREFIX "") target_include_directories(audio_sink PRIVATE "src/") +if (MSVC) + target_compile_options(audio_sink PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(audio_sink PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(audio_sink PRIVATE -O3 -std=c++17) +endif () + if (MSVC) find_package(portaudio CONFIG REQUIRED) target_link_libraries(audio_sink PRIVATE portaudio) diff --git a/source_modules/airspy_source/CMakeLists.txt b/source_modules/airspy_source/CMakeLists.txt index 9993ff03..b206da92 100644 --- a/source_modules/airspy_source/CMakeLists.txt +++ b/source_modules/airspy_source/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(airspy_source PROPERTIES PREFIX "") target_include_directories(airspy_source PRIVATE "src/") +if (MSVC) + target_compile_options(airspy_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(airspy_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(airspy_source PRIVATE -O3 -std=c++17) +endif () + if (MSVC) # Lib path target_link_directories(airspy_source PRIVATE "C:/Program Files/PothosSDR/bin/") diff --git a/source_modules/airspyhf_source/CMakeLists.txt b/source_modules/airspyhf_source/CMakeLists.txt index 28091dfb..03446ad9 100644 --- a/source_modules/airspyhf_source/CMakeLists.txt +++ b/source_modules/airspyhf_source/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(airspyhf_source PROPERTIES PREFIX "") target_include_directories(airspyhf_source PRIVATE "src/") +if (MSVC) + target_compile_options(airspyhf_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(airspyhf_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(airspyhf_source PRIVATE -O3 -std=c++17) +endif () + if (MSVC) # Lib path target_link_directories(airspyhf_source PRIVATE "C:/Program Files/PothosSDR/bin/") diff --git a/source_modules/bladerf_source/CMakeLists.txt b/source_modules/bladerf_source/CMakeLists.txt index ed8a989f..bd801ce4 100644 --- a/source_modules/bladerf_source/CMakeLists.txt +++ b/source_modules/bladerf_source/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(bladerf_source PROPERTIES PREFIX "") target_include_directories(bladerf_source PRIVATE "src/") +if (MSVC) + target_compile_options(bladerf_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(bladerf_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(bladerf_source PRIVATE -O3 -std=c++17) +endif () + if (MSVC) # Lib path target_link_directories(bladerf_source PRIVATE "C:/Program Files/PothosSDR/bin/") diff --git a/source_modules/file_source/CMakeLists.txt b/source_modules/file_source/CMakeLists.txt index eb6ae93a..496c0841 100644 --- a/source_modules/file_source/CMakeLists.txt +++ b/source_modules/file_source/CMakeLists.txt @@ -9,5 +9,13 @@ set_target_properties(file_source PROPERTIES PREFIX "") target_include_directories(file_source PRIVATE "src/") +if (MSVC) + target_compile_options(file_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(file_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(file_source PRIVATE -O3 -std=c++17) +endif () + # Install directives install(TARGETS file_source DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/source_modules/hackrf_source/CMakeLists.txt b/source_modules/hackrf_source/CMakeLists.txt index 5e209e2b..6b69c751 100644 --- a/source_modules/hackrf_source/CMakeLists.txt +++ b/source_modules/hackrf_source/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(hackrf_source PROPERTIES PREFIX "") target_include_directories(hackrf_source PRIVATE "src/") +if (MSVC) + target_compile_options(hackrf_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(hackrf_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(hackrf_source PRIVATE -O3 -std=c++17) +endif () + if (MSVC) # Lib path target_link_directories(hackrf_source PRIVATE "C:/Program Files/PothosSDR/bin/") diff --git a/source_modules/limesdr_source/CMakeLists.txt b/source_modules/limesdr_source/CMakeLists.txt index 961e756f..9d07ae34 100644 --- a/source_modules/limesdr_source/CMakeLists.txt +++ b/source_modules/limesdr_source/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(limesdr_source PROPERTIES PREFIX "") target_include_directories(limesdr_source PRIVATE "src/") +if (MSVC) + target_compile_options(limesdr_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(limesdr_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(limesdr_source PRIVATE -O3 -std=c++17) +endif () + if (MSVC) # Lib path target_link_directories(limesdr_source PRIVATE "C:/Program Files/PothosSDR/lib") diff --git a/source_modules/plutosdr_source/CMakeLists.txt b/source_modules/plutosdr_source/CMakeLists.txt index 20e39e42..224a328d 100644 --- a/source_modules/plutosdr_source/CMakeLists.txt +++ b/source_modules/plutosdr_source/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(plutosdr_source PROPERTIES PREFIX "") target_include_directories(plutosdr_source PRIVATE "src/") +if (MSVC) + target_compile_options(plutosdr_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(plutosdr_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(plutosdr_source PRIVATE -O3 -std=c++17) +endif () + if (MSVC) # Lib path target_link_directories(plutosdr_source PRIVATE "C:/Program Files/PothosSDR/lib/") diff --git a/source_modules/rfspace_source/CMakeLists.txt b/source_modules/rfspace_source/CMakeLists.txt index 71232607..30355891 100644 --- a/source_modules/rfspace_source/CMakeLists.txt +++ b/source_modules/rfspace_source/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(rfspace_source PROPERTIES PREFIX "") target_include_directories(rfspace_source PRIVATE "src/") +if (MSVC) + target_compile_options(rfspace_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(rfspace_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(rfspace_source PRIVATE -O3 -std=c++17) +endif () + if(WIN32) target_link_libraries(rfspace_source PRIVATE wsock32 ws2_32) endif() diff --git a/source_modules/rtl_sdr_source/CMakeLists.txt b/source_modules/rtl_sdr_source/CMakeLists.txt index f35475bd..3df82b21 100644 --- a/source_modules/rtl_sdr_source/CMakeLists.txt +++ b/source_modules/rtl_sdr_source/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(rtl_sdr_source PROPERTIES PREFIX "") target_include_directories(rtl_sdr_source PRIVATE "src/") +if (MSVC) + target_compile_options(rtl_sdr_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(rtl_sdr_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(rtl_sdr_source PRIVATE -O3 -std=c++17) +endif () + if (MSVC) # Lib path target_link_directories(rtl_sdr_source PRIVATE "C:/Program Files/PothosSDR/bin/") diff --git a/source_modules/rtl_tcp_source/CMakeLists.txt b/source_modules/rtl_tcp_source/CMakeLists.txt index 6cacf2f8..a1e0a785 100644 --- a/source_modules/rtl_tcp_source/CMakeLists.txt +++ b/source_modules/rtl_tcp_source/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(rtl_tcp_source PROPERTIES PREFIX "") target_include_directories(rtl_tcp_source PRIVATE "src/") +if (MSVC) + target_compile_options(rtl_tcp_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(rtl_tcp_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(rtl_tcp_source PRIVATE -O3 -std=c++17) +endif () + if(WIN32) target_link_libraries(rtl_tcp_source PRIVATE wsock32 ws2_32) endif() diff --git a/source_modules/sddc_source/CMakeLists.txt b/source_modules/sddc_source/CMakeLists.txt index 5c6890fb..0882a1f8 100644 --- a/source_modules/sddc_source/CMakeLists.txt +++ b/source_modules/sddc_source/CMakeLists.txt @@ -14,6 +14,14 @@ set_target_properties(sddc_source PROPERTIES PREFIX "") target_include_directories(sddc_source PRIVATE "src/" "src/libsddc/" "src/libsddc/Core/" "src/libsddc/Core/pffft/" "src/libsddc/libsddc/") +if (MSVC) + target_compile_options(sddc_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(sddc_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(sddc_source PRIVATE -O3 -std=c++17) +endif () + if (MSVC) # Lib path target_link_directories(sddc_source PRIVATE "C:/Program Files/PothosSDR/lib/") diff --git a/source_modules/sdrplay_source/CMakeLists.txt b/source_modules/sdrplay_source/CMakeLists.txt index d23e0cd3..902d2507 100644 --- a/source_modules/sdrplay_source/CMakeLists.txt +++ b/source_modules/sdrplay_source/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(sdrplay_source PROPERTIES PREFIX "") target_include_directories(sdrplay_source PRIVATE "src/") +if (MSVC) + target_compile_options(sdrplay_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(sdrplay_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(sdrplay_source PRIVATE -O3 -std=c++17) +endif () + if (MSVC) # Lib path target_link_directories(sdrplay_source PRIVATE "C:/Program Files/SDRplay/API/x64") diff --git a/source_modules/sdrpp_server_source/CMakeLists.txt b/source_modules/sdrpp_server_source/CMakeLists.txt index 587a7a2d..477e6484 100644 --- a/source_modules/sdrpp_server_source/CMakeLists.txt +++ b/source_modules/sdrpp_server_source/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(sdrpp_server_source PROPERTIES PREFIX "") target_include_directories(sdrpp_server_source PRIVATE "src/") +if (MSVC) + target_compile_options(sdrpp_server_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(sdrpp_server_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(sdrpp_server_source PRIVATE -O3 -std=c++17) +endif () + if(WIN32) target_link_libraries(sdrpp_server_source PRIVATE wsock32 ws2_32) endif() diff --git a/source_modules/soapy_source/CMakeLists.txt b/source_modules/soapy_source/CMakeLists.txt index 5dfb2b78..f6b40fe2 100644 --- a/source_modules/soapy_source/CMakeLists.txt +++ b/source_modules/soapy_source/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(soapy_source PROPERTIES PREFIX "") target_include_directories(soapy_source PRIVATE "src/") +if (MSVC) + target_compile_options(soapy_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(soapy_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(soapy_source PRIVATE -O3 -std=c++17) +endif () + if (MSVC) # Lib path target_link_directories(soapy_source PRIVATE "C:/Program Files/PothosSDR/lib/") diff --git a/source_modules/spyserver_source/CMakeLists.txt b/source_modules/spyserver_source/CMakeLists.txt index 823b75b3..db904df0 100644 --- a/source_modules/spyserver_source/CMakeLists.txt +++ b/source_modules/spyserver_source/CMakeLists.txt @@ -9,6 +9,14 @@ set_target_properties(spyserver_source PROPERTIES PREFIX "") target_include_directories(spyserver_source PRIVATE "src/") +if (MSVC) + target_compile_options(spyserver_source PRIVATE /O2 /Ob2 /std:c++17 /EHsc) +elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(spyserver_source PRIVATE -O3 -std=c++17 -Wno-unused-command-line-argument -undefined dynamic_lookup) +else () + target_compile_options(spyserver_source PRIVATE -O3 -std=c++17) +endif () + if(WIN32) target_link_libraries(spyserver_source PRIVATE wsock32 ws2_32) endif()