|
@@ -140,9 +140,11 @@ macro(ctkMacroBuildPlugin)
|
|
|
# and external dependencies
|
|
|
ctkFunctionGetIncludeDirs(my_includes ${lib_name})
|
|
|
|
|
|
- include_directories(
|
|
|
- ${my_includes}
|
|
|
- )
|
|
|
+ if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
|
|
+ include_directories(
|
|
|
+ ${my_includes}
|
|
|
+ )
|
|
|
+ endif()
|
|
|
|
|
|
if(CTK_QT_VERSION VERSION_LESS "5")
|
|
|
# Add Qt include dirs and defines
|
|
@@ -180,7 +182,7 @@ macro(ctkMacroBuildPlugin)
|
|
|
# this is a workaround for Visual Studio. The relative include paths in the generated
|
|
|
# moc files can get very long and can't be resolved by the MSVC compiler.
|
|
|
foreach(moc_src ${MY_MOC_SRCS})
|
|
|
- QT5_WRAP_CPP(MY_MOC_CPP ${moc_src} OPTIONS -f${moc_src} -DHAVE_QT5)
|
|
|
+ QT5_WRAP_CPP(MY_MOC_CPP ${moc_src} OPTIONS -f${moc_src} -DHAVE_QT5 TARGET ${lib_name})
|
|
|
endforeach()
|
|
|
endif()
|
|
|
QT5_WRAP_UI(MY_UI_CPP ${MY_UI_FORMS})
|
|
@@ -192,7 +194,7 @@ macro(ctkMacroBuildPlugin)
|
|
|
# this is a workaround for Visual Studio. The relative include paths in the generated
|
|
|
# moc files can get very long and can't be resolved by the MSVC compiler.
|
|
|
foreach(moc_src ${MY_MOC_SRCS})
|
|
|
- QT4_WRAP_CPP(MY_MOC_CPP ${moc_src} OPTIONS -f${moc_src})
|
|
|
+ QT4_WRAP_CPP(MY_MOC_CPP ${moc_src} OPTIONS -f${moc_src} TARGET ${lib_name})
|
|
|
endforeach()
|
|
|
endif()
|
|
|
QT4_WRAP_UI(MY_UI_CPP ${MY_UI_FORMS})
|
|
@@ -290,9 +292,36 @@ macro(ctkMacroBuildPlugin)
|
|
|
${_plugin_qm_files}
|
|
|
)
|
|
|
|
|
|
+ if(NOT CMAKE_VERSION VERSION_LESS 2.8.12)
|
|
|
+ target_include_directories(${lib_name}
|
|
|
+ PUBLIC "$<BUILD_INTERFACE:${my_includes}>"
|
|
|
+ "$<INSTALL_INTERFACE:${CTK_INSTALL_PLUGIN_INCLUDE_DIR}/${Plugin-SymbolicName}>"
|
|
|
+ )
|
|
|
+ if(CTK_QT_VERSION VERSION_LESS "5")
|
|
|
+ # Add Qt include dirs to the target
|
|
|
+ target_include_directories(${lib_name} PUBLIC ${QT_INCLUDE_DIR})
|
|
|
+ foreach(module QT3SUPPORT QTOPENGL QTASSISTANT QTDESIGNER QTMOTIF QTNSPLUGIN
|
|
|
+ QAXSERVER QAXCONTAINER QTDECLARATIVE QTSCRIPT QTSVG QTUITOOLS QTHELP
|
|
|
+ QTWEBKIT PHONON QTSCRIPTTOOLS QTMULTIMEDIA QTXMLPATTERNS QTGUI QTTEST
|
|
|
+ QTDBUS QTXML QTSQL QTNETWORK QTCORE)
|
|
|
+ if (QT_USE_${module} OR QT_USE_${module}_DEPENDS)
|
|
|
+ if (QT_${module}_FOUND)
|
|
|
+ target_include_directories(${lib_name} PUBLIC ${QT_${module}_INCLUDE_DIR})
|
|
|
+ endif ()
|
|
|
+ endif ()
|
|
|
+ endforeach()
|
|
|
+ endif()
|
|
|
+ else()
|
|
|
+ find_package(Qt5LinguistTools REQUIRED)
|
|
|
+ endif()
|
|
|
+
|
|
|
if(MY_TEST_PLUGIN AND CTK_QT_VERSION VERSION_GREATER "4")
|
|
|
find_package(Qt5Test REQUIRED)
|
|
|
- target_link_libraries(${lib_name} Qt5::Test)
|
|
|
+ if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
|
|
+ target_link_libraries(${lib_name} Qt5::Test)
|
|
|
+ else()
|
|
|
+ target_link_libraries(${lib_name} PRIVATE Qt5::Test)
|
|
|
+ endif()
|
|
|
endif()
|
|
|
|
|
|
# Set the output directory for the plugin
|
|
@@ -354,7 +383,11 @@ macro(ctkMacroBuildPlugin)
|
|
|
list(APPEND my_libs ssp) # add stack smash protection lib
|
|
|
endif()
|
|
|
|
|
|
- target_link_libraries(${lib_name} ${my_libs})
|
|
|
+ if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
|
|
+ target_link_libraries(${lib_name} ${my_libs})
|
|
|
+ else()
|
|
|
+ target_link_libraries(${lib_name} PUBLIC ${my_libs})
|
|
|
+ endif()
|
|
|
|
|
|
if(NOT MY_TEST_PLUGIN)
|
|
|
set(${CMAKE_PROJECT_NAME}_PLUGIN_LIBRARIES ${${CMAKE_PROJECT_NAME}_PLUGIN_LIBRARIES} ${lib_name} CACHE INTERNAL "CTK plugins" FORCE)
|