54 lines
1.7 KiB
CMake
54 lines
1.7 KiB
CMake
# 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 $<TARGET_PDB_FILE:_add_module>
|
|
EXCLUDE_FROM_ALL
|
|
COMPONENT python_modules
|
|
DESTINATION ${PY_BUILD_CMAKE_MODULE_NAME}
|
|
OPTIONAL)
|
|
endif()
|