diff options
-rw-r--r-- | Modules/FindQt4.cmake | 46 | ||||
-rw-r--r-- | Modules/UseQt4.cmake | 136 |
2 files changed, 64 insertions, 118 deletions
diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake index b3358f3..7157259 100644 --- a/Modules/FindQt4.cmake +++ b/Modules/FindQt4.cmake @@ -1267,9 +1267,9 @@ IF (QT4_QMAKE_FOUND) # ############################################### - SET(QT_GUI_LIB_DEPENDENCIES "") - SET(QT_CORE_LIB_DEPENDENCIES "") - SET(QT_HELP_LIB_DEPENDENCIES ${QT_QTCLUCENE_LIBRARY}) + SET(QT_QTGUI_LIB_DEPENDENCIES "") + SET(QT_QTCORE_LIB_DEPENDENCIES "") + SET(QT_QTHELP_LIB_DEPENDENCIES ${QT_QTCLUCENE_LIBRARY}) # build using shared Qt needs -DQT_DLL IF(NOT QT_CONFIG MATCHES "static") @@ -1281,7 +1281,7 @@ IF (QT4_QMAKE_FOUND) ## system png IF(QT_QCONFIG MATCHES "system-png") FIND_LIBRARY(QT_PNG_LIBRARY NAMES png) - SET(QT_GUI_LIB_DEPENDENCIES ${QT_GUI_LIB_DEPENDENCIES} ${QT_PNG_LIBRARY}) + SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_PNG_LIBRARY}) MARK_AS_ADVANCED(QT_PNG_LIBRARY) ENDIF(QT_QCONFIG MATCHES "system-png") @@ -1295,7 +1295,7 @@ IF (QT4_QMAKE_FOUND) # ask qmake where the x11 libs are FIND_LIBRARY(QT_X11_SM_LIBRARY NAMES SM PATHS ${QMAKE_LIBDIR_X11}) FIND_LIBRARY(QT_X11_ICE_LIBRARY NAMES ICE PATHS ${QMAKE_LIBDIR_X11}) - SET(QT_GUI_LIB_DEPENDENCIES ${QT_GUI_LIB_DEPENDENCIES} ${QT_X11_SM_LIBRARY} ${QT_X11_ICE_LIBRARY}) + SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_X11_SM_LIBRARY} ${QT_X11_ICE_LIBRARY}) MARK_AS_ADVANCED(QT_X11_SM_LIBRARY) MARK_AS_ADVANCED(QT_X11_ICE_LIBRARY) ENDIF(QT_QCONFIG MATCHES "x11sm") @@ -1303,63 +1303,63 @@ IF (QT4_QMAKE_FOUND) ## Xi IF(QT_QCONFIG MATCHES "tablet") FIND_LIBRARY(QT_XI_LIBRARY NAMES Xi PATHS ${QMAKE_LIBDIR_X11}) - SET(QT_GUI_LIB_DEPENDENCIES ${QT_GUI_LIB_DEPENDENCIES} ${QT_XI_LIBRARY}) + SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XI_LIBRARY}) MARK_AS_ADVANCED(QT_XI_LIBRARY) ENDIF(QT_QCONFIG MATCHES "tablet") ## Xrender IF(QT_QCONFIG MATCHES "xrender") FIND_LIBRARY(QT_XRENDER_LIBRARY NAMES Xrender PATHS ${QMAKE_LIBDIR_X11}) - SET(QT_GUI_LIB_DEPENDENCIES ${QT_GUI_LIB_DEPENDENCIES} ${QT_XRENDER_LIBRARY}) + SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XRENDER_LIBRARY}) MARK_AS_ADVANCED(QT_XRENDER_LIBRARY) ENDIF(QT_QCONFIG MATCHES "xrender") ## Xrandr IF(QT_QCONFIG MATCHES "xrandr") FIND_LIBRARY(QT_XRANDR_LIBRARY NAMES Xrandr PATHS ${QMAKE_LIBDIR_X11}) - SET(QT_GUI_LIB_DEPENDENCIES ${QT_GUI_LIB_DEPENDENCIES} ${QT_XRANDR_LIBRARY}) + SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XRANDR_LIBRARY}) MARK_AS_ADVANCED(QT_XRANDR_LIBRARY) ENDIF(QT_QCONFIG MATCHES "xrandr") ## Xcursor IF(QT_QCONFIG MATCHES "xcursor") FIND_LIBRARY(QT_XCURSOR_LIBRARY NAMES Xcursor PATHS ${QMAKE_LIBDIR_X11}) - SET(QT_GUI_LIB_DEPENDENCIES ${QT_GUI_LIB_DEPENDENCIES} ${QT_XCURSOR_LIBRARY}) + SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XCURSOR_LIBRARY}) MARK_AS_ADVANCED(QT_XCURSOR_LIBRARY) ENDIF(QT_QCONFIG MATCHES "xcursor") ## Xinerama IF(QT_QCONFIG MATCHES "xinerama") FIND_LIBRARY(QT_XINERAMA_LIBRARY NAMES Xinerama PATHS ${QMAKE_LIBDIR_X11}) - SET(QT_GUI_LIB_DEPENDENCIES ${QT_GUI_LIB_DEPENDENCIES} ${QT_XINERAMA_LIBRARY}) + SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XINERAMA_LIBRARY}) MARK_AS_ADVANCED(QT_XINERAMA_LIBRARY) ENDIF(QT_QCONFIG MATCHES "xinerama") ## Xfixes IF(QT_QCONFIG MATCHES "xfixes") FIND_LIBRARY(QT_XFIXES_LIBRARY NAMES Xfixes PATHS ${QMAKE_LIBDIR_X11}) - SET(QT_GUI_LIB_DEPENDENCIES ${QT_GUI_LIB_DEPENDENCIES} ${QT_XFIXES_LIBRARY}) + SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XFIXES_LIBRARY}) MARK_AS_ADVANCED(QT_XFIXES_LIBRARY) ENDIF(QT_QCONFIG MATCHES "xfixes") ## system-freetype IF(QT_QCONFIG MATCHES "system-freetype") FIND_LIBRARY(QT_FREETYPE_LIBRARY NAMES freetype) - SET(QT_GUI_LIB_DEPENDENCIES ${QT_GUI_LIB_DEPENDENCIES} ${QT_FREETYPE_LIBRARY}) + SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_FREETYPE_LIBRARY}) MARK_AS_ADVANCED(QT_FREETYPE_LIBRARY) ENDIF(QT_QCONFIG MATCHES "system-freetype") ## fontconfig IF(QT_QCONFIG MATCHES "fontconfig") FIND_LIBRARY(QT_FONTCONFIG_LIBRARY NAMES fontconfig) - SET(QT_GUI_LIB_DEPENDENCIES ${QT_GUI_LIB_DEPENDENCIES} ${QT_FONTCONFIG_LIBRARY}) + SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_FONTCONFIG_LIBRARY}) MARK_AS_ADVANCED(QT_FONTCONFIG_LIBRARY) ENDIF(QT_QCONFIG MATCHES "fontconfig") ## system-zlib IF(QT_QCONFIG MATCHES "system-zlib") FIND_LIBRARY(QT_ZLIB_LIBRARY NAMES z) - SET(QT_CORE_LIB_DEPENDENCIES ${QT_CORE_LIB_DEPENDENCIES} ${QT_ZLIB_LIBRARY}) + SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${QT_ZLIB_LIBRARY}) MARK_AS_ADVANCED(QT_ZLIB_LIBRARY) ENDIF(QT_QCONFIG MATCHES "system-zlib") @@ -1385,7 +1385,7 @@ IF (QT4_QMAKE_FOUND) IF(NOT QT_GLIB_LIBRARY OR NOT QT_GTHREAD_LIBRARY) MESSAGE(WARNING "Unable to find glib 2.0 to satisfy Qt dependency.") ELSE(NOT QT_GLIB_LIBRARY OR NOT QT_GTHREAD_LIBRARY) - SET(QT_CORE_LIB_DEPENDENCIES ${QT_CORE_LIB_DEPENDENCIES} + SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${QT_GTHREAD_LIBRARY} ${QT_GLIB_LIBRARY}) ENDIF(NOT QT_GLIB_LIBRARY OR NOT QT_GTHREAD_LIBRARY) @@ -1401,7 +1401,7 @@ IF (QT4_QMAKE_FOUND) SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE}) IF(QT_POSIX_TIMERS) FIND_LIBRARY(QT_RT_LIBRARY NAMES rt) - SET(QT_CORE_LIB_DEPENDENCIES ${QT_CORE_LIB_DEPENDENCIES} ${QT_RT_LIBRARY}) + SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${QT_RT_LIBRARY}) MARK_AS_ADVANCED(QT_RT_LIBRARY) ENDIF(QT_POSIX_TIMERS) ENDIF(QT_QCONFIG MATCHES "clock-monotonic") @@ -1414,26 +1414,26 @@ IF (QT4_QMAKE_FOUND) STRING(REGEX REPLACE "-l" "" QT_X11_LIB "${QT_X11_LIB}") SET(QT_TMP_STR "QT_X11_${QT_X11_LIB}_LIBRARY") FIND_LIBRARY(${QT_TMP_STR} NAMES "${QT_X11_LIB}" PATHS ${QMAKE_LIBDIR_X11}) - SET(QT_GUI_LIB_DEPENDENCIES ${QT_GUI_LIB_DEPENDENCIES} ${${QT_TMP_STR}}) + SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${${QT_TMP_STR}}) MARK_AS_ADVANCED(${QT_TMP_STR}) ENDFOREACH(QT_X11_LIB) QT_QUERY_QMAKE(QT_LIBS_THREAD "QMAKE_LIBS_THREAD") - SET(QT_CORE_LIB_DEPENDENCIES ${QT_CORE_LIB_DEPENDENCIES} ${QT_LIBS_THREAD}) + SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${QT_LIBS_THREAD}) QT_QUERY_QMAKE(QMAKE_LIBS_DYNLOAD "QMAKE_LIBS_DYNLOAD") - SET (QT_CORE_LIB_DEPENDENCIES ${QT_CORE_LIB_DEPENDENCIES} ${QMAKE_LIBS_DYNLOAD}) + SET (QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${QMAKE_LIBS_DYNLOAD}) ENDIF(Q_WS_X11) IF(Q_WS_WIN) - SET(QT_GUI_LIB_DEPENDENCIES ${QT_GUI_LIB_DEPENDENCIES} imm32 winmm) - SET(QT_CORE_LIB_DEPENDENCIES ${QT_CORE_LIB_DEPENDENCIES} ws2_32) + SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} imm32 winmm) + SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ws2_32) ENDIF(Q_WS_WIN) IF(Q_WS_MAC) - SET(QT_GUI_LIB_DEPENDENCIES ${QT_GUI_LIB_DEPENDENCIES} "-framework Carbon" "-framework QuickTime") - SET(QT_CORE_LIB_DEPENDENCIES ${QT_CORE_LIB_DEPENDENCIES} "-framework ApplicationServices") + SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} "-framework Carbon" "-framework QuickTime") + SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} "-framework ApplicationServices") ENDIF(Q_WS_MAC) ####################################### diff --git a/Modules/UseQt4.cmake b/Modules/UseQt4.cmake index 805968d..1a60714 100644 --- a/Modules/UseQt4.cmake +++ b/Modules/UseQt4.cmake @@ -20,105 +20,51 @@ IF (QT_USE_QTMAIN) ENDIF (WIN32) ENDIF (QT_USE_QTMAIN) -# Macro for setting up compile flags for Qt modules -MACRO(QT_MODULE_SETUP module) - IF (QT_QT${module}_FOUND) - ADD_DEFINITIONS(-DQT_${module}_LIB) - INCLUDE_DIRECTORIES(${QT_QT${module}_INCLUDE_DIR}) - SET(QT_LIBRARIES ${QT_LIBRARIES} ${QT_QT${module}_LIBRARY} ${QT_${module}_LIB_DEPENDENCIES}) - ELSE (QT_QT${module}_FOUND) - MESSAGE("Qt ${module} library not found.") - ENDIF (QT_QT${module}_FOUND) -ENDMACRO(QT_MODULE_SETUP) - - -# Qt modules (in order of dependence) +IF(QT_DONT_USE_QTGUI) + SET(QT_USE_QTGUI 0) +ELSE(QT_DONT_USE_QTGUI) + SET(QT_USE_QTGUI 1) +ENDIF(QT_DONT_USE_QTGUI) + +IF(QT_DONT_USE_QTCORE) + SET(QT_USE_QTCORE 0) +ELSE(QT_DONT_USE_QTCORE) + SET(QT_USE_QTCORE 1) +ENDIF(QT_DONT_USE_QTCORE) IF (QT_USE_QT3SUPPORT) - QT_MODULE_SETUP(3SUPPORT) ADD_DEFINITIONS(-DQT3_SUPPORT) ENDIF (QT_USE_QT3SUPPORT) -IF (QT_USE_QTOPENGL) - QT_MODULE_SETUP(OPENGL) -ENDIF (QT_USE_QTOPENGL) - -IF (QT_USE_QTASSISTANT) - QT_MODULE_SETUP(ASSISTANT) -ENDIF (QT_USE_QTASSISTANT) - -IF (QT_USE_QTDESIGNER) - QT_MODULE_SETUP(DESIGNER) -ENDIF (QT_USE_QTDESIGNER) - -IF (QT_USE_QTMOTIF) - QT_MODULE_SETUP(MOTIF) -ENDIF (QT_USE_QTMOTIF) - -IF (QT_USE_QTNSPLUGIN) - QT_MODULE_SETUP(NSPLUGIN) -ENDIF (QT_USE_QTNSPLUGIN) - -IF (QT_USE_QTSCRIPT) - QT_MODULE_SETUP(SCRIPT) -ENDIF (QT_USE_QTSCRIPT) - -IF (QT_USE_QTSVG) - QT_MODULE_SETUP(SVG) -ENDIF (QT_USE_QTSVG) - -IF (QT_USE_QTUITOOLS) - QT_MODULE_SETUP(UITOOLS) -ENDIF (QT_USE_QTUITOOLS) - -IF (QT_USE_QTHELP) - QT_MODULE_SETUP(HELP) -ENDIF (QT_USE_QTHELP) - -IF (QT_USE_QTWEBKIT) - QT_MODULE_SETUP(WEBKIT) -ENDIF (QT_USE_QTWEBKIT) - -IF (QT_USE_PHONON) - IF (QT_PHONON_FOUND) - ADD_DEFINITIONS(-DQT_PHONON_LIB) - INCLUDE_DIRECTORIES(${QT_PHONON_INCLUDE_DIR}) - SET(QT_LIBRARIES ${QT_LIBRARIES} ${QT_PHONON_LIBRARY}) - ELSE (QT_PHONON_FOUND) - MESSAGE("Qt ${module} library not found.") - ENDIF (QT_PHONON_FOUND) -ENDIF (QT_USE_PHONON) - -IF (NOT QT_DONT_USE_QTGUI) - QT_MODULE_SETUP(GUI) -ENDIF (NOT QT_DONT_USE_QTGUI) - -IF (QT_USE_QTTEST) - QT_MODULE_SETUP(TEST) -ENDIF (QT_USE_QTTEST) - -IF (QT_USE_QTXML) - QT_MODULE_SETUP(XML) -ENDIF (QT_USE_QTXML) - -IF (QT_USE_QTSQL) - QT_MODULE_SETUP(SQL) -ENDIF (QT_USE_QTSQL) - -IF (QT_USE_QTXMLPATTERNS) - QT_MODULE_SETUP(XMLPATTERNS) -ENDIF (QT_USE_QTXMLPATTERNS) - -IF (QT_USE_QTNETWORK) - QT_MODULE_SETUP(NETWORK) -ENDIF (QT_USE_QTNETWORK) - -IF (QT_USE_QTDBUS) - QT_MODULE_SETUP(DBUS) -ENDIF (QT_USE_QTDBUS) - -IF (NOT QT_DONT_USE_QTCORE) - QT_MODULE_SETUP(CORE) -ENDIF (NOT QT_DONT_USE_QTCORE) +# list dependent modules, so their modules are automatically on +SET(QT_QT3SUPPORT_MODULE_DEPENDS QTGUI QTSQL QTXML QTNETWORK QTCORE) +SET(QT_QTSVG_MODULE_DEPENDS QTGUI QTXML QTCORE) +SET(QT_QTUITOOLS_MODULE_DEPENDS QTGUI QTXML QTCORE) +SET(QT_QTHELP_MODULE_DEPENDS QTGUI QTSQL QTXML QTCORE) +SET(QT_PHONON_MODULE_DEPENDS QTGUI QTDBUS QTCORE) +SET(QT_QTDBUS_MODULE_DEPENDS QTXML QTCORE) +SET(QT_QTXMLPATTERNS_MODULE_DEPENDS QTNETWORK QTCORE) +# Qt modules (in order of dependence) +FOREACH(module QT3SUPPORT QTOPENGL QTASSISTANT QTDESIGNER QTMOTIF QTNSPLUGIN + QTSCRIPT QTSVG QTUITOOLS QTHELP QTWEBKIT PHONON QTGUI QTTEST + QTDBUS QTXML QTSQL QTXMLPATTERNS QTNETWORK QTCORE) + + IF (QT_USE_${module}) + IF (QT_${module}_FOUND) + IF(QT_USE_${module}) + STRING(REPLACE "QT" "" qt_module_def "${module}") + ADD_DEFINITIONS(-DQT_${qt_module_def}_LIB) + INCLUDE_DIRECTORIES(${QT_${module}_INCLUDE_DIR}) + ENDIF(QT_USE_${module}) + SET(QT_LIBRARIES ${QT_LIBRARIES} ${QT_${module}_LIBRARY} ${QT_${module}_LIB_DEPENDENCIES}) + FOREACH(depend_module ${QT_${module}_MODULE_DEPENDS}) + SET(QT_USE_${depend_module} 1) + ENDFOREACH(depend_module ${QT_${module}_MODULE_DEPENDS}) + ELSE (QT_${module}_FOUND) + MESSAGE("Qt ${module} library not found.") + ENDIF (QT_${module}_FOUND) + ENDIF (QT_USE_${module}) + +ENDFOREACH(module) |