# # $Id$ # $HeadURL$ # $Author$ # FIND_PACKAGE(Schusstafel REQUIRED) FIND_PACKAGE(ArcGIS REQUIRED) INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) ADD_SUBDIRECTORY(Plugins) SET(xml_FILE ces_service.xml) # # --- Library svcCesCommon -------------------------------------------------------------------------------- # SET(SRCS_common ces_export.h logger.cpp logger.h ) # Generate ces_enums.idl / ces.idl CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) # Generate ces_db_impl.cpp/.h, ces_db.h CODEGEN_DATABASE(SRCS_common ${xml_FILE}) # Generate *.cpp/*.hpp from idl RTIDDSGEN(SRCS_common ces_enums.idl) RTIDDSGEN(SRCS_common ces.idl) # Generate ces_dt[s,c]_types.h, ces_ft[s,c]_types.h CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) # Generate ces_[d|f]tc.h CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS HLA svcCesCommon SHARED ${SRCS_common}) NGL_TARGET_INCLUDE_DIRECTORIES(svcCesCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcCesCommon PRIVATE RTI::nddscpp2 PUBLIC Qt5::Core ddscore NGLLogger ngldb svcAesCommon #for FuseType in DetonationLocationRequest svcPdmCommon ) NGL_INSTALL_TARGET(svcCesCommon) SET(SRCS_commonDDS handler_participant.cpp handler_participant.h handler_building_data.cpp handler_building_data.h aes_item_view_utm.cpp aes_item_view_utm.h main_handler.cpp main_handler.h settings.cpp settings.h dds_handler.cpp dds_handler.h proxy_building.cpp proxy_building.h ) NGL_ADD_LIBRARY2(AAR SV svcCesDDSCommon SHARED ${SRCS_commonDDS}) NGL_TARGET_INCLUDE_DIRECTORIES(svcCesDDSCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcCesDDSCommon PRIVATE ddsconnector ddsQoS RTI::nddscpp2 LtsPluginLoader LtsCoordinate svcExmClient # LtsElevation svcAsmClient # LtsElevation PUBLIC svcCesCommon svcBldCommon svcCesServer svcCesClient svcPpmClient svcTabClient svcTabServer svcMdmClient svcAesClient svcBldClient svcIsmClient svcPdmClient svcCoreClient nglsettings # ProjectConfig LtsCoordTrans LtsUtilsCore ngltools BuildingControlVwm ArcGISQt5Hack ArcGIS::ArcGIS ) NGL_INSTALL_TARGET(svcCesDDSCommon) # # --- Library svcCesCommonBldg -------------------------------------------------------------------------------- # #SET(SRCS_common_bldg # handler_building_data.cpp # handler_building_data.h #) #NGL_ADD_LIBRARY2(AAR SV WS svcCesCommonBldg SHARED ${SRCS_common_bldg}) #NGL_TARGET_INCLUDE_DIRECTORIES(svcCesCommonBldg # PUBLIC # ${CMAKE_CURRENT_SOURCE_DIR}/../ # ${CMAKE_CURRENT_BINARY_DIR}/../ #) #NGL_TARGET_LINK_LIBRARIES(svcCesCommonBldg # PRIVATE # RTI::nddscpp2 # PUBLIC # svcCesDDSCommon #LtsCoordTrans # ProjectConfig # BuildingControlVwm #) #NGL_INSTALL_TARGET(svcCesCommonBldg) # # --- Library svcCesClient -------------------------------------------------------------------------------- # SET(SRCS_client ces_export.h ) # generate ces_[d|f]tc.h, tlm_[d|f]tc_impl.[cpp|h] CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS HLA svcCesClient SHARED ${SRCS_client}) NGL_TARGET_INCLUDE_DIRECTORIES(svcCesClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcCesClient PRIVATE RTI::nddscpp2 ddsconnector PUBLIC svcCesCommon ddsftc ) NGL_INSTALL_TARGET(svcCesClient) # # --- Library svcCesServer -------------------------------------------------------------------------------- # SET(SRCS_server ces_export.h log4cxx_ces.props ) # generate ces_[d|f]ts.h, ces_[d|f]ts_impl.[cpp|h] CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV HLA svcCesServer SHARED ${SRCS_server}) NGL_TARGET_INCLUDE_DIRECTORIES(svcCesServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcCesServer PRIVATE RTI::nddscpp2 ddsconnector ddsfts PUBLIC svcCesCommon ngldb ) NGL_INSTALL_TARGET(svcCesServer) # # --- Topic Type Plugin -------------------------------------------------------------- # CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) # # --- RecordReplayPlugin -------------------------------------------------------------- # CREATE_RECORD_REPLAY_PLUGIN(${xml_FILE} _srcs_not_needed) # # --- Executable svcCentralEffectSimulation (sCES) ------------------------------------------------- # SET(SRCS_exe main.cpp point_helpers.h aes_item_view_utm.cpp aes_item_view_utm.h ) # Generate ces.sql, ces.xml CODEGEN_SQL(SRCS_exe ${xml_FILE}) NGL_ADD_SVC_ICON(SRCS_exe) NGL_ADD_EXECUTABLE(AAR SV svcCentralEffectSimulation ${SRCS_exe}) NGL_TARGET_LINK_LIBRARIES(svcCentralEffectSimulation ArcGISQt5Hack # make sure it's loaded *before* libEsriCommonQt.so Qt5::Core Qt5::Network nglcoreapplication # ProjectConfig LtsCommandLineParser BuildingControlVwm svcCesDDSCommon ) NGL_INSTALL_TARGET(svcCentralEffectSimulation) NGL_INSTALL(AAR SV FILES log4cxx_ces.props DESTINATION bin) NGL_ADD_TARGET_LINK(svcCentralEffectSimulation sCES) # Uncomment if necessary #ADD_SUBDIRECTORY(UnitTests) ADD_SUBDIRECTORY(ModuleTests) #ADD_SUBDIRECTORY(GBL_Global) #ADD_SUBDIRECTORY(GBL_ConfigSystem) #ADD_SUBDIRECTORY(GBL_Types) #ADD_SUBDIRECTORY(FW_Ballistic) #ADD_SUBDIRECTORY(GeoPairingImpl) #ADD_SUBDIRECTORY(GeoPairing) # clientPluginInterface ADD_LIBRARY(cesPluginInterface INTERFACE) TARGET_SOURCES(cesPluginInterface INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/ces_plugin_interface.h ) TARGET_INCLUDE_DIRECTORIES(cesPluginInterface INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/../) TARGET_LINK_LIBRARIES(cesPluginInterface INTERFACE Qt5::Core svcPdmClient)