Files
qt5-legatus-legacy/Lts/Services/AudioVideoManagement/CMakeLists.txt
T
2026-08-13 18:33:10 +02:00

310 lines
7.2 KiB
CMake
Executable File

#
# $Id$
# $HeadURL$
# $Author$
#
IF(${CMAKE_VERSION} VERSION_LESS "3.6.0")
FIND_PACKAGE(Boost REQUIRED COMPONENTS system) # system wird nicht gebraucht, aber ohne Komponente wird das Boost::boost imported Target nicht angelegt (cmake <= 3.5.2)
ELSE()
FIND_PACKAGE(Boost REQUIRED)
ENDIF()
INCLUDE(MacroRTIDDSGen)
INCLUDE(MacroCodeGenIdl)
SET(xml_FILE avm_service.xml)
#
# --- Library svcAvmCommon --------------------------------------------------------------------------------
#
SET(SRCS_common
avm_export.h
logger.cpp
logger.h
av_socket.cpp
av_socket.h
ava_types.cpp
ava_types.h
av_helper.cpp
av_helper.h
avs_dialog.cpp
avs_dialog.h
iava_comm.h
ava_comm.cpp
ava_comm.h
iava_command_done_observer.h
list_response_collector.cpp
list_response_collector.h
ava_control.cpp
ava_control.h
ava_session.cpp
ava_session.h
ava_state.cpp
ava_state.h
rt_state.cpp
rt_state.h
avs_command_queue.cpp
avs_command_queue.h
exercise_context.cpp
exercise_context.h
asset_assignment_manager.h
asset_assignment_manager.cpp
exercise.h
exercise.cpp
asset.h
asset.cpp
mounting_point.h
mounting_point.cpp
audio_video_handler_impl.h
audio_video_handler_impl.cpp
ivd_comm.h
vd_comm.cpp
vd_comm.h
ivd_command_done_observer.h
vd_control.cpp
vd_control.h
vd_session.cpp
vd_session.h
icommand.h
stream_name_mapping.h
stream_name_mapping.cpp
stream_name_mapping_to_ava.h
stream_name_mapping_to_ava.cpp
avs_menus.cpp
avs_menus.h
AvsCommands/simple_command.cpp
AvsCommands/simple_command.h
AvsCommands/choose_stream.cpp
AvsCommands/choose_stream.h
AvsCommands/choose_stream_overview.cpp
AvsCommands/choose_stream_overview.h
AvsCommands/get_stream_list.cpp
AvsCommands/get_stream_list.h
AvsCommands/query_timeline.cpp
AvsCommands/query_timeline.h
AvsCommands/get_eloka_list.cpp
AvsCommands/get_eloka_list.h
AvsCommands/query_eloka.cpp
AvsCommands/query_eloka.h
AvsCommands/set_rt_profile_base.cpp
AvsCommands/set_rt_profile_base.h
AvsCommands/set_rt_profile.cpp
AvsCommands/set_rt_profile.h
AvsCommands/change_rt_profile_circuit_name.cpp
AvsCommands/change_rt_profile_circuit_name.h
AvsCommands/set_announcement_profile.cpp
AvsCommands/set_announcement_profile.h
AvsCommands/set_video_profile.cpp
AvsCommands/set_video_profile.h
AvsCommands/set_script.cpp
AvsCommands/set_script.h
AvsCommands/start_script.cpp
AvsCommands/start_script.h
AvsCommands/set_abs_position.cpp
AvsCommands/set_abs_position.h
AvsCommands/set_volume.cpp
AvsCommands/set_volume.h
AvsCommands/keep_alive.cpp
AvsCommands/keep_alive.h
AvsCommands/vd_set_script.cpp
AvsCommands/vd_set_script.h
)
# due to template export stuff
SET_SOURCE_FILES_PROPERTIES(list_response_collector.cpp PROPERTIES SKIP_UNITY_BUILD_INCLUSION TRUE)
# Generate avm_enums.idl / avm.idl
CODEGEN_IDL_SVC(SRCS_common ${xml_FILE})
# Generate avm_db.h, avm_db_impl.cpp/.h
CODEGEN_DATABASE_SQL(SRCS_common ${xml_FILE})
# Generate *.cpp/*.hpp from idl
RTIDDSGEN(SRCS_common avm_enums.idl)
RTIDDSGEN(SRCS_common avm.idl)
# Generate avm_dt[s,c]_types.h, avm_ft[s,c]_types.h
CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE})
# generate avm_[d|f]tc.h
CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE})
# Generate avm_db_structs.cpp/.h
CODEGEN_DATABASE_STRUCTS(SRCS_common ${xml_FILE})
NGL_ADD_LIBRARY(AAR SV WS svcAvmCommon SHARED ${SRCS_common})
NGL_TARGET_INCLUDE_DIRECTORIES(svcAvmCommon
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/../
${CMAKE_CURRENT_BINARY_DIR}/../
)
NGL_TARGET_LINK_LIBRARIES(svcAvmCommon
PRIVATE
RTI::nddscpp2
ngltools
PUBLIC
Qt5::Core
Qt5::Network
NGLLogger
LtsUtilsCore
svcIsmClient
ddscore
ngldb
Boost::boost
)
NGL_INSTALL_TARGET(svcAvmCommon)
#
# --- Library svcAvmClient --------------------------------------------------------------------------------
#
SET(SRCS_client
avm_export.h
avm_dtc_impl_custom.h
avm_dtc_impl_custom.cpp
)
# generate avm_[d|f]tc_impl.[cpp|h]
CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE})
NGL_ADD_LIBRARY(AAR SV WS svcAvmClient SHARED ${SRCS_client})
NGL_TARGET_INCLUDE_DIRECTORIES(svcAvmClient
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/../
${CMAKE_CURRENT_BINARY_DIR}/../
)
NGL_TARGET_LINK_LIBRARIES(svcAvmClient
PRIVATE
RTI::nddscpp2
ddsconnector
PUBLIC
svcAvmCommon
ddsftc
)
NGL_INSTALL_TARGET(svcAvmClient)
#
# --- Library svcAvmServer --------------------------------------------------------------------------------
#
SET(SRCS_server
avm_export.h
)
# generate avm_[d|f]ts.h, avm_[d|f]ts_impl.[cpp|h]
CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE})
NGL_ADD_LIBRARY(AAR SV svcAvmServer SHARED ${SRCS_server})
NGL_TARGET_INCLUDE_DIRECTORIES(svcAvmServer
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/../
${CMAKE_CURRENT_BINARY_DIR}/../
)
NGL_TARGET_LINK_LIBRARIES(svcAvmServer
PRIVATE
RTI::nddscpp2
ddsconnector
ddsfts
PUBLIC
svcAvmCommon
ngldb
)
NGL_INSTALL_TARGET(svcAvmServer)
#
# --- Topic Type Plugin --------------------------------------------------------------
#
CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE})
#
# --- Executable svcAudioVideoManagement (sAVM) -------------------------------------------------
#
LIST(APPEND SRCS_exe
av_control.h
av_control.cpp
cnr_handler.h
cnr_handler.cpp
dds_handler.h
dds_handler.cpp
dds_handler_exercise.h
dds_handler_exercise.cpp
exercise_handler.h
exercise_handler.cpp
exercises_handler.h
exercises_handler.cpp
import_handler.h
import_handler.cpp
frequency_set_handler.h
frequency_set_handler.cpp
frequency_planning_handler.h
frequency_planning_handler.cpp
fm_control.h
fm_control.cpp
handler_menu_struct.h
handler_menu_struct.cpp
main.cpp
main_handler.h
main_handler.cpp
object_menu_struct.h
object_menu_struct.cpp
default_av_menus.h
default_av_menus.cpp
settings.h
settings.cpp
tvc_handler.h
tvc_handler.cpp
cnr_tvc_profile_handler.h
cnr_tvc_profile_handler.cpp
audio_video_handler.h
audio_video_handler.cpp
active_exercises.h
active_exercises.cpp
stream_name_mapping_publisher.h
stream_name_mapping_publisher.cpp
log4cxx_avm.props
object_video_team.cpp
object_video_team.h
handler_video_team.cpp
handler_video_team.h
object_video_receiver.cpp
object_video_receiver.h
handler_video_receiver.cpp
handler_video_receiver.h
object_frequency_planning_status.cpp
object_frequency_planning_status.h
handler_frequency_planning_status.cpp
handler_frequency_planning_status.h
${xml_FILE}
)
# Generate avm.sql, avm.xml
CODEGEN_SQL(SRCS_exe ${xml_FILE})
NGL_ADD_SVC_ICON(SRCS_exe)
NGL_ADD_EXECUTABLE(AAR SV svcAudioVideoManagement ${SRCS_exe})
NGL_TARGET_LINK_LIBRARIES(svcAudioVideoManagement
PUBLIC
Qt5::Core
Qt5::Network
svcAvmCommon
svcAvmServer
svcCoreClient
svcExmClient
svcIsmClient
svcAsmClient
ddsconnector
nglsettings
ProjectConfig
LtsCommandLineParser
NGLLogger
nglcoreapplication
ngltools
LtsUtilsCoreHeaderOnly
Boost::boost
svcCnrHelper
)
NGL_INSTALL_TARGET(svcAudioVideoManagement)
NGL_INSTALL(AAR SV FILES log4cxx_avm.props DESTINATION bin)
NGL_ADD_TARGET_LINK(svcAudioVideoManagement sAVM)
# Uncomment if necessary
ADD_SUBDIRECTORY(ModuleTests)
ADD_SUBDIRECTORY(UnitTests)