diff options
Diffstat (limited to 'src/corelib/Qt5CoreMacros.cmake')
-rw-r--r-- | src/corelib/Qt5CoreMacros.cmake | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake index 0f006fe1e3..17cc19fc4e 100644 --- a/src/corelib/Qt5CoreMacros.cmake +++ b/src/corelib/Qt5CoreMacros.cmake @@ -393,3 +393,35 @@ if (NOT CMAKE_VERSION VERSION_LESS 2.8.9) endforeach() endmacro() endif() + +function(QT5_IMPORT_PLUGINS TARGET_NAME) + set(_doing "") + foreach(_arg ${ARGN}) + if(_arg STREQUAL "INCLUDE") + set(_doing "INCLUDE") + elseif(_arg STREQUAL "EXCLUDE") + set(_doing "EXCLUDE") + elseif(_arg STREQUAL "INCLUDE_BY_TYPE") + set(_doing "INCLUDE_BY_TYPE") + elseif(_arg STREQUAL "EXCLUDE_BY_TYPE") + set(_doing "EXCLUDE_BY_TYPE") + else() + if(_doing STREQUAL "INCLUDE") + set_property(TARGET ${TARGET_NAME} APPEND PROPERTY QT_PLUGINS "${_arg}") + elseif(_doing STREQUAL "EXCLUDE") + set_property(TARGET ${TARGET_NAME} APPEND PROPERTY QT_NO_PLUGINS "${_arg}") + elseif(_doing STREQUAL "INCLUDE_BY_TYPE") + string(REGEX REPLACE "[-/]" "_" _plugin_type "${_arg}") + set(_doing "INCLUDE_BY_TYPE_PLUGINS") + elseif(_doing STREQUAL "INCLUDE_BY_TYPE_PLUGINS") + set_property(TARGET ${TARGET_NAME} APPEND PROPERTY "QT_PLUGINS_${_plugin_type}" "${_arg}") + elseif(_doing STREQUAL "EXCLUDE_BY_TYPE") + string(REGEX REPLACE "[-/]" "_" _plugin_type "${_arg}") + set_property(TARGET ${TARGET_NAME} PROPERTY "QT_PLUGINS_${_plugin_type}" -) + set(_doing "") + else() + message(FATAL_ERROR "Unexpected extra argument: \"${_arg}\"") + endif() + endif() + endforeach() +endfunction() |