DiagramDesigner/diagramCommunication/CMakeLists.txt

59 lines
1.6 KiB
CMake

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
)