DiagramDesigner/pluginManager/CMakeLists.txt

55 lines
1.4 KiB
CMake

project(pluginManager)
set(PLUGINMANAGER_HEADER_FILES
include/pluginManager.h
include/genericPluginAdapter.h
../common/include/compiler.hpp
../common/include/export.hpp
../common/include/operatingSystem.hpp
../common/include/pluginCommon/iPluginAdapter.h
../common/include/pluginCommon/iCanvasItem.h
)
set(PLUGINMANAGER_SOURCE_FILES
source/pluginManager.cpp
source/genericPluginAdapter.cpp
)
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
qt_add_library(pluginManager SHARED
MANUAL_FINALIZATION
${PLUGINMANAGER_HEADER_FILES}
${PLUGINMANAGER_SOURCE_FILES}
)
else()
add_library(pluginManager SHARED
${PLUGINMANAGER_HEADER_FILES}
${PLUGINMANAGER_SOURCE_FILES}
)
endif()
target_link_libraries(pluginManager PUBLIC Qt${QT_VERSION_MAJOR}::Core
Qt${QT_VERSION_MAJOR}::Gui
Qt${QT_VERSION_MAJOR}::Widgets)
target_link_libraries(pluginManager PRIVATE Qt6::Xml)
target_link_libraries(pluginManager PRIVATE Qt6::Network)
target_link_libraries(pluginManager PRIVATE Qt6::Sql ${PostgreSQL_LIBRARIES})
option(BUILD_SHARED_LIBS "Build as shared library" ON)
target_include_directories(pluginManager PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_compile_definitions(pluginManager
PUBLIC
DIAGRAM_DESIGNER_SHARED
PRIVATE
DIAGRAM_DESIGNER_EXPORTS
#QT_NO_KEYWORDS
)