project(diagramCommunication) set(DIAGRACOMMUNICATION_HEADER_FILES include/channelConfig.h include/baseChannel.h include/communicationManager.h include/httpChannel.h include/webSocketChannel.h include/configManager.h include/uiCommunicationBus.h include/dataProcessor.h ../common/include/compiler.hpp ../common/include/export.hpp ../common/include/operatingSystem.hpp ) set(DIAGRACOMMUNICATION_SOURCE_FILES source/communicationManager.cpp source/baseChannel.cpp source/webSocketChannel.cpp source/httpChannel.cpp source/configManager.cpp source/uiCommunicationBus.cpp source/dataProcessor.cpp ) if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) qt_add_library(diagramCommunication SHARED MANUAL_FINALIZATION ${DIAGRACOMMUNICATION_HEADER_FILES} ${DIAGRACOMMUNICATION_SOURCE_FILES} ) else() add_library(diagramCommunication SHARED ${DIAGRACOMMUNICATION_HEADER_FILES} ${DIAGRACOMMUNICATION_SOURCE_FILES} ) endif() target_link_libraries(diagramCommunication PUBLIC Qt${QT_VERSION_MAJOR}::Core) target_link_libraries(diagramCommunication PRIVATE Qt6::Xml) target_link_libraries(diagramCommunication PRIVATE Qt6::Network) target_link_libraries(diagramCommunication PRIVATE Qt6::WebSockets) target_link_libraries(diagramCommunication PRIVATE Qt6::Sql ${PostgreSQL_LIBRARIES}) option(BUILD_SHARED_LIBS "Build as shared library" ON) target_include_directories(diagramCommunication PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) target_compile_definitions(diagramCommunication PUBLIC DIAGRAM_DESIGNER_SHARED PRIVATE DIAGRAM_DESIGNER_EXPORTS #QT_NO_KEYWORDS )