diff --git a/CMakeLists.txt b/CMakeLists.txt index fbe5b70c..d3489b2b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -84,13 +84,11 @@ endif (OPT_BUILD_WEATHER_SAT_DECODER) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () set(CMAKE_CXX_FLAGS "-O3 -std=c++17") -endif (MSVC) - -if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -undefined dynamic_lookup") -endif() +endif () add_executable(sdrpp "src/main.cpp" "win32/resources.rc") target_link_libraries(sdrpp PRIVATE sdrpp_core) @@ -99,7 +97,7 @@ target_link_libraries(sdrpp PRIVATE sdrpp_core) 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 (MSVC) +endif () if (${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") diff --git a/airspy_source/CMakeLists.txt b/airspy_source/CMakeLists.txt index d0737e41..16bc13ce 100644 --- a/airspy_source/CMakeLists.txt +++ b/airspy_source/CMakeLists.txt @@ -3,9 +3,11 @@ project(airspy_source) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () include_directories("src/") @@ -28,7 +30,7 @@ else (MSVC) target_include_directories(airspy_source PUBLIC ${LIBAIRSPY_INCLUDE_DIRS}) target_link_directories(airspy_source PUBLIC ${LIBAIRSPY_LIBRARY_DIRS}) target_link_libraries(airspy_source PUBLIC ${LIBAIRSPY_LIBRARIES}) -endif (MSVC) +endif () # Install directives install(TARGETS airspy_source DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/airspyhf_source/CMakeLists.txt b/airspyhf_source/CMakeLists.txt index 413b16d0..41fae329 100644 --- a/airspyhf_source/CMakeLists.txt +++ b/airspyhf_source/CMakeLists.txt @@ -3,9 +3,11 @@ project(airspyhf_source) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () include_directories("src/") @@ -28,7 +30,7 @@ else (MSVC) target_include_directories(airspyhf_source PUBLIC ${LIBAIRSPYHF_INCLUDE_DIRS}) target_link_directories(airspyhf_source PUBLIC ${LIBAIRSPYHF_LIBRARY_DIRS}) target_link_libraries(airspyhf_source PUBLIC ${LIBAIRSPYHF_LIBRARIES}) -endif (MSVC) +endif () # Install directives install(TARGETS airspyhf_source DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/audio_sink/CMakeLists.txt b/audio_sink/CMakeLists.txt index fafc67e5..0e86c46c 100644 --- a/audio_sink/CMakeLists.txt +++ b/audio_sink/CMakeLists.txt @@ -3,9 +3,11 @@ project(audio_sink) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () file(GLOB SRC "src/*.cpp") @@ -34,7 +36,7 @@ else (MSVC) target_link_libraries(sdrpp_core PUBLIC ${RTAUDIO_LIBRARIES}) -endif (MSVC) +endif () # Install directives install(TARGETS audio_sink DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/bladerf_source/CMakeLists.txt b/bladerf_source/CMakeLists.txt index c8b6765a..291cf44b 100644 --- a/bladerf_source/CMakeLists.txt +++ b/bladerf_source/CMakeLists.txt @@ -3,9 +3,11 @@ project(bladerf_source) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () include_directories("src/") @@ -23,7 +25,7 @@ if (MSVC) else (MSVC) # Not in pkg-config target_link_libraries(bladerf_source PUBLIC libbladeRF) -endif (MSVC) +endif () # Install directives install(TARGETS bladerf_source DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index 7a63d490..bcda96b3 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -5,15 +5,13 @@ project(sdrpp_core) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () add_definitions(-DSDRPP_IS_CORE) -if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -undefined dynamic_lookup") -endif() - # Set the install prefix add_compile_definitions(INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}") diff --git a/core/src/dsp/block.h b/core/src/dsp/block.h index 4e0ae35c..713f8d1e 100644 --- a/core/src/dsp/block.h +++ b/core/src/dsp/block.h @@ -45,6 +45,20 @@ namespace dsp { running = false; } + void tempStart() { + if (tempStopped) { + doStart(); + tempStopped = false; + } + } + + void tempStop() { + if (running && !tempStopped) { + doStop(); + tempStopped = true; + } + } + virtual int calcOutSize(int inSize) { return inSize; } virtual int run() = 0; @@ -105,20 +119,6 @@ namespace dsp { } } - void tempStart() { - if (tempStopped) { - doStart(); - tempStopped = false; - } - } - - void tempStop() { - if (running && !tempStopped) { - doStop(); - tempStopped = true; - } - } - std::vector inputs; std::vector outputs; @@ -159,6 +159,20 @@ namespace dsp { running = false; } + void tempStart() { + if (tempStopped) { + doStart(); + tempStopped = false; + } + } + + void tempStop() { + if (running && !tempStopped) { + doStop(); + tempStopped = true; + } + } + virtual int calcOutSize(int inSize) { return inSize; } friend BLOCK; @@ -184,20 +198,6 @@ namespace dsp { } } - void tempStart() { - if (tempStopped) { - doStart(); - tempStopped = false; - } - } - - void tempStop() { - if (running && !tempStopped) { - doStop(); - tempStopped = true; - } - } - std::vector blocks; bool tempStopped = false; bool running = false; diff --git a/falcon9_decoder/CMakeLists.txt b/falcon9_decoder/CMakeLists.txt index 90414c5f..e16f3ca8 100644 --- a/falcon9_decoder/CMakeLists.txt +++ b/falcon9_decoder/CMakeLists.txt @@ -3,9 +3,11 @@ project(falcon9_decoder) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () file(GLOB_RECURSE SRC "src/*.cpp" "src/*.c") diff --git a/file_source/CMakeLists.txt b/file_source/CMakeLists.txt index 303b2b5f..32697ea4 100644 --- a/file_source/CMakeLists.txt +++ b/file_source/CMakeLists.txt @@ -3,9 +3,11 @@ project(file_source) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () include_directories("src/") diff --git a/hackrf_source/CMakeLists.txt b/hackrf_source/CMakeLists.txt index 5a934dda..54c1b654 100644 --- a/hackrf_source/CMakeLists.txt +++ b/hackrf_source/CMakeLists.txt @@ -3,9 +3,11 @@ project(hackrf_source) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () include_directories("src/") @@ -28,7 +30,7 @@ else (MSVC) target_include_directories(hackrf_source PUBLIC ${LIBHACKRF_INCLUDE_DIRS}) target_link_directories(hackrf_source PUBLIC ${LIBHACKRF_LIBRARY_DIRS}) target_link_libraries(hackrf_source PUBLIC ${LIBHACKRF_LIBRARIES}) -endif (MSVC) +endif () # Install directives install(TARGETS hackrf_source DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/meteor_demodulator/CMakeLists.txt b/meteor_demodulator/CMakeLists.txt index c10d078d..2e662ceb 100644 --- a/meteor_demodulator/CMakeLists.txt +++ b/meteor_demodulator/CMakeLists.txt @@ -3,9 +3,11 @@ project(meteor_demodulator) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () file(GLOB_RECURSE SRC "src/*.cpp" "src/*.c") diff --git a/plutosdr_source/CMakeLists.txt b/plutosdr_source/CMakeLists.txt index ed7b8e3d..9a4cca2b 100644 --- a/plutosdr_source/CMakeLists.txt +++ b/plutosdr_source/CMakeLists.txt @@ -3,9 +3,11 @@ project(plutosdr_source) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () include_directories("src/") @@ -35,7 +37,7 @@ else (MSVC) target_include_directories(plutosdr_source PUBLIC ${LIBAD9361_INCLUDE_DIRS}) target_link_directories(plutosdr_source PUBLIC ${LIBAD9361_LIBRARY_DIRS}) target_link_libraries(plutosdr_source PUBLIC ${LIBAD9361_LIBRARIES}) -endif (MSVC) +endif () # Install directives install(TARGETS plutosdr_source DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/radio/CMakeLists.txt b/radio/CMakeLists.txt index 6e9a8196..590168c4 100644 --- a/radio/CMakeLists.txt +++ b/radio/CMakeLists.txt @@ -3,9 +3,11 @@ project(radio) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () file(GLOB SRC "src/*.cpp") diff --git a/recorder/CMakeLists.txt b/recorder/CMakeLists.txt index 979c6887..98199e81 100644 --- a/recorder/CMakeLists.txt +++ b/recorder/CMakeLists.txt @@ -3,9 +3,11 @@ project(recorder) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () file(GLOB SRC "src/*.cpp") diff --git a/rtl_sdr_source/CMakeLists.txt b/rtl_sdr_source/CMakeLists.txt index feede41f..762d7f54 100644 --- a/rtl_sdr_source/CMakeLists.txt +++ b/rtl_sdr_source/CMakeLists.txt @@ -3,9 +3,11 @@ project(rtl_sdr_source) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () include_directories("src/") @@ -28,7 +30,7 @@ else (MSVC) target_include_directories(rtl_sdr_source PUBLIC ${LIBRTLSDR_INCLUDE_DIRS}) target_link_directories(rtl_sdr_source PUBLIC ${LIBRTLSDR_LIBRARY_DIRS}) target_link_libraries(rtl_sdr_source PUBLIC ${LIBRTLSDR_LIBRARIES}) -endif (MSVC) +endif () # Install directives install(TARGETS rtl_sdr_source DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/rtl_tcp_source/CMakeLists.txt b/rtl_tcp_source/CMakeLists.txt index 8ea2d295..f158b1ce 100644 --- a/rtl_tcp_source/CMakeLists.txt +++ b/rtl_tcp_source/CMakeLists.txt @@ -3,9 +3,11 @@ project(rtl_tcp_source) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () include_directories("src/") diff --git a/rx888_source/CMakeLists.txt b/rx888_source/CMakeLists.txt index f7f0293d..3ef873e3 100644 --- a/rx888_source/CMakeLists.txt +++ b/rx888_source/CMakeLists.txt @@ -3,9 +3,11 @@ project(rx888_source) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () include_directories("src/CyAPI") diff --git a/sdrplay_source/CMakeLists.txt b/sdrplay_source/CMakeLists.txt index d35085ae..8e79eec5 100644 --- a/sdrplay_source/CMakeLists.txt +++ b/sdrplay_source/CMakeLists.txt @@ -3,9 +3,11 @@ project(sdrplay_source) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () include_directories("src/") @@ -25,7 +27,7 @@ else (MSVC) find_package(PkgConfig) target_link_libraries(sdrplay_source PRIVATE sdrplay_api) -endif (MSVC) +endif () # Install directives install(TARGETS sdrplay_source DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/soapy_source/CMakeLists.txt b/soapy_source/CMakeLists.txt index 96e47d57..5afddeb0 100644 --- a/soapy_source/CMakeLists.txt +++ b/soapy_source/CMakeLists.txt @@ -3,9 +3,11 @@ project(soapy_source) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () file(GLOB SRC "src/*.cpp") @@ -29,7 +31,7 @@ else (MSVC) target_include_directories(soapy_source PUBLIC ${SOAPY_INCLUDE_DIRS}) target_link_directories(soapy_source PUBLIC ${SOAPY_LIBRARY_DIRS}) target_link_libraries(soapy_source PUBLIC ${SOAPY_LIBRARIES}) -endif (MSVC) +endif () # Install directives install(TARGETS soapy_source DESTINATION lib/sdrpp/plugins) \ No newline at end of file diff --git a/spyserver_source/CMakeLists.txt b/spyserver_source/CMakeLists.txt index a9a0e623..d9fa5bd2 100644 --- a/spyserver_source/CMakeLists.txt +++ b/spyserver_source/CMakeLists.txt @@ -3,9 +3,11 @@ project(spyserver_source) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () include_directories("src/") diff --git a/weather_sat_decoder/CMakeLists.txt b/weather_sat_decoder/CMakeLists.txt index 1bc0a9ba..4e7626d5 100644 --- a/weather_sat_decoder/CMakeLists.txt +++ b/weather_sat_decoder/CMakeLists.txt @@ -3,9 +3,11 @@ project(weather_sat_decoder) if (MSVC) set(CMAKE_CXX_FLAGS "-O2 /std:c++17 /EHsc") -else() - set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -fpermissive") -endif (MSVC) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(CMAKE_CXX_FLAGS "-O3 -std=c++17 -Wnounused-command-line-argument -undefined dynamic_lookup") +else () + set(CMAKE_CXX_FLAGS "-O3 -std=c++17") +endif () file(GLOB_RECURSE SRC "src/*.cpp" "src/*.c")