# # $Id$ # $HeadURL$ # $Author: # # Make ${Qt6_WebSockets} optional (doesn't require GUI) if(TARGET Qt6::WebSockets) set(Qt6_WebSockets Qt6::WebSockets) set(BUILDINGCONTROLJSON_AVAILABLE TRUE) else() set(Qt6_WebSockets "") set(BUILDINGCONTROLJSON_AVAILABLE FALSE) endif() ADD_SUBDIRECTORY(BSM) if(BUILDINGCONTROLJSON_AVAILABLE) ADD_SUBDIRECTORY(Json) endif() ADD_SUBDIRECTORY(VWM) ADD_SUBDIRECTORY(ControlEffects) SET(bcc_SRCS bcu_types.h bcu_xml_reader.cpp bcu_xml_reader.h logger.cpp logger.h settings.cpp settings.h web_socket_telegrams.cpp web_socket_telegrams.h ) SET(bc_SRCS main.cpp main_handler.cpp main_handler.h handle_http_request.cpp handle_http_request.h ) NGL_ADD_LIBRARY2(AAR SV BuildingControlCommon SHARED ${bcc_SRCS}) NGL_TARGET_LINK_LIBRARIES(BuildingControlCommon PRIVATE Qt6::Xml nglsettings ngltools PUBLIC NGLLogger Qt6::Core LtsUtilsCoreHeaderOnly ) NGL_TARGET_INCLUDE_DIRECTORIES(BuildingControlCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_BINARY_DIR}/Lts/Proxies/Buildings/BuildingControlUnit ${CMAKE_SOURCE_DIR}/Lts/Proxies/TrainingAreaBase ${CMAKE_BINARY_DIR}/Lts/Proxies/TrainingAreaBase ) NGL_ADD_EXECUTABLE(AAR SV BuildingControlUnit ${bc_SRCS}) NGL_TARGET_LINK_LIBRARIES(BuildingControlUnit Qt6::Core ${Qt6_WebSockets} # Qt6::Test Qt6::Xml Qt6::Network Qt6::Concurrent BuildingControlBsm BuildingControlCommon $<$:BuildingControlJson> BuildingControlVwm ControlEffects LtsCommandLineParser nglcoreapplication ) NGL_INSTALL_TARGET(BuildingControlUnit) NGL_INSTALL(AAR SV FILES log4cxx_bcu.props DESTINATION bin)