project(customTypePlugin)

set(CUSTOMTYPEPLUGIN_HEADER_FILES

  include/customTypePlugin.h
  include/reactorItem.h
  ../common/include/compiler.hpp
  ../common/include/export.hpp
  ../common/include/operatingSystem.hpp

  ../common/include/pluginCommon/iPlugin.h
  ../common/include/pluginCommon/iCanvasItem.h
)

set(CUSTOMTYPEPLUGIN_SOURCE_FILES
    source/customTypePlugin.cpp
    source/reactorItem.cpp
)


if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
    qt_add_library(customTypePlugin SHARED
        MANUAL_FINALIZATION
        ${CUSTOMTYPEPLUGIN_HEADER_FILES}
        ${CUSTOMTYPEPLUGIN_SOURCE_FILES}
    )
else()
    add_library(customTypePlugin SHARED
        ${CUSTOMTYPEPLUGIN_HEADER_FILES}
        ${CUSTOMTYPEPLUGIN_SOURCE_FILES}
    )
endif()

target_link_libraries(customTypePlugin PUBLIC Qt${QT_VERSION_MAJOR}::Core
                                                  Qt${QT_VERSION_MAJOR}::Gui
                                                  Qt${QT_VERSION_MAJOR}::Widgets)

target_link_libraries(customTypePlugin PRIVATE Qt6::Xml)
target_link_libraries(customTypePlugin PRIVATE Qt6::Network)
#target_link_libraries(customTypePlugin PRIVATE Qt6::Sql ${PostgreSQL_LIBRARIES})

option(BUILD_SHARED_LIBS "Build as shared library" ON)



target_include_directories(customTypePlugin PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)

target_compile_definitions(customTypePlugin
  PUBLIC
    DIAGRAM_DESIGNER_SHARED
  PRIVATE
    DIAGRAM_DESIGNER_EXPORTS
    QT_PLUGIN
)

set_target_properties(customTypePlugin PROPERTIES
    LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${dd_PlatformDir}/bin/plugins"
    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${dd_PlatformDir}/bin/plugins"
)
