Merge topic 'qt4_use_modules'
1420691
Add new qt4_use_modules function.
This commit is contained in:
commit
32710211ad
|
@ -163,6 +163,17 @@
|
||||||
# filenames can be found in qm_files. The ts_files
|
# filenames can be found in qm_files. The ts_files
|
||||||
# must exists and are not updated in any way.
|
# must exists and are not updated in any way.
|
||||||
#
|
#
|
||||||
|
# function QT4_USE_MODULES( target [link_type] modules...)
|
||||||
|
# Make <target> use the <modules> from Qt. Using a Qt module means
|
||||||
|
# to link to the library, add the relevant include directories for the module,
|
||||||
|
# and add the relevant compiler defines for using the module.
|
||||||
|
# Modules are roughly equivalent to components of Qt4, so usage would be
|
||||||
|
# something like:
|
||||||
|
# qt4_use_modules(myexe Core Gui Declarative)
|
||||||
|
# to use QtCore, QtGui and QtDeclarative. The optional <link_type> argument can
|
||||||
|
# be specified as either LINK_PUBLIC or LINK_PRIVATE to specify the same argument
|
||||||
|
# to the target_link_libraries call.
|
||||||
|
#
|
||||||
#
|
#
|
||||||
# Below is a detailed list of variables that FindQt4.cmake sets.
|
# Below is a detailed list of variables that FindQt4.cmake sets.
|
||||||
# QT_FOUND If false, don't try to use Qt.
|
# QT_FOUND If false, don't try to use Qt.
|
||||||
|
|
|
@ -439,3 +439,24 @@ macro(QT4_ADD_TRANSLATION _qm_files)
|
||||||
set(${_qm_files} ${${_qm_files}} ${qm})
|
set(${_qm_files} ${${_qm_files}} ${qm})
|
||||||
endforeach ()
|
endforeach ()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
function(qt4_use_modules _target _link_type)
|
||||||
|
if ("${_link_type}" STREQUAL "LINK_PUBLIC" OR "${_link_type}" STREQUAL "LINK_PRIVATE")
|
||||||
|
set(modules ${ARGN})
|
||||||
|
set(link_type ${_link_type})
|
||||||
|
else()
|
||||||
|
set(modules ${_link_type} ${ARGN})
|
||||||
|
endif()
|
||||||
|
foreach(_module ${modules})
|
||||||
|
string(TOUPPER ${_module} _ucmodule)
|
||||||
|
if (NOT QT_QT${_ucmodule}_FOUND)
|
||||||
|
message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
|
||||||
|
endif()
|
||||||
|
if ("${_ucmodule}" STREQUAL "MAIN")
|
||||||
|
message(FATAL_ERROR "Can not use \"${_module}\" module with qt4_use_modules.")
|
||||||
|
endif()
|
||||||
|
target_link_libraries(${_target} ${link_type} ${QT_QT${_ucmodule}_LIBRARY})
|
||||||
|
set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${QT_QT${_ucmodule}_INCLUDE_DIR} ${QT_HEADERS_DIR} ${QT_MKSPECS_DIR}/default)
|
||||||
|
set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${QT_QT${_ucmodule}_COMPILE_DEFINITIONS})
|
||||||
|
endforeach()
|
||||||
|
endfunction()
|
||||||
|
|
Loading…
Reference in New Issue