From 790eb41a2601340bbe909cc118b4ea071899ce0f Mon Sep 17 00:00:00 2001 From: "J.A. de Jong - Redu-Sone B.V., ASCEE V.O.F" Date: Fri, 14 Jul 2023 16:40:57 +0200 Subject: [PATCH] Switch to pyproject build structure --- CMakeLists.txt | 2 +- cpp_src/CMakeLists.txt | 53 +++++++++++++++++ {src/lasp => cpp_src}/device/CMakeLists.txt | 0 {src/lasp => cpp_src}/device/lasp_daq.cpp | 0 {src/lasp => cpp_src}/device/lasp_daq.h | 0 .../device/lasp_daqconfig.cpp | 0 {src/lasp => cpp_src}/device/lasp_daqconfig.h | 0 {src/lasp => cpp_src}/device/lasp_daqdata.cpp | 0 {src/lasp => cpp_src}/device/lasp_daqdata.h | 0 .../device/lasp_deviceinfo.cpp | 0 .../lasp => cpp_src}/device/lasp_deviceinfo.h | 0 .../device/lasp_indatahandler.cpp | 0 .../device/lasp_indatahandler.h | 0 .../device/lasp_rtaudiodaq.cpp | 0 .../lasp => cpp_src}/device/lasp_rtaudiodaq.h | 0 .../device/lasp_streammgr.cpp | 0 {src/lasp => cpp_src}/device/lasp_streammgr.h | 0 {src/lasp => cpp_src}/device/lasp_uldaq.cpp | 0 {src/lasp => cpp_src}/device/lasp_uldaq.h | 0 .../device/portaudio/lasp_portaudiodaq.cpp | 0 .../device/portaudio/lasp_portaudiodaq.h | 0 .../device/uldaq/lasp_uldaq_bufhandler.cpp | 0 .../device/uldaq/lasp_uldaq_bufhandler.h | 0 .../device/uldaq/lasp_uldaq_common.cpp | 0 .../device/uldaq/lasp_uldaq_common.h | 0 .../device/uldaq/lasp_uldaq_impl.cpp | 0 .../device/uldaq/lasp_uldaq_impl.h | 0 {src/lasp => cpp_src}/dsp/CMakeLists.txt | 0 .../dsp/lasp_avpowerspectra.cpp | 0 .../dsp/lasp_avpowerspectra.h | 0 {src/lasp => cpp_src}/dsp/lasp_biquadbank.cpp | 0 {src/lasp => cpp_src}/dsp/lasp_biquadbank.h | 0 {src/lasp => cpp_src}/dsp/lasp_clip.cpp | 0 {src/lasp => cpp_src}/dsp/lasp_clip.h | 0 {src/lasp => cpp_src}/dsp/lasp_fft.cpp | 0 {src/lasp => cpp_src}/dsp/lasp_fft.h | 0 {src/lasp => cpp_src}/dsp/lasp_filter.cpp | 0 {src/lasp => cpp_src}/dsp/lasp_filter.h | 0 {src/lasp => cpp_src}/dsp/lasp_mathtypes.h | 0 {src/lasp => cpp_src}/dsp/lasp_ppm.cpp | 0 {src/lasp => cpp_src}/dsp/lasp_ppm.h | 0 {src/lasp => cpp_src}/dsp/lasp_rtaps.cpp | 0 {src/lasp => cpp_src}/dsp/lasp_rtaps.h | 0 .../dsp/lasp_rtsignalviewer.cpp | 0 .../dsp/lasp_rtsignalviewer.h | 0 {src/lasp => cpp_src}/dsp/lasp_siggen.cpp | 0 {src/lasp => cpp_src}/dsp/lasp_siggen.h | 0 .../lasp => cpp_src}/dsp/lasp_siggen_impl.cpp | 0 {src/lasp => cpp_src}/dsp/lasp_siggen_impl.h | 0 {src/lasp => cpp_src}/dsp/lasp_slm.cpp | 0 {src/lasp => cpp_src}/dsp/lasp_slm.h | 0 {src/lasp => cpp_src}/dsp/lasp_thread.cpp | 0 {src/lasp => cpp_src}/dsp/lasp_thread.h | 0 .../dsp/lasp_threadedindatahandler.cpp | 0 .../dsp/lasp_threadedindatahandler.h | 0 {src/lasp => cpp_src}/dsp/lasp_timebuffer.cpp | 0 {src/lasp => cpp_src}/dsp/lasp_timebuffer.h | 0 {src/lasp => cpp_src}/dsp/lasp_types.h | 0 {src/lasp => cpp_src}/dsp/lasp_window.cpp | 0 {src/lasp => cpp_src}/dsp/lasp_window.h | 0 {src/lasp => cpp_src}/lasp_config.h.in | 0 {src/lasp => cpp_src}/lasp_cpp.cpp | 0 {src/lasp => cpp_src}/pybind11/arma_npy.h | 0 {src/lasp => cpp_src}/pybind11/lasp_daq.cpp | 0 .../pybind11/lasp_daqconfig.cpp | 0 .../pybind11/lasp_deviceinfo.cpp | 0 .../pybind11/lasp_dsp_pybind.cpp | 0 .../pybind11/lasp_pyindatahandler.cpp | 0 .../lasp => cpp_src}/pybind11/lasp_siggen.cpp | 0 .../pybind11/lasp_streammgr.cpp | 0 pyproject.toml | 43 ++++++++++++++ {src => python_src}/lasp/__init__.py | 0 {src => python_src}/lasp/filter/__init__.py | 0 {src => python_src}/lasp/filter/biquad.py | 0 .../lasp/filter/colorednoise.py | 0 .../lasp/filter/decimation_fir.py | 0 .../lasp/filter/filterbank_design.py | 0 {src => python_src}/lasp/filter/fir_design.py | 0 .../lasp/filter/soundpressureweighting.py | 0 {src => python_src}/lasp/lasp_atomic.py | 0 {src => python_src}/lasp/lasp_common.py | 0 {src => python_src}/lasp/lasp_config.py | 0 {src => python_src}/lasp/lasp_daqconfigs.py | 0 {src => python_src}/lasp/lasp_imptube.py | 0 {src => python_src}/lasp/lasp_logging.py | 0 {src => python_src}/lasp/lasp_measurement.py | 0 .../lasp/lasp_measurementset.py | 0 {src => python_src}/lasp/lasp_octavefilter.py | 0 {src => python_src}/lasp/lasp_playback.py | 0 {src => python_src}/lasp/lasp_record.py | 0 {src => python_src}/lasp/lasp_reverb.py | 0 {src => python_src}/lasp/lasp_slm.py | 0 {src => python_src}/lasp/lasp_weighcal.py | 0 {src => python_src}/lasp/plot/__init__.py | 0 {src => python_src}/lasp/plot/bar.py | 0 {src => python_src}/lasp/tools/__init__.py | 0 {src => python_src}/lasp/tools/tools.py | 0 setup.py | 58 ------------------- src/lasp/CMakeLists.txt | 40 ------------- 99 files changed, 97 insertions(+), 99 deletions(-) create mode 100644 cpp_src/CMakeLists.txt rename {src/lasp => cpp_src}/device/CMakeLists.txt (100%) rename {src/lasp => cpp_src}/device/lasp_daq.cpp (100%) rename {src/lasp => cpp_src}/device/lasp_daq.h (100%) rename {src/lasp => cpp_src}/device/lasp_daqconfig.cpp (100%) rename {src/lasp => cpp_src}/device/lasp_daqconfig.h (100%) rename {src/lasp => cpp_src}/device/lasp_daqdata.cpp (100%) rename {src/lasp => cpp_src}/device/lasp_daqdata.h (100%) rename {src/lasp => cpp_src}/device/lasp_deviceinfo.cpp (100%) rename {src/lasp => cpp_src}/device/lasp_deviceinfo.h (100%) rename {src/lasp => cpp_src}/device/lasp_indatahandler.cpp (100%) rename {src/lasp => cpp_src}/device/lasp_indatahandler.h (100%) rename {src/lasp => cpp_src}/device/lasp_rtaudiodaq.cpp (100%) rename {src/lasp => cpp_src}/device/lasp_rtaudiodaq.h (100%) rename {src/lasp => cpp_src}/device/lasp_streammgr.cpp (100%) rename {src/lasp => cpp_src}/device/lasp_streammgr.h (100%) rename {src/lasp => cpp_src}/device/lasp_uldaq.cpp (100%) rename {src/lasp => cpp_src}/device/lasp_uldaq.h (100%) rename {src/lasp => cpp_src}/device/portaudio/lasp_portaudiodaq.cpp (100%) rename {src/lasp => cpp_src}/device/portaudio/lasp_portaudiodaq.h (100%) rename {src/lasp => cpp_src}/device/uldaq/lasp_uldaq_bufhandler.cpp (100%) rename {src/lasp => cpp_src}/device/uldaq/lasp_uldaq_bufhandler.h (100%) rename {src/lasp => cpp_src}/device/uldaq/lasp_uldaq_common.cpp (100%) rename {src/lasp => cpp_src}/device/uldaq/lasp_uldaq_common.h (100%) rename {src/lasp => cpp_src}/device/uldaq/lasp_uldaq_impl.cpp (100%) rename {src/lasp => cpp_src}/device/uldaq/lasp_uldaq_impl.h (100%) rename {src/lasp => cpp_src}/dsp/CMakeLists.txt (100%) rename {src/lasp => cpp_src}/dsp/lasp_avpowerspectra.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_avpowerspectra.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_biquadbank.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_biquadbank.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_clip.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_clip.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_fft.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_fft.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_filter.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_filter.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_mathtypes.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_ppm.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_ppm.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_rtaps.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_rtaps.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_rtsignalviewer.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_rtsignalviewer.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_siggen.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_siggen.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_siggen_impl.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_siggen_impl.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_slm.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_slm.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_thread.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_thread.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_threadedindatahandler.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_threadedindatahandler.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_timebuffer.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_timebuffer.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_types.h (100%) rename {src/lasp => cpp_src}/dsp/lasp_window.cpp (100%) rename {src/lasp => cpp_src}/dsp/lasp_window.h (100%) rename {src/lasp => cpp_src}/lasp_config.h.in (100%) rename {src/lasp => cpp_src}/lasp_cpp.cpp (100%) rename {src/lasp => cpp_src}/pybind11/arma_npy.h (100%) rename {src/lasp => cpp_src}/pybind11/lasp_daq.cpp (100%) rename {src/lasp => cpp_src}/pybind11/lasp_daqconfig.cpp (100%) rename {src/lasp => cpp_src}/pybind11/lasp_deviceinfo.cpp (100%) rename {src/lasp => cpp_src}/pybind11/lasp_dsp_pybind.cpp (100%) rename {src/lasp => cpp_src}/pybind11/lasp_pyindatahandler.cpp (100%) rename {src/lasp => cpp_src}/pybind11/lasp_siggen.cpp (100%) rename {src/lasp => cpp_src}/pybind11/lasp_streammgr.cpp (100%) create mode 100644 pyproject.toml rename {src => python_src}/lasp/__init__.py (100%) rename {src => python_src}/lasp/filter/__init__.py (100%) rename {src => python_src}/lasp/filter/biquad.py (100%) rename {src => python_src}/lasp/filter/colorednoise.py (100%) rename {src => python_src}/lasp/filter/decimation_fir.py (100%) rename {src => python_src}/lasp/filter/filterbank_design.py (100%) rename {src => python_src}/lasp/filter/fir_design.py (100%) rename {src => python_src}/lasp/filter/soundpressureweighting.py (100%) rename {src => python_src}/lasp/lasp_atomic.py (100%) rename {src => python_src}/lasp/lasp_common.py (100%) rename {src => python_src}/lasp/lasp_config.py (100%) rename {src => python_src}/lasp/lasp_daqconfigs.py (100%) rename {src => python_src}/lasp/lasp_imptube.py (100%) rename {src => python_src}/lasp/lasp_logging.py (100%) rename {src => python_src}/lasp/lasp_measurement.py (100%) rename {src => python_src}/lasp/lasp_measurementset.py (100%) rename {src => python_src}/lasp/lasp_octavefilter.py (100%) rename {src => python_src}/lasp/lasp_playback.py (100%) rename {src => python_src}/lasp/lasp_record.py (100%) rename {src => python_src}/lasp/lasp_reverb.py (100%) rename {src => python_src}/lasp/lasp_slm.py (100%) rename {src => python_src}/lasp/lasp_weighcal.py (100%) rename {src => python_src}/lasp/plot/__init__.py (100%) rename {src => python_src}/lasp/plot/bar.py (100%) rename {src => python_src}/lasp/tools/__init__.py (100%) rename {src => python_src}/lasp/tools/tools.py (100%) delete mode 100644 setup.py delete mode 100644 src/lasp/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 382904d..92079d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -121,7 +121,7 @@ include(portaudio) include(uldaq) # add_definitions(-Dgsl_CONFIG_DEFAULTS_VERSION=1) -add_subdirectory(src/lasp) +add_subdirectory(cpp_src) if(LASP_BUILD_CPP_TESTS) add_subdirectory(test) endif() diff --git a/cpp_src/CMakeLists.txt b/cpp_src/CMakeLists.txt new file mode 100644 index 0000000..53f939e --- /dev/null +++ b/cpp_src/CMakeLists.txt @@ -0,0 +1,53 @@ +# src/lasp/CMakeLists.txt + +# Armadillo, don't build the wrapper lib, but instead directly link to +# openblas. +add_definitions(-DARMA_DONT_USE_WRAPPER) + +configure_file(lasp_config.h.in lasp_config.h) +include_directories(${CMAKE_CURRENT_BINARY_DIR}) +include_directories(SYSTEM + ${PROJECT_SOURCE_DIR}/third_party/armadillo-code/include) + +include_directories(${PROJECT_SOURCE_DIR}/third_party/DebugTrace-cpp/include) +include_directories(${PROJECT_SOURCE_DIR}/third_party/gsl-lite/include) +include_directories(${PROJECT_SOURCE_DIR}/third_party/tomlplusplus/include) +include_directories(${PROJECT_SOURCE_DIR}/third_party/thread-pool) + +if(LASP_HAS_RTAUDIO) + include_directories(${PROJECT_SOURCE_DIR}/third_party/rtaudio) +endif() +if(LASP_HAS_ULDAQ) + include_directories(${PROJECT_SOURCE_DIR}/third_party/uldaq/src) +endif() + +add_subdirectory(device) +add_subdirectory(dsp) + +pybind11_add_module(lasp_cpp MODULE lasp_cpp.cpp + pybind11/lasp_deviceinfo.cpp + pybind11/lasp_daqconfig.cpp + pybind11//lasp_dsp_pybind.cpp + pybind11/lasp_streammgr.cpp + pybind11/lasp_daq.cpp + pybind11/lasp_deviceinfo.cpp + pybind11/lasp_pyindatahandler.cpp + pybind11/lasp_siggen.cpp + ) + +target_link_libraries(lasp_cpp PRIVATE lasp_device_lib lasp_dsp_lib + ${OpenMP_CXX_LIBRARIES} ${LASP_FFT_LIBS} ${TARGET_OS_LINKLIBS}) + +# Install the Python module +install(TARGETS lasp_cpp + EXCLUDE_FROM_ALL + COMPONENT python_modules + DESTINATION ${PY_BUILD_CMAKE_MODULE_NAME}) +# Install the debug file for the Python module (Windows only) +if (WIN32) + install(FILES $ + EXCLUDE_FROM_ALL + COMPONENT python_modules + DESTINATION ${PY_BUILD_CMAKE_MODULE_NAME} + OPTIONAL) +endif() diff --git a/src/lasp/device/CMakeLists.txt b/cpp_src/device/CMakeLists.txt similarity index 100% rename from src/lasp/device/CMakeLists.txt rename to cpp_src/device/CMakeLists.txt diff --git a/src/lasp/device/lasp_daq.cpp b/cpp_src/device/lasp_daq.cpp similarity index 100% rename from src/lasp/device/lasp_daq.cpp rename to cpp_src/device/lasp_daq.cpp diff --git a/src/lasp/device/lasp_daq.h b/cpp_src/device/lasp_daq.h similarity index 100% rename from src/lasp/device/lasp_daq.h rename to cpp_src/device/lasp_daq.h diff --git a/src/lasp/device/lasp_daqconfig.cpp b/cpp_src/device/lasp_daqconfig.cpp similarity index 100% rename from src/lasp/device/lasp_daqconfig.cpp rename to cpp_src/device/lasp_daqconfig.cpp diff --git a/src/lasp/device/lasp_daqconfig.h b/cpp_src/device/lasp_daqconfig.h similarity index 100% rename from src/lasp/device/lasp_daqconfig.h rename to cpp_src/device/lasp_daqconfig.h diff --git a/src/lasp/device/lasp_daqdata.cpp b/cpp_src/device/lasp_daqdata.cpp similarity index 100% rename from src/lasp/device/lasp_daqdata.cpp rename to cpp_src/device/lasp_daqdata.cpp diff --git a/src/lasp/device/lasp_daqdata.h b/cpp_src/device/lasp_daqdata.h similarity index 100% rename from src/lasp/device/lasp_daqdata.h rename to cpp_src/device/lasp_daqdata.h diff --git a/src/lasp/device/lasp_deviceinfo.cpp b/cpp_src/device/lasp_deviceinfo.cpp similarity index 100% rename from src/lasp/device/lasp_deviceinfo.cpp rename to cpp_src/device/lasp_deviceinfo.cpp diff --git a/src/lasp/device/lasp_deviceinfo.h b/cpp_src/device/lasp_deviceinfo.h similarity index 100% rename from src/lasp/device/lasp_deviceinfo.h rename to cpp_src/device/lasp_deviceinfo.h diff --git a/src/lasp/device/lasp_indatahandler.cpp b/cpp_src/device/lasp_indatahandler.cpp similarity index 100% rename from src/lasp/device/lasp_indatahandler.cpp rename to cpp_src/device/lasp_indatahandler.cpp diff --git a/src/lasp/device/lasp_indatahandler.h b/cpp_src/device/lasp_indatahandler.h similarity index 100% rename from src/lasp/device/lasp_indatahandler.h rename to cpp_src/device/lasp_indatahandler.h diff --git a/src/lasp/device/lasp_rtaudiodaq.cpp b/cpp_src/device/lasp_rtaudiodaq.cpp similarity index 100% rename from src/lasp/device/lasp_rtaudiodaq.cpp rename to cpp_src/device/lasp_rtaudiodaq.cpp diff --git a/src/lasp/device/lasp_rtaudiodaq.h b/cpp_src/device/lasp_rtaudiodaq.h similarity index 100% rename from src/lasp/device/lasp_rtaudiodaq.h rename to cpp_src/device/lasp_rtaudiodaq.h diff --git a/src/lasp/device/lasp_streammgr.cpp b/cpp_src/device/lasp_streammgr.cpp similarity index 100% rename from src/lasp/device/lasp_streammgr.cpp rename to cpp_src/device/lasp_streammgr.cpp diff --git a/src/lasp/device/lasp_streammgr.h b/cpp_src/device/lasp_streammgr.h similarity index 100% rename from src/lasp/device/lasp_streammgr.h rename to cpp_src/device/lasp_streammgr.h diff --git a/src/lasp/device/lasp_uldaq.cpp b/cpp_src/device/lasp_uldaq.cpp similarity index 100% rename from src/lasp/device/lasp_uldaq.cpp rename to cpp_src/device/lasp_uldaq.cpp diff --git a/src/lasp/device/lasp_uldaq.h b/cpp_src/device/lasp_uldaq.h similarity index 100% rename from src/lasp/device/lasp_uldaq.h rename to cpp_src/device/lasp_uldaq.h diff --git a/src/lasp/device/portaudio/lasp_portaudiodaq.cpp b/cpp_src/device/portaudio/lasp_portaudiodaq.cpp similarity index 100% rename from src/lasp/device/portaudio/lasp_portaudiodaq.cpp rename to cpp_src/device/portaudio/lasp_portaudiodaq.cpp diff --git a/src/lasp/device/portaudio/lasp_portaudiodaq.h b/cpp_src/device/portaudio/lasp_portaudiodaq.h similarity index 100% rename from src/lasp/device/portaudio/lasp_portaudiodaq.h rename to cpp_src/device/portaudio/lasp_portaudiodaq.h diff --git a/src/lasp/device/uldaq/lasp_uldaq_bufhandler.cpp b/cpp_src/device/uldaq/lasp_uldaq_bufhandler.cpp similarity index 100% rename from src/lasp/device/uldaq/lasp_uldaq_bufhandler.cpp rename to cpp_src/device/uldaq/lasp_uldaq_bufhandler.cpp diff --git a/src/lasp/device/uldaq/lasp_uldaq_bufhandler.h b/cpp_src/device/uldaq/lasp_uldaq_bufhandler.h similarity index 100% rename from src/lasp/device/uldaq/lasp_uldaq_bufhandler.h rename to cpp_src/device/uldaq/lasp_uldaq_bufhandler.h diff --git a/src/lasp/device/uldaq/lasp_uldaq_common.cpp b/cpp_src/device/uldaq/lasp_uldaq_common.cpp similarity index 100% rename from src/lasp/device/uldaq/lasp_uldaq_common.cpp rename to cpp_src/device/uldaq/lasp_uldaq_common.cpp diff --git a/src/lasp/device/uldaq/lasp_uldaq_common.h b/cpp_src/device/uldaq/lasp_uldaq_common.h similarity index 100% rename from src/lasp/device/uldaq/lasp_uldaq_common.h rename to cpp_src/device/uldaq/lasp_uldaq_common.h diff --git a/src/lasp/device/uldaq/lasp_uldaq_impl.cpp b/cpp_src/device/uldaq/lasp_uldaq_impl.cpp similarity index 100% rename from src/lasp/device/uldaq/lasp_uldaq_impl.cpp rename to cpp_src/device/uldaq/lasp_uldaq_impl.cpp diff --git a/src/lasp/device/uldaq/lasp_uldaq_impl.h b/cpp_src/device/uldaq/lasp_uldaq_impl.h similarity index 100% rename from src/lasp/device/uldaq/lasp_uldaq_impl.h rename to cpp_src/device/uldaq/lasp_uldaq_impl.h diff --git a/src/lasp/dsp/CMakeLists.txt b/cpp_src/dsp/CMakeLists.txt similarity index 100% rename from src/lasp/dsp/CMakeLists.txt rename to cpp_src/dsp/CMakeLists.txt diff --git a/src/lasp/dsp/lasp_avpowerspectra.cpp b/cpp_src/dsp/lasp_avpowerspectra.cpp similarity index 100% rename from src/lasp/dsp/lasp_avpowerspectra.cpp rename to cpp_src/dsp/lasp_avpowerspectra.cpp diff --git a/src/lasp/dsp/lasp_avpowerspectra.h b/cpp_src/dsp/lasp_avpowerspectra.h similarity index 100% rename from src/lasp/dsp/lasp_avpowerspectra.h rename to cpp_src/dsp/lasp_avpowerspectra.h diff --git a/src/lasp/dsp/lasp_biquadbank.cpp b/cpp_src/dsp/lasp_biquadbank.cpp similarity index 100% rename from src/lasp/dsp/lasp_biquadbank.cpp rename to cpp_src/dsp/lasp_biquadbank.cpp diff --git a/src/lasp/dsp/lasp_biquadbank.h b/cpp_src/dsp/lasp_biquadbank.h similarity index 100% rename from src/lasp/dsp/lasp_biquadbank.h rename to cpp_src/dsp/lasp_biquadbank.h diff --git a/src/lasp/dsp/lasp_clip.cpp b/cpp_src/dsp/lasp_clip.cpp similarity index 100% rename from src/lasp/dsp/lasp_clip.cpp rename to cpp_src/dsp/lasp_clip.cpp diff --git a/src/lasp/dsp/lasp_clip.h b/cpp_src/dsp/lasp_clip.h similarity index 100% rename from src/lasp/dsp/lasp_clip.h rename to cpp_src/dsp/lasp_clip.h diff --git a/src/lasp/dsp/lasp_fft.cpp b/cpp_src/dsp/lasp_fft.cpp similarity index 100% rename from src/lasp/dsp/lasp_fft.cpp rename to cpp_src/dsp/lasp_fft.cpp diff --git a/src/lasp/dsp/lasp_fft.h b/cpp_src/dsp/lasp_fft.h similarity index 100% rename from src/lasp/dsp/lasp_fft.h rename to cpp_src/dsp/lasp_fft.h diff --git a/src/lasp/dsp/lasp_filter.cpp b/cpp_src/dsp/lasp_filter.cpp similarity index 100% rename from src/lasp/dsp/lasp_filter.cpp rename to cpp_src/dsp/lasp_filter.cpp diff --git a/src/lasp/dsp/lasp_filter.h b/cpp_src/dsp/lasp_filter.h similarity index 100% rename from src/lasp/dsp/lasp_filter.h rename to cpp_src/dsp/lasp_filter.h diff --git a/src/lasp/dsp/lasp_mathtypes.h b/cpp_src/dsp/lasp_mathtypes.h similarity index 100% rename from src/lasp/dsp/lasp_mathtypes.h rename to cpp_src/dsp/lasp_mathtypes.h diff --git a/src/lasp/dsp/lasp_ppm.cpp b/cpp_src/dsp/lasp_ppm.cpp similarity index 100% rename from src/lasp/dsp/lasp_ppm.cpp rename to cpp_src/dsp/lasp_ppm.cpp diff --git a/src/lasp/dsp/lasp_ppm.h b/cpp_src/dsp/lasp_ppm.h similarity index 100% rename from src/lasp/dsp/lasp_ppm.h rename to cpp_src/dsp/lasp_ppm.h diff --git a/src/lasp/dsp/lasp_rtaps.cpp b/cpp_src/dsp/lasp_rtaps.cpp similarity index 100% rename from src/lasp/dsp/lasp_rtaps.cpp rename to cpp_src/dsp/lasp_rtaps.cpp diff --git a/src/lasp/dsp/lasp_rtaps.h b/cpp_src/dsp/lasp_rtaps.h similarity index 100% rename from src/lasp/dsp/lasp_rtaps.h rename to cpp_src/dsp/lasp_rtaps.h diff --git a/src/lasp/dsp/lasp_rtsignalviewer.cpp b/cpp_src/dsp/lasp_rtsignalviewer.cpp similarity index 100% rename from src/lasp/dsp/lasp_rtsignalviewer.cpp rename to cpp_src/dsp/lasp_rtsignalviewer.cpp diff --git a/src/lasp/dsp/lasp_rtsignalviewer.h b/cpp_src/dsp/lasp_rtsignalviewer.h similarity index 100% rename from src/lasp/dsp/lasp_rtsignalviewer.h rename to cpp_src/dsp/lasp_rtsignalviewer.h diff --git a/src/lasp/dsp/lasp_siggen.cpp b/cpp_src/dsp/lasp_siggen.cpp similarity index 100% rename from src/lasp/dsp/lasp_siggen.cpp rename to cpp_src/dsp/lasp_siggen.cpp diff --git a/src/lasp/dsp/lasp_siggen.h b/cpp_src/dsp/lasp_siggen.h similarity index 100% rename from src/lasp/dsp/lasp_siggen.h rename to cpp_src/dsp/lasp_siggen.h diff --git a/src/lasp/dsp/lasp_siggen_impl.cpp b/cpp_src/dsp/lasp_siggen_impl.cpp similarity index 100% rename from src/lasp/dsp/lasp_siggen_impl.cpp rename to cpp_src/dsp/lasp_siggen_impl.cpp diff --git a/src/lasp/dsp/lasp_siggen_impl.h b/cpp_src/dsp/lasp_siggen_impl.h similarity index 100% rename from src/lasp/dsp/lasp_siggen_impl.h rename to cpp_src/dsp/lasp_siggen_impl.h diff --git a/src/lasp/dsp/lasp_slm.cpp b/cpp_src/dsp/lasp_slm.cpp similarity index 100% rename from src/lasp/dsp/lasp_slm.cpp rename to cpp_src/dsp/lasp_slm.cpp diff --git a/src/lasp/dsp/lasp_slm.h b/cpp_src/dsp/lasp_slm.h similarity index 100% rename from src/lasp/dsp/lasp_slm.h rename to cpp_src/dsp/lasp_slm.h diff --git a/src/lasp/dsp/lasp_thread.cpp b/cpp_src/dsp/lasp_thread.cpp similarity index 100% rename from src/lasp/dsp/lasp_thread.cpp rename to cpp_src/dsp/lasp_thread.cpp diff --git a/src/lasp/dsp/lasp_thread.h b/cpp_src/dsp/lasp_thread.h similarity index 100% rename from src/lasp/dsp/lasp_thread.h rename to cpp_src/dsp/lasp_thread.h diff --git a/src/lasp/dsp/lasp_threadedindatahandler.cpp b/cpp_src/dsp/lasp_threadedindatahandler.cpp similarity index 100% rename from src/lasp/dsp/lasp_threadedindatahandler.cpp rename to cpp_src/dsp/lasp_threadedindatahandler.cpp diff --git a/src/lasp/dsp/lasp_threadedindatahandler.h b/cpp_src/dsp/lasp_threadedindatahandler.h similarity index 100% rename from src/lasp/dsp/lasp_threadedindatahandler.h rename to cpp_src/dsp/lasp_threadedindatahandler.h diff --git a/src/lasp/dsp/lasp_timebuffer.cpp b/cpp_src/dsp/lasp_timebuffer.cpp similarity index 100% rename from src/lasp/dsp/lasp_timebuffer.cpp rename to cpp_src/dsp/lasp_timebuffer.cpp diff --git a/src/lasp/dsp/lasp_timebuffer.h b/cpp_src/dsp/lasp_timebuffer.h similarity index 100% rename from src/lasp/dsp/lasp_timebuffer.h rename to cpp_src/dsp/lasp_timebuffer.h diff --git a/src/lasp/dsp/lasp_types.h b/cpp_src/dsp/lasp_types.h similarity index 100% rename from src/lasp/dsp/lasp_types.h rename to cpp_src/dsp/lasp_types.h diff --git a/src/lasp/dsp/lasp_window.cpp b/cpp_src/dsp/lasp_window.cpp similarity index 100% rename from src/lasp/dsp/lasp_window.cpp rename to cpp_src/dsp/lasp_window.cpp diff --git a/src/lasp/dsp/lasp_window.h b/cpp_src/dsp/lasp_window.h similarity index 100% rename from src/lasp/dsp/lasp_window.h rename to cpp_src/dsp/lasp_window.h diff --git a/src/lasp/lasp_config.h.in b/cpp_src/lasp_config.h.in similarity index 100% rename from src/lasp/lasp_config.h.in rename to cpp_src/lasp_config.h.in diff --git a/src/lasp/lasp_cpp.cpp b/cpp_src/lasp_cpp.cpp similarity index 100% rename from src/lasp/lasp_cpp.cpp rename to cpp_src/lasp_cpp.cpp diff --git a/src/lasp/pybind11/arma_npy.h b/cpp_src/pybind11/arma_npy.h similarity index 100% rename from src/lasp/pybind11/arma_npy.h rename to cpp_src/pybind11/arma_npy.h diff --git a/src/lasp/pybind11/lasp_daq.cpp b/cpp_src/pybind11/lasp_daq.cpp similarity index 100% rename from src/lasp/pybind11/lasp_daq.cpp rename to cpp_src/pybind11/lasp_daq.cpp diff --git a/src/lasp/pybind11/lasp_daqconfig.cpp b/cpp_src/pybind11/lasp_daqconfig.cpp similarity index 100% rename from src/lasp/pybind11/lasp_daqconfig.cpp rename to cpp_src/pybind11/lasp_daqconfig.cpp diff --git a/src/lasp/pybind11/lasp_deviceinfo.cpp b/cpp_src/pybind11/lasp_deviceinfo.cpp similarity index 100% rename from src/lasp/pybind11/lasp_deviceinfo.cpp rename to cpp_src/pybind11/lasp_deviceinfo.cpp diff --git a/src/lasp/pybind11/lasp_dsp_pybind.cpp b/cpp_src/pybind11/lasp_dsp_pybind.cpp similarity index 100% rename from src/lasp/pybind11/lasp_dsp_pybind.cpp rename to cpp_src/pybind11/lasp_dsp_pybind.cpp diff --git a/src/lasp/pybind11/lasp_pyindatahandler.cpp b/cpp_src/pybind11/lasp_pyindatahandler.cpp similarity index 100% rename from src/lasp/pybind11/lasp_pyindatahandler.cpp rename to cpp_src/pybind11/lasp_pyindatahandler.cpp diff --git a/src/lasp/pybind11/lasp_siggen.cpp b/cpp_src/pybind11/lasp_siggen.cpp similarity index 100% rename from src/lasp/pybind11/lasp_siggen.cpp rename to cpp_src/pybind11/lasp_siggen.cpp diff --git a/src/lasp/pybind11/lasp_streammgr.cpp b/cpp_src/pybind11/lasp_streammgr.cpp similarity index 100% rename from src/lasp/pybind11/lasp_streammgr.cpp rename to cpp_src/pybind11/lasp_streammgr.cpp diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..a07b3dc --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "lasp" +readme = "README.md" +requires-python = ">=3.10" +description = "Library for Acoustic Signal Processing" +license = { "file" = "LICENSE" } +authors = [{ "name" = "J.A. de Jong", "email" = "j.a.dejong@ascee.nl" }] +dynamic = ["version"] + +keywords = ["DSP", "DAQ", "Signal processing"] + +classifiers = [ + "Development Status :: 3 - Alpha", + "Topic :: Software Development :: Libraries :: Python Modules", + "License :: OSI Approved :: MIT License", + "Natural Language :: English", + "Topic :: Scientific/Engineering", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Operating System :: POSIX :: Linux", + "Operating System :: Microsoft :: Windows", +] +urls = { "Documentation" = "https://lasp.ascee.nl" } + +dependencies = ["scipy", "numpy", "matplotlib", "appdirs", "dataclasses_json", + "h5py", "pybind11"] + +[build-system] # How pip and other frontends should build this project +requires = ["py-build-cmake~=0.1.8", "setuptools-scm"] +build-backend = "py_build_cmake.build" + +[tool.py-build-cmake.module] # Where to find the Python module to package +directory = "python_src" + +[tool.py-build-cmake.sdist] # What to include in source distributions +include = ["CMakeLists.txt", "cmake", "cpp_src", "python_src", "img", "scripts", + "third_party"] + +[tool.py-build-cmake.cmake] # How to build the CMake project +build_type = "Release" +source_path = "." +build_args = ["-j"] +install_components = ["python_modules", "python_stubs"] diff --git a/src/lasp/__init__.py b/python_src/lasp/__init__.py similarity index 100% rename from src/lasp/__init__.py rename to python_src/lasp/__init__.py diff --git a/src/lasp/filter/__init__.py b/python_src/lasp/filter/__init__.py similarity index 100% rename from src/lasp/filter/__init__.py rename to python_src/lasp/filter/__init__.py diff --git a/src/lasp/filter/biquad.py b/python_src/lasp/filter/biquad.py similarity index 100% rename from src/lasp/filter/biquad.py rename to python_src/lasp/filter/biquad.py diff --git a/src/lasp/filter/colorednoise.py b/python_src/lasp/filter/colorednoise.py similarity index 100% rename from src/lasp/filter/colorednoise.py rename to python_src/lasp/filter/colorednoise.py diff --git a/src/lasp/filter/decimation_fir.py b/python_src/lasp/filter/decimation_fir.py similarity index 100% rename from src/lasp/filter/decimation_fir.py rename to python_src/lasp/filter/decimation_fir.py diff --git a/src/lasp/filter/filterbank_design.py b/python_src/lasp/filter/filterbank_design.py similarity index 100% rename from src/lasp/filter/filterbank_design.py rename to python_src/lasp/filter/filterbank_design.py diff --git a/src/lasp/filter/fir_design.py b/python_src/lasp/filter/fir_design.py similarity index 100% rename from src/lasp/filter/fir_design.py rename to python_src/lasp/filter/fir_design.py diff --git a/src/lasp/filter/soundpressureweighting.py b/python_src/lasp/filter/soundpressureweighting.py similarity index 100% rename from src/lasp/filter/soundpressureweighting.py rename to python_src/lasp/filter/soundpressureweighting.py diff --git a/src/lasp/lasp_atomic.py b/python_src/lasp/lasp_atomic.py similarity index 100% rename from src/lasp/lasp_atomic.py rename to python_src/lasp/lasp_atomic.py diff --git a/src/lasp/lasp_common.py b/python_src/lasp/lasp_common.py similarity index 100% rename from src/lasp/lasp_common.py rename to python_src/lasp/lasp_common.py diff --git a/src/lasp/lasp_config.py b/python_src/lasp/lasp_config.py similarity index 100% rename from src/lasp/lasp_config.py rename to python_src/lasp/lasp_config.py diff --git a/src/lasp/lasp_daqconfigs.py b/python_src/lasp/lasp_daqconfigs.py similarity index 100% rename from src/lasp/lasp_daqconfigs.py rename to python_src/lasp/lasp_daqconfigs.py diff --git a/src/lasp/lasp_imptube.py b/python_src/lasp/lasp_imptube.py similarity index 100% rename from src/lasp/lasp_imptube.py rename to python_src/lasp/lasp_imptube.py diff --git a/src/lasp/lasp_logging.py b/python_src/lasp/lasp_logging.py similarity index 100% rename from src/lasp/lasp_logging.py rename to python_src/lasp/lasp_logging.py diff --git a/src/lasp/lasp_measurement.py b/python_src/lasp/lasp_measurement.py similarity index 100% rename from src/lasp/lasp_measurement.py rename to python_src/lasp/lasp_measurement.py diff --git a/src/lasp/lasp_measurementset.py b/python_src/lasp/lasp_measurementset.py similarity index 100% rename from src/lasp/lasp_measurementset.py rename to python_src/lasp/lasp_measurementset.py diff --git a/src/lasp/lasp_octavefilter.py b/python_src/lasp/lasp_octavefilter.py similarity index 100% rename from src/lasp/lasp_octavefilter.py rename to python_src/lasp/lasp_octavefilter.py diff --git a/src/lasp/lasp_playback.py b/python_src/lasp/lasp_playback.py similarity index 100% rename from src/lasp/lasp_playback.py rename to python_src/lasp/lasp_playback.py diff --git a/src/lasp/lasp_record.py b/python_src/lasp/lasp_record.py similarity index 100% rename from src/lasp/lasp_record.py rename to python_src/lasp/lasp_record.py diff --git a/src/lasp/lasp_reverb.py b/python_src/lasp/lasp_reverb.py similarity index 100% rename from src/lasp/lasp_reverb.py rename to python_src/lasp/lasp_reverb.py diff --git a/src/lasp/lasp_slm.py b/python_src/lasp/lasp_slm.py similarity index 100% rename from src/lasp/lasp_slm.py rename to python_src/lasp/lasp_slm.py diff --git a/src/lasp/lasp_weighcal.py b/python_src/lasp/lasp_weighcal.py similarity index 100% rename from src/lasp/lasp_weighcal.py rename to python_src/lasp/lasp_weighcal.py diff --git a/src/lasp/plot/__init__.py b/python_src/lasp/plot/__init__.py similarity index 100% rename from src/lasp/plot/__init__.py rename to python_src/lasp/plot/__init__.py diff --git a/src/lasp/plot/bar.py b/python_src/lasp/plot/bar.py similarity index 100% rename from src/lasp/plot/bar.py rename to python_src/lasp/plot/bar.py diff --git a/src/lasp/tools/__init__.py b/python_src/lasp/tools/__init__.py similarity index 100% rename from src/lasp/tools/__init__.py rename to python_src/lasp/tools/__init__.py diff --git a/src/lasp/tools/tools.py b/python_src/lasp/tools/tools.py similarity index 100% rename from src/lasp/tools/tools.py rename to python_src/lasp/tools/tools.py diff --git a/setup.py b/setup.py deleted file mode 100644 index 51982ec..0000000 --- a/setup.py +++ /dev/null @@ -1,58 +0,0 @@ -import glob, os -import platform -from setuptools import setup - -pf = platform.platform() - -if 'Linux' in pf: - ext_name_glob = 'lasp_cpp.cpython*' - # Split of path from file. - extensions = list(glob.glob('src/lasp/' + ext_name_glob)) -elif 'Windows' in pf: - ext_name_glob = 'lasp_cpp*.cp*.pyd' - # Split of path from file. - extensions = list(glob.glob('src\\lasp/' + ext_name_glob)) -else: - raise RuntimeError('Not yet Windows-proof') - - - -print(extensions) -ext_names = [os.path.split(a)[1] for a in extensions] - -if len(extensions) == 0: - raise RuntimeError('Please first run CMake to build extension') -elif len(extensions) > 1: - raise RuntimeError('Too many extension files found') - -pkgdata = ext_names -classifiers = [ - "Topic :: Scientific/Engineering", - "Programming Language :: Python :: 3.8", - "Operating System :: POSIX :: Linux", - "Operating System :: Microsoft :: Windows", -] - -keywords = ["DSP", "DAQ", "Signal processing"] - - -setup( - name="lasp", - version="1.0", - description="LASP: Library for Acoustic Signal Processing", - - author='J.A. de Jong (ASCEE / Redu-Sone)', - author_email='info@ascee.nl', - - url='https://www.ascee.nl/lasp', - classifiers=classifiers, - keywords=keywords, - license="MIT", - dependencies=["numpy", "scipy", "appdirs", "h5py", "appdirs", - "dataclasses_json"], - package_dir={"": "src"}, - packages=['lasp', 'lasp.filter', 'lasp.tools'], - include_package_data=True, - package_data={'lasp': pkgdata}, - python_requires='>=3.8', -) diff --git a/src/lasp/CMakeLists.txt b/src/lasp/CMakeLists.txt deleted file mode 100644 index 4ffef55..0000000 --- a/src/lasp/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -# src/lasp/CMakeLists.txt - -# Armadillo -add_definitions(-DARMA_DONT_USE_WRAPPER) - -configure_file(lasp_config.h.in lasp_config.h) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) -include_directories(SYSTEM - ${PROJECT_SOURCE_DIR}/third_party/armadillo-code/include) - -include_directories(../../third_party/DebugTrace-cpp/include) -include_directories(../../third_party/gsl-lite/include) -include_directories(../../third_party/tomlplusplus/include) -include_directories(../../third_party/thread-pool) - -if(LASP_HAS_RTAUDIO) - include_directories(../../third_party/rtaudio) -endif() -if(LASP_HAS_ULDAQ) - include_directories(../../third_party/uldaq/src) -endif() - -add_subdirectory(device) -add_subdirectory(dsp) - -pybind11_add_module(lasp_cpp MODULE lasp_cpp.cpp - pybind11/lasp_deviceinfo.cpp - pybind11/lasp_daqconfig.cpp - pybind11//lasp_dsp_pybind.cpp - pybind11/lasp_streammgr.cpp - pybind11/lasp_daq.cpp - pybind11/lasp_deviceinfo.cpp - pybind11/lasp_pyindatahandler.cpp - pybind11/lasp_siggen.cpp - ) - -target_link_libraries(lasp_cpp PRIVATE lasp_device_lib lasp_dsp_lib - ${OpenMP_CXX_LIBRARIES} ${LASP_FFT_LIBS} ${TARGET_OS_LINKLIBS}) - -install(TARGETS lasp_cpp DESTINATION .)