1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-25 17:28:50 -05:00
sdrangel/plugins/feature/gs232controller/CMakeLists.txt
Edouard Griffiths f522d88fc5
Merge pull request #2252 from srcejon/freq_scanner
Update CMakeLists.txt to allow static libraries to be built
2024-09-13 21:07:04 +02:00

107 lines
2.8 KiB
CMake

project(gs232controller)
set(gs232controller_SOURCES
gs232controller.cpp
gs232controllersettings.cpp
gs232controllerplugin.cpp
gs232controllerworker.cpp
gs232controllerwebapiadapter.cpp
controllerprotocol.cpp
gs232protocol.cpp
spidprotocol.cpp
rotctrldprotocol.cpp
dfmprotocol.cpp
)
set(gs232controller_HEADERS
gs232controller.h
gs232controllersettings.h
gs232controllerplugin.h
gs232controllerreport.h
gs232controllerworker.h
gs232controllerwebapiadapter.h
controllerprotocol.h
gs232protocol.h
spidprotocol.h
rotctrldprotocol.h
dfmprotocol.h
)
include_directories(
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
)
if(NOT SERVER_MODE)
set(gs232controller_SOURCES
${gs232controller_SOURCES}
gs232controllergui.cpp
gs232controllergui.ui
dfmstatusdialog.cpp
dfmstatusdialog.ui
inputcontroller.cpp
)
set(gs232controller_HEADERS
${gs232controller_HEADERS}
gs232controllergui.h
dfmstatusdialog.h
inputcontroller.h
inputcontrollersettings.h
)
set(TARGET_NAME ${PLUGINS_PREFIX}featuregs232controller)
set(TARGET_LIB Qt::Widgets)
set(TARGET_LIB_GUI "sdrgui")
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
if(Qt${QT_DEFAULT_MAJOR_VERSION}Gamepad_FOUND)
add_compile_definitions(QT_GAMEPAD_FOUND)
set(TARGET_LIB ${TARGET_LIB} Qt::Gamepad)
set(gs232controller_SOURCES
${gs232controller_SOURCES}
gamepadinputcontroller.cpp
gamepadconfigurationdialog.cpp
gamepadconfigurationdialog.ui)
set(gs232controller_HEADERS
${gs232controller_HEADERS}
gamepadinputcontroller.h
gamepadconfiguration.h)
endif()
else()
set(TARGET_NAME ${PLUGINSSRV_PREFIX}featuregs232controllersrv)
set(TARGET_LIB "")
set(TARGET_LIB_GUI "")
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
endif()
if(NOT Qt6_FOUND)
add_library(${TARGET_NAME} ${gs232controller_SOURCES})
else()
qt_add_plugin(${TARGET_NAME} CLASS_NAME GS232ControllerPlugin ${gs232controller_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
Qt::SerialPort
${TARGET_LIB}
sdrbase
${TARGET_LIB_GUI}
)
install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER})
if(WIN32)
# Run deployqt for serial & gamepad libraries
include(DeployQt)
windeployqt(${TARGET_NAME} ${SDRANGEL_BINARY_BIN_DIR} ${PROJECT_SOURCE_DIR}/../../../sdrgui/resources)
endif()
# Install debug symbols
if (WIN32)
install(FILES $<TARGET_PDB_FILE:${TARGET_NAME}> CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} )
endif()