1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-10-23 09:00:22 -04:00
Jon Beniston f204c168f6 Add crash handler on Windows.
Add memory buffer to Logger, so last 500 log messages can be included in crash report.
Generate and include stripped pdb files so stack trace can include function names.
2025-07-31 16:35:44 +01:00

107 lines
2.6 KiB
CMake

project(moddatv)
set(moddatv_SOURCES
datvmod.cpp
datvmodbaseband.cpp
datvmodreport.cpp
datvmodsource.cpp
datvmodplugin.cpp
datvmodsettings.cpp
datvmodwebapiadapter.cpp
dvb-s/dvb-s.cpp
dvb-s2/DVB2.cpp
dvb-s2/DVBS2.cpp
dvb-s2/dvb2_bbheader.cpp
dvb-s2/dvb2_bch.cpp
dvb-s2/dvb2_ldpc_encode.cpp
dvb-s2/dvb2_ldpc_tables.cpp
dvb-s2/dvb2_scrambler.cpp
dvb-s2/dvbs2_interleave.cpp
dvb-s2/dvbs2_modulator.cpp
dvb-s2/dvbs2_physical.cpp
dvb-s2/dvbs2_scrambler.cpp
dvb-s2/dvbs2_tables.cpp
)
set(moddatv_HEADERS
datvmod.h
datvmodbaseband.h
datvmodreport.h
datvmodsource.h
datvmodplugin.h
datvmodsettings.h
datvmodwebapiadapter.h
dvb-s/dvb-s.h
dvb-s/dvb-s.h
dvb-s2/DVB2.h
dvb-s2/DVBS2.h
)
include_directories(
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
${Boost_INCLUDE_DIRS}
${AVCODEC_INCLUDE_DIRS}
${AVFORMAT_INCLUDE_DIRS}
${AVUTIL_INCLUDE_DIRS}
${SWSCALE_INCLUDE_DIRS}
${SWRESAMPLE_INCLUDE_DIRS}
)
if(NOT SERVER_MODE)
set(moddatv_SOURCES
${moddatv_SOURCES}
datvmodgui.cpp
datvmodgui.ui
)
set(moddatv_HEADERS
${moddatv_HEADERS}
datvmodgui.h
)
set(TARGET_NAME ${PLUGINS_PREFIX}moddatv)
set(TARGET_LIB "Qt::Widgets")
set(TARGET_LIB_GUI "sdrgui")
set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR})
else()
set(TARGET_NAME ${PLUGINSSRV_PREFIX}moddatvsrv)
set(TARGET_LIB "")
set(TARGET_LIB_GUI "")
set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR})
endif()
if(NOT Qt6_FOUND)
add_library(${TARGET_NAME} ${moddatv_SOURCES})
else()
qt_add_plugin(${TARGET_NAME} CLASS_NAME DATVModPlugin ${moddatv_SOURCES})
endif()
if(NOT BUILD_SHARED_LIBS)
set_property(GLOBAL APPEND PROPERTY STATIC_PLUGINS_PROPERTY ${TARGET_NAME})
endif()
target_link_libraries(${TARGET_NAME} PRIVATE
Boost::disable_autolinking
Qt::Core
${TARGET_LIB}
sdrbase
${TARGET_LIB_GUI}
swagger
${AVCODEC_LIBRARIES}
${AVFORMAT_LIBRARIES}
${AVUTIL_LIBRARIES}
${SWSCALE_LIBRARIES}
${SWRESAMPLE_LIBRARIES}
)
if(DEFINED FFMPEG_DEPENDS)
add_dependencies(${TARGET_NAME} ${FFMPEG_DEPENDS})
endif()
install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER})
# Install debug symbols
if (WIN32)
install(FILES $<TARGET_PROPERTY:${TARGET_NAME},RUNTIME_OUTPUT_DIRECTORY>/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb )
install(FILES $<TARGET_PDB_FILE:${TARGET_NAME}> CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} )
endif()