diff --git a/CMakeLists.txt b/CMakeLists.txt index f03e61b..beb1c4c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,99 +2,4 @@ cmake_minimum_required(VERSION 2.8.11) project(inspectrum CXX) enable_testing() -set(CMAKE_AUTOMOC ON) -set(CMAKE_INCLUDE_CURRENT_DIR ON) -list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules) - -# For OSX - don't clear RPATH on install -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) - -if (MSVC) - #force std::complex<> typedefs in liquiddsp - add_definitions(-D_LIBCPP_COMPLEX) - - #enable math definitions in math.h - add_definitions(-D_USE_MATH_DEFINES) - - #build a graphical application without the console - option(BUILD_WIN32 "Build win32 app, false for console" TRUE) - if (BUILD_WIN32) - set(EXE_ARGS WIN32) - set(CMAKE_EXE_LINKER_FLAGS "/entry:mainCRTStartup ${CMAKE_EXE_LINKER_FLAGS}") - endif (BUILD_WIN32) -endif (MSVC) - -if (NOT CMAKE_CXX_FLAGS) - set(CMAKE_CXX_FLAGS "-O2") -endif (NOT CMAKE_CXX_FLAGS) - -# This only works in cmake >3.1 -set(CMAKE_CXX_STANDARD 14) - -list(APPEND inspectrum_sources - abstractsamplesource.cpp - amplitudedemod.cpp - cursor.cpp - cursors.cpp - main.cpp - fft.cpp - frequencydemod.cpp - mainwindow.cpp - inputsource.cpp - phasedemod.cpp - plot.cpp - plots.cpp - plotview.cpp - samplebuffer.cpp - samplesource.cpp - spectrogramcontrols.cpp - spectrogramplot.cpp - threshold.cpp - traceplot.cpp - tuner.cpp - tunertransform.cpp - util.cpp -) - -find_package(Qt5Widgets REQUIRED) -find_package(Qt5Concurrent REQUIRED) -find_package(FFTW REQUIRED) -find_package(Liquid REQUIRED) -find_package(libsigmf QUIET) - -include_directories( - ${FFTW_INCLUDES} - ${LIQUID_INCLUDES} -) - -add_executable(inspectrum ${EXE_ARGS} ${inspectrum_sources}) - -target_link_libraries(inspectrum - Qt5::Core Qt5::Widgets Qt5::Concurrent - ${FFTW_LIBRARIES} - ${LIQUID_LIBRARIES} -) - -if (libsigmf_FOUND) - message("-- libsigmf found. Enabling SigMF support") - target_link_libraries(inspectrum - libsigmf::libsigmf - ) - add_definitions(-DENABLE_SIGMF) -else() - message("-- libsigmf not found. Disabling SigMF support") -endif() - -set(INSTALL_DEFAULT_BINDIR "bin" CACHE STRING "Appended to CMAKE_INSTALL_PREFIX") - -install(TARGETS inspectrum RUNTIME DESTINATION ${INSTALL_DEFAULT_BINDIR}) - -# Create uninstall target -configure_file( - ${PROJECT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake -@ONLY) - -add_custom_target(uninstall - ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake -) +add_subdirectory(src) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..3bdffde --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,96 @@ +set(CMAKE_AUTOMOC ON) +set(CMAKE_INCLUDE_CURRENT_DIR ON) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules) + +# For OSX - don't clear RPATH on install +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + +if (MSVC) + #force std::complex<> typedefs in liquiddsp + add_definitions(-D_LIBCPP_COMPLEX) + + #enable math definitions in math.h + add_definitions(-D_USE_MATH_DEFINES) + + #build a graphical application without the console + option(BUILD_WIN32 "Build win32 app, false for console" TRUE) + if (BUILD_WIN32) + set(EXE_ARGS WIN32) + set(CMAKE_EXE_LINKER_FLAGS "/entry:mainCRTStartup ${CMAKE_EXE_LINKER_FLAGS}") + endif (BUILD_WIN32) +endif (MSVC) + +if (NOT CMAKE_CXX_FLAGS) + set(CMAKE_CXX_FLAGS "-O2") +endif (NOT CMAKE_CXX_FLAGS) + +# This only works in cmake >3.1 +set(CMAKE_CXX_STANDARD 14) + +list(APPEND inspectrum_sources + abstractsamplesource.cpp + amplitudedemod.cpp + cursor.cpp + cursors.cpp + main.cpp + fft.cpp + frequencydemod.cpp + mainwindow.cpp + inputsource.cpp + phasedemod.cpp + plot.cpp + plots.cpp + plotview.cpp + samplebuffer.cpp + samplesource.cpp + spectrogramcontrols.cpp + spectrogramplot.cpp + threshold.cpp + traceplot.cpp + tuner.cpp + tunertransform.cpp + util.cpp +) + +find_package(Qt5Widgets REQUIRED) +find_package(Qt5Concurrent REQUIRED) +find_package(FFTW REQUIRED) +find_package(Liquid REQUIRED) +find_package(libsigmf QUIET) + +include_directories( + ${FFTW_INCLUDES} + ${LIQUID_INCLUDES} +) + +add_executable(inspectrum ${EXE_ARGS} ${inspectrum_sources}) + +target_link_libraries(inspectrum + Qt5::Core Qt5::Widgets Qt5::Concurrent + ${FFTW_LIBRARIES} + ${LIQUID_LIBRARIES} +) + +if (libsigmf_FOUND) + message("-- libsigmf found. Enabling SigMF support") + target_link_libraries(inspectrum + libsigmf::libsigmf + ) + add_definitions(-DENABLE_SIGMF) +else() + message("-- libsigmf not found. Disabling SigMF support") +endif() + +set(INSTALL_DEFAULT_BINDIR "bin" CACHE STRING "Appended to CMAKE_INSTALL_PREFIX") + +install(TARGETS inspectrum RUNTIME DESTINATION ${INSTALL_DEFAULT_BINDIR}) + +# Create uninstall target +configure_file( + ${PROJECT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake +@ONLY) + +add_custom_target(uninstall + ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake +) diff --git a/abstractsamplesource.cpp b/src/abstractsamplesource.cpp similarity index 100% rename from abstractsamplesource.cpp rename to src/abstractsamplesource.cpp diff --git a/abstractsamplesource.h b/src/abstractsamplesource.h similarity index 100% rename from abstractsamplesource.h rename to src/abstractsamplesource.h diff --git a/amplitudedemod.cpp b/src/amplitudedemod.cpp similarity index 100% rename from amplitudedemod.cpp rename to src/amplitudedemod.cpp diff --git a/amplitudedemod.h b/src/amplitudedemod.h similarity index 100% rename from amplitudedemod.h rename to src/amplitudedemod.h diff --git a/cursor.cpp b/src/cursor.cpp similarity index 100% rename from cursor.cpp rename to src/cursor.cpp diff --git a/cursor.h b/src/cursor.h similarity index 100% rename from cursor.h rename to src/cursor.h diff --git a/cursors.cpp b/src/cursors.cpp similarity index 100% rename from cursors.cpp rename to src/cursors.cpp diff --git a/cursors.h b/src/cursors.h similarity index 100% rename from cursors.h rename to src/cursors.h diff --git a/fft.cpp b/src/fft.cpp similarity index 100% rename from fft.cpp rename to src/fft.cpp diff --git a/fft.h b/src/fft.h similarity index 100% rename from fft.h rename to src/fft.h diff --git a/frequencydemod.cpp b/src/frequencydemod.cpp similarity index 100% rename from frequencydemod.cpp rename to src/frequencydemod.cpp diff --git a/frequencydemod.h b/src/frequencydemod.h similarity index 100% rename from frequencydemod.h rename to src/frequencydemod.h diff --git a/inputsource.cpp b/src/inputsource.cpp similarity index 100% rename from inputsource.cpp rename to src/inputsource.cpp diff --git a/inputsource.h b/src/inputsource.h similarity index 100% rename from inputsource.h rename to src/inputsource.h diff --git a/main.cpp b/src/main.cpp similarity index 100% rename from main.cpp rename to src/main.cpp diff --git a/mainwindow.cpp b/src/mainwindow.cpp similarity index 100% rename from mainwindow.cpp rename to src/mainwindow.cpp diff --git a/mainwindow.h b/src/mainwindow.h similarity index 100% rename from mainwindow.h rename to src/mainwindow.h diff --git a/phasedemod.cpp b/src/phasedemod.cpp similarity index 100% rename from phasedemod.cpp rename to src/phasedemod.cpp diff --git a/phasedemod.h b/src/phasedemod.h similarity index 100% rename from phasedemod.h rename to src/phasedemod.h diff --git a/plot.cpp b/src/plot.cpp similarity index 100% rename from plot.cpp rename to src/plot.cpp diff --git a/plot.h b/src/plot.h similarity index 100% rename from plot.h rename to src/plot.h diff --git a/plots.cpp b/src/plots.cpp similarity index 100% rename from plots.cpp rename to src/plots.cpp diff --git a/plots.h b/src/plots.h similarity index 100% rename from plots.h rename to src/plots.h diff --git a/plotview.cpp b/src/plotview.cpp similarity index 100% rename from plotview.cpp rename to src/plotview.cpp diff --git a/plotview.h b/src/plotview.h similarity index 100% rename from plotview.h rename to src/plotview.h diff --git a/samplebuffer.cpp b/src/samplebuffer.cpp similarity index 100% rename from samplebuffer.cpp rename to src/samplebuffer.cpp diff --git a/samplebuffer.h b/src/samplebuffer.h similarity index 100% rename from samplebuffer.h rename to src/samplebuffer.h diff --git a/samplesource.cpp b/src/samplesource.cpp similarity index 100% rename from samplesource.cpp rename to src/samplesource.cpp diff --git a/samplesource.h b/src/samplesource.h similarity index 100% rename from samplesource.h rename to src/samplesource.h diff --git a/spectrogramcontrols.cpp b/src/spectrogramcontrols.cpp similarity index 100% rename from spectrogramcontrols.cpp rename to src/spectrogramcontrols.cpp diff --git a/spectrogramcontrols.h b/src/spectrogramcontrols.h similarity index 100% rename from spectrogramcontrols.h rename to src/spectrogramcontrols.h diff --git a/spectrogramplot.cpp b/src/spectrogramplot.cpp similarity index 100% rename from spectrogramplot.cpp rename to src/spectrogramplot.cpp diff --git a/spectrogramplot.h b/src/spectrogramplot.h similarity index 100% rename from spectrogramplot.h rename to src/spectrogramplot.h diff --git a/subscriber.h b/src/subscriber.h similarity index 100% rename from subscriber.h rename to src/subscriber.h diff --git a/threshold.cpp b/src/threshold.cpp similarity index 100% rename from threshold.cpp rename to src/threshold.cpp diff --git a/threshold.h b/src/threshold.h similarity index 100% rename from threshold.h rename to src/threshold.h diff --git a/traceplot.cpp b/src/traceplot.cpp similarity index 100% rename from traceplot.cpp rename to src/traceplot.cpp diff --git a/traceplot.h b/src/traceplot.h similarity index 100% rename from traceplot.h rename to src/traceplot.h diff --git a/tuner.cpp b/src/tuner.cpp similarity index 100% rename from tuner.cpp rename to src/tuner.cpp diff --git a/tuner.h b/src/tuner.h similarity index 100% rename from tuner.h rename to src/tuner.h diff --git a/tunertransform.cpp b/src/tunertransform.cpp similarity index 100% rename from tunertransform.cpp rename to src/tunertransform.cpp diff --git a/tunertransform.h b/src/tunertransform.h similarity index 100% rename from tunertransform.h rename to src/tunertransform.h diff --git a/util.cpp b/src/util.cpp similarity index 100% rename from util.cpp rename to src/util.cpp diff --git a/util.h b/src/util.h similarity index 100% rename from util.h rename to src/util.h