# # $Id$ # $HeadURL$ # $Author: # # Make ${Qt6_WebSockets} optional if(QT6_GUI_AVAILABLE AND TARGET Qt6::WebSockets) set(Qt6_WebSockets ${Qt6_WebSockets}) else() set(Qt6_WebSockets "") endif() # from the subdirectories (BSM, Json, VWM, ControlEffects) must # resolve to this directory's logger.h (namespace BuildingControlUnit), as in # the qt5 build. The root CMakeLists puts Lts/Proxies/TrainingAreaBase on the # global include path, which would otherwise shadow it with # TrainingAreaBase/logger.h (whose svctabcommon_export.h lives only in the # build tree), breaking these targets. include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}) ADD_SUBDIRECTORY(BSM) ADD_SUBDIRECTORY(Json) 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} ) 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)