diff options
author | Stephen Kelly <stephen.kelly@kdab.com> | 2013-08-15 16:45:23 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-10 14:38:18 +0200 |
commit | 955052c0d9d3277bfa3088c765ea0a60477b90ea (patch) | |
tree | 19960b7d4c0c79fbf66cc729084e401a7ee51574 /mkspecs/features/data/cmake | |
parent | 9d3866ed3293274b2c509c72bf101e94832688e7 (diff) |
Teach CMake about Qt 5 plugins.
Change-Id: Idd3225759f9f5ec620f79e29035eb176f965bef7
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Diffstat (limited to 'mkspecs/features/data/cmake')
-rw-r--r-- | mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 22 | ||||
-rw-r--r-- | mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in | 11 |
2 files changed, 33 insertions, 0 deletions
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in index 2ffb980156..9ac5c0282e 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -280,6 +280,28 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!ENDIF // CMAKE_DEBUG_TYPE +!!IF !isEmpty(CMAKE_LOAD_PLUGINS) + + macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) + set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) + +!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE) + set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") +!!ELSE + set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") +!!ENDIF + _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) + set_target_properties(Qt5::${Plugin} PROPERTIES + \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} + ) + endmacro() + + file(GLOB pluginTargets \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*Plugin.cmake\") + foreach(pluginTarget ${pluginTargets}) + include(${pluginTarget}) + endforeach() +!!ENDIF + !!IF !isEmpty(CMAKE_MODULE_EXTRAS) include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake\") !!ENDIF diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in new file mode 100644 index 0000000000..5baf0fdb10 --- /dev/null +++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in @@ -0,0 +1,11 @@ + +add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED) + +!!IF !isEmpty(CMAKE_RELEASE_TYPE) +_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\") +!!ENDIF +!!IF !isEmpty(CMAKE_DEBUG_TYPE) +_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\") +!!ENDIF + +list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME) |