Merge topic 'qt4-find-plugins'
e6bb8c7
Add support for using static/dynamic Qt plugins.
This commit is contained in:
commit
b8e5d7b49c
|
@ -1072,15 +1072,6 @@ IF (QT4_QMAKE_FOUND)
|
|||
# get the directory of the current file, used later on in the file
|
||||
GET_FILENAME_COMPONENT( _qt4_current_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
|
||||
######################################
|
||||
#
|
||||
# Macros for building Qt files
|
||||
#
|
||||
######################################
|
||||
|
||||
INCLUDE("${_qt4_current_dir}/Qt4Macros.cmake")
|
||||
|
||||
|
||||
######################################
|
||||
#
|
||||
# decide if Qt got found
|
||||
|
@ -1116,6 +1107,89 @@ IF (QT4_QMAKE_FOUND)
|
|||
INCLUDE("${_qt4_current_dir}/Qt4ConfigDependentSettings.cmake")
|
||||
|
||||
|
||||
#######################################
|
||||
#
|
||||
# Check the plugins of Qt
|
||||
#
|
||||
#######################################
|
||||
|
||||
SET( QT_PLUGIN_TYPES accessible bearer codecs decorations designer gfxdrivers graphicssystems iconengines imageformats inputmethods mousedrivers phonon_backend script sqldrivers )
|
||||
|
||||
SET( QT_ACCESSIBLE_PLUGINS qtaccessiblecompatwidgets qtaccessiblewidgets )
|
||||
SET( QT_BEARER_PLUGINS qcorewlanbearer qgenericbearer )
|
||||
SET( QT_CODECS_PLUGINS qcncodecs qjpcodecs qkrcodecs qtwcodecs )
|
||||
SET( QT_DECORATIONS_PLUGINS qdecorationdefault qdecorationwindows )
|
||||
SET( QT_DESIGNER_PLUGINS arthurplugin containerextension customwidgetplugin phononwidgets qdeclarativeview qt3supportwidgets qwebview taskmenuextension worldtimeclockplugin )
|
||||
SET( QT_GRAPHICSDRIVERS_PLUGINS qgfxtransformed qgfxvnc qscreenvfb )
|
||||
SET( QT_GRAPHICSSYSTEMS_PLUGINS qglgraphicssystem qtracegraphicssystem )
|
||||
SET( QT_ICONENGINES_PLUGINS qsvgicon )
|
||||
SET( QT_IMAGEFORMATS_PLUGINS qgif qjpeg qmng qico qsvg qtiff )
|
||||
SET( QT_INPUTMETHODS_PLUGINS qimsw_multi )
|
||||
SET( QT_MOUSEDRIVERS_PLUGINS qwstslibmousehandler )
|
||||
SET( QT_PHONON_BACKEND_PLUGINS phonon_qt7 )
|
||||
SET( QT_SCRIPT_PLUGINS qtscriptdbus )
|
||||
SET( QT_SQLDRIVERS_PLUGINS qsqldb2 qsqlibase qsqlite qsqlite2 qsqlmysql qsqloci qsqlodbc qsqlpsql qsqltds )
|
||||
|
||||
IF(QT_QMAKE_CHANGED)
|
||||
FOREACH(QT_PLUGIN_TYPE ${QT_PLUGIN_TYPES})
|
||||
STRING(TOUPPER ${QT_PLUGIN_TYPE} _upper_qt_plugin_type)
|
||||
SET(QT_${_upper_qt_plugin_type}_PLUGINS_DIR ${QT_PLUGINS_DIR}/${QT_PLUGIN_TYPE})
|
||||
FOREACH(QT_PLUGIN ${QT_${_upper_qt_plugin_type}_PLUGINS})
|
||||
STRING(TOUPPER ${QT_PLUGIN} _upper_qt_plugin)
|
||||
UNSET(QT_${_upper_qt_plugin}_LIBRARY_RELEASE CACHE)
|
||||
UNSET(QT_${_upper_qt_plugin}_LIBRARY_DEBUG CACHE)
|
||||
UNSET(QT_${_upper_qt_plugin}_LIBRARY CACHE)
|
||||
UNSET(QT_${_upper_qt_plugin}_PLUGIN_RELEASE CACHE)
|
||||
UNSET(QT_${_upper_qt_plugin}_PLUGIN_DEBUG CACHE)
|
||||
UNSET(QT_${_upper_qt_plugin}_PLUGIN CACHE)
|
||||
ENDFOREACH(QT_PLUGIN)
|
||||
ENDFOREACH(QT_PLUGIN_TYPE)
|
||||
ENDIF(QT_QMAKE_CHANGED)
|
||||
|
||||
# find_library works better than find_file but we need to set prefixes to only match plugins
|
||||
FOREACH(QT_PLUGIN_TYPE ${QT_PLUGIN_TYPES})
|
||||
STRING(TOUPPER ${QT_PLUGIN_TYPE} _upper_qt_plugin_type)
|
||||
SET(QT_${_upper_qt_plugin_type}_PLUGINS_DIR ${QT_PLUGINS_DIR}/${QT_PLUGIN_TYPE})
|
||||
FOREACH(QT_PLUGIN ${QT_${_upper_qt_plugin_type}_PLUGINS})
|
||||
STRING(TOUPPER ${QT_PLUGIN} _upper_qt_plugin)
|
||||
IF(QT_IS_STATIC)
|
||||
FIND_LIBRARY(QT_${_upper_qt_plugin}_LIBRARY_RELEASE
|
||||
NAMES ${QT_PLUGIN}${QT_LIBINFIX} ${QT_PLUGIN}${QT_LIBINFIX}4
|
||||
PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH
|
||||
)
|
||||
FIND_LIBRARY(QT_${_upper_qt_plugin}_LIBRARY_DEBUG
|
||||
NAMES ${QT_PLUGIN}${QT_LIBINFIX}_debug ${QT_PLUGIN}${QT_LIBINFIX}d ${QT_PLUGIN}${QT_LIBINFIX}d4
|
||||
PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH
|
||||
)
|
||||
_QT4_ADJUST_LIB_VARS(${QT_PLUGIN})
|
||||
ELSE(QT_IS_STATIC)
|
||||
# find_library works easier/better than find_file but we need to set suffixes to only match plugins
|
||||
SET(CMAKE_FIND_LIBRARY_SUFFIXES_DEFAULT ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
SET(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_MODULE_SUFFIX} ${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
FIND_LIBRARY(QT_${_upper_qt_plugin}_PLUGIN_RELEASE
|
||||
NAMES ${QT_PLUGIN}${QT_LIBINFIX} ${QT_PLUGIN}${QT_LIBINFIX}4
|
||||
PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH
|
||||
)
|
||||
FIND_LIBRARY(QT_${_upper_qt_plugin}_PLUGIN_DEBUG
|
||||
NAMES ${QT_PLUGIN}${QT_LIBINFIX}_debug ${QT_PLUGIN}${QT_LIBINFIX}d ${QT_PLUGIN}${QT_LIBINFIX}d4
|
||||
PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH
|
||||
)
|
||||
MARK_AS_ADVANCED(QT_${_upper_qt_plugin}_PLUGIN_RELEASE QT_${_upper_qt_plugin}_PLUGIN_DEBUG)
|
||||
SET(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_DEFAULT})
|
||||
ENDIF(QT_IS_STATIC)
|
||||
ENDFOREACH(QT_PLUGIN)
|
||||
ENDFOREACH(QT_PLUGIN_TYPE)
|
||||
|
||||
|
||||
######################################
|
||||
#
|
||||
# Macros for building Qt files
|
||||
#
|
||||
######################################
|
||||
|
||||
INCLUDE("${_qt4_current_dir}/Qt4Macros.cmake")
|
||||
|
||||
|
||||
#######################################
|
||||
#
|
||||
# compatibility settings
|
||||
|
|
Loading…
Reference in New Issue