1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-06-12 19:42:34 -04:00
srcejon 1df07b21ae Update CMakeLists.txt to allow static libraries to be built, as well as shared.
Add BUILD_BENCH, BUILD_SHARED_LIBS, ENABLE_AARONIARTSA and ENABLE_METIS options.
2024-09-11 20:16:40 +01:00

74 lines
1.7 KiB
CMake

project(soapysdroutput)
set(soapysdroutput_SOURCES
soapysdroutput.cpp
soapysdroutputplugin.cpp
soapysdroutputsettings.cpp
soapysdroutputwebapiadapter.cpp
soapysdroutputthread.cpp
)
set(soapysdroutput_HEADERS
soapysdroutput.h
soapysdroutputplugin.h
soapysdroutputsettings.h
soapysdroutputwebapiadapter.h
soapysdroutputthread.h
)
include_directories(
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
${CMAKE_SOURCE_DIR}/devices
${SOAPYSDR_INCLUDE_DIRS}
)
if(NOT SERVER_MODE)
set(soapysdroutput_SOURCES
${soapysdroutput_SOURCES}
soapysdroutputgui.cpp
soapysdroutputgui.ui
)
set(soapysdroutput_HEADERS
${soapysdroutput_HEADERS}
soapysdroutputgui.h
)
set(TARGET_NAME outputsoapysdr)
set(TARGET_LIB "Qt::Widgets")
set(TARGET_LIB_GUI "sdrgui")
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
else()
set(TARGET_NAME outputsoapysdrsrv)
set(TARGET_LIB "")
set(TARGET_LIB_GUI "")
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
endif()
if(NOT Qt6_FOUND)
add_library(${TARGET_NAME} ${soapysdroutput_SOURCES})
else()
qt_add_plugin(${TARGET_NAME} CLASS_NAME SoapySDROutputPlugin ${soapysdroutput_SOURCES})
endif()
if(NOT BUILD_SHARED_LIBS)
set_property(GLOBAL APPEND PROPERTY STATIC_PLUGINS_PROPERTY ${TARGET_NAME})
endif()
target_link_libraries(${TARGET_NAME} PRIVATE
Qt::Core
${TARGET_LIB}
sdrbase
${TARGET_LIB_GUI}
swagger
${SOAPYSDR_LINK_LIBRARIES}
soapysdrdevice
)
install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER})
# Install debug symbols
if (WIN32)
install(FILES $<TARGET_PDB_FILE:${TARGET_NAME}> CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} )
endif()