diff --git a/CMakeLists.txt b/CMakeLists.txt index fbe5b70..d3489b2 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 d0737e4..16bc13c 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 413b16d..41fae32 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 fafc67e..0e86c46 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 c8b6765..291cf44 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 7a63d49..bcda96b 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 4e0ae35..713f8d1 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 90414c5..e16f3ca 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 303b2b5..32697ea 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 5a934dd..54c1b65 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 c10d078..2e662ce 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 ed7b8e3..9a4cca2 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 6e9a819..590168c 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 979c688..98199e8 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 feede41..762d7f5 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 8ea2d29..f158b1c 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 f7f0293..3ef873e 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 d35085a..8e79eec 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 96e47d5..5afddeb 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 a9a0e62..d9fa5bd 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 1bc0a9b..4e7626d 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")