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 )