# # $Id$ # $HeadURL$ # $Author$ # OPTION(WITH_SCHUSSTAFEL "Enable Schusstafel integration" OFF) IF(WITH_SCHUSSTAFEL) FIND_PACKAGE(Schusstafel REQUIRED) ELSE() SET(SCHUSSTAFEL_FOUND FALSE) ENDIF() IF(BUILD_ARCGIS) FIND_PACKAGE(ArcGIS) IF(NOT ARCGIS_FOUND) SET(BUILD_ARCGIS OFF CACHE BOOL "Build ArcGIS SDK dependent modules" FORCE) ENDIF() ELSE() SET(ARCGIS_FOUND FALSE) ENDIF() 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 IF(BUILD_RTI) CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) ENDIF() # Generate ces_db_impl.cpp/.h, ces_db.h IF(BUILD_RTI) CODEGEN_DATABASE(SRCS_common ${xml_FILE}) ENDIF() # 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 IF(BUILD_RTI) CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) ENDIF() # Generate ces_[d|f]tc.h IF(BUILD_RTI) CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE}) ENDIF() 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 Qt6::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] IF(BUILD_RTI) CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) ENDIF() 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] IF(BUILD_RTI) CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE}) ENDIF() 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 -------------------------------------------------------------- # IF(BUILD_RTI) CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) ENDIF() # # --- 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 IF(BUILD_RTI) CODEGEN_SQL(SRCS_exe ${xml_FILE}) ENDIF() NGL_ADD_SVC_ICON(SRCS_exe) NGL_ADD_EXECUTABLE(AAR SV svcCentralEffectSimulation ${SRCS_exe}) NGL_TARGET_LINK_LIBRARIES(svcCentralEffectSimulation $,ArcGISQt5Hack,> Qt6::Core Qt6::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 Qt6::Core svcPdmClient)