# # $Id$ # $HeadURL$ # $Author$ # ADD_SUBDIRECTORY(BuildingControlUnit) INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) SET(xml_FILE bld_service.xml) # # --- Library svcBldCommon -------------------------------------------------------------------------------- # SET(SRCS_common bld_export.h logger.cpp logger.h ) # Generate bld_enums.idl / bld.idl CODEGEN_IDL_SVC(SRCS_common ${xml_FILE}) # Generate bld_db_impl.cpp/.h, bld_db.h CODEGEN_DATABASE(SRCS_common ${xml_FILE}) # Generate *.cpp/*.hpp from idl RTIDDSGEN(SRCS_common bld_enums.idl) RTIDDSGEN(SRCS_common bld.idl) # Generate bld_dt[s,c]_types.h, bld_ft[s,c]_types.h CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE}) # generate bld_[d|f]tc.h CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS HLA svcBldCommon SHARED ${SRCS_common}) NGL_TARGET_INCLUDE_DIRECTORIES(svcBldCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcBldCommon PRIVATE RTI::nddscpp2 PUBLIC Qt5::Core ddscore ngldb svcPdmCommon NGLLogger ) NGL_INSTALL_TARGET(svcBldCommon) # # --- Library svcBldClient -------------------------------------------------------------------------------- # SET(SRCS_client bld_export.h ) # generate bld_[d|f]tc_impl.[cpp|h] CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV WS svcBldClient SHARED ${SRCS_client}) NGL_TARGET_INCLUDE_DIRECTORIES(svcBldClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcBldClient PRIVATE RTI::nddscpp2 ddsconnector PUBLIC svcBldCommon ddsftc ) NGL_INSTALL_TARGET(svcBldClient) # # --- Library svcBldServer -------------------------------------------------------------------------------- # SET(SRCS_server bld_export.h ) # generate bld_[d|f]ts.h, bld_[d|f]ts_impl.[cpp|h] CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE}) NGL_ADD_LIBRARY(AAR SV svcBldServer SHARED ${SRCS_server}) NGL_TARGET_INCLUDE_DIRECTORIES(svcBldServer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ ) NGL_TARGET_LINK_LIBRARIES(svcBldServer PRIVATE RTI::nddscpp2 ddsconnector ddsfts PUBLIC svcBldCommon ngldb ) NGL_INSTALL_TARGET(svcBldServer) # # --- Topic Type Plugin -------------------------------------------------------------- # CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE}) # # --- RecordReplayPlugin -------------------------------------------------------------- # CREATE_RECORD_REPLAY_PLUGIN(${xml_FILE} SRCS_exe) # # --- Executable svcBuildings (sBLD) ------------------------------------------------- # LIST(APPEND SRCS_exe building_control_handler.cpp building_control_handler.h building_process.cpp building_process.h dds_handler.h dds_handler.cpp ism_handler.cpp ism_handler.h main.cpp main_handler.cpp main_handler.h pdm_handler.cpp pdm_handler.h ppm_handler.cpp ppm_handler.h relay_info_handler.cpp relay_info_handler.h settings.cpp settings.h BuildingControlUnit/ControlEffects/xmlreader.cpp BuildingControlUnit/ControlEffects/xmlreader.h web_socket_handler.cpp web_socket_handler.h ${xml_FILE} ) # Generate bld.sql, bld.xml CODEGEN_SQL(SRCS_exe ${xml_FILE}) NGL_ADD_SVC_ICON(SRCS_exe) NGL_ADD_EXECUTABLE(AAR SV svcBuildings ${SRCS_exe}) NGL_TARGET_LINK_LIBRARIES(svcBuildings Qt5::Core Qt5::Gui Qt5::WebSockets BuildingControlCommon svcBldCommon svcAsmClient svcBldServer svcBldClient svcCoreClient svcPdmClient svcPpmClient svcIsmClient ddsconnector nglsettings ProjectConfig LtsCommandLineParser LtsCoordTrans NGLLogger nglcoreapplication ngltools LtsUtilsCore ) NGL_INSTALL_TARGET(svcBuildings) NGL_INSTALL(AAR SV FILES log4cxx_bld.props DESTINATION bin) NGL_ADD_TARGET_LINK(svcBuildings sBLD) # Uncomment if necessary #ADD_SUBDIRECTORY(UnitTests) #ADD_SUBDIRECTORY(ModuleTests)