aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2006-03-20 22:07:04 +0000
committerAlexander Neundorf <neundorf@kde.org>2006-03-20 22:07:04 +0000
commit5922c8fb6eee3c4b048a1fc9b2f40e8ae7704eea (patch)
treedbc4eb3945efdaac844b7b01d51bade0a81cc75d
parentd50825bde682346a691237912d3afb35232b02ac (diff)
downloadextra-cmake-modules-5922c8fb6eee3c4b048a1fc9b2f40e8ae7704eea.tar.gz
extra-cmake-modules-5922c8fb6eee3c4b048a1fc9b2f40e8ae7704eea.tar.bz2
-rename QT_AND_KDECORE_LIBS to KDE4_KDECORE_LIBS
-rename KDE4_xxx_LIBRARIES to KDE4_xxx_LIBS for less typing -find more KDE4_xxx_LIBS -add QT_QTFOO_LIBRARY_RELEASE to FindQt4.cmake the LIBKFOO vars should be replaced ASAP with KDE4_KFOO_LIBS Alex CCMAIL: montel@kde.org svn path=/trunk/KDE/kdelibs/; revision=520815 The following changes were in SVN, but were removed from git: M pics/CMakeLists.txt
-rw-r--r--modules/FindKDE4Internal.cmake107
-rw-r--r--modules/FindQt4.cmake530
2 files changed, 374 insertions, 263 deletions
diff --git a/modules/FindKDE4Internal.cmake b/modules/FindKDE4Internal.cmake
index 1eaf4f02..887ed493 100644
--- a/modules/FindKDE4Internal.cmake
+++ b/modules/FindKDE4Internal.cmake
@@ -30,18 +30,33 @@
# KDE4_KUTILS_LIBRARY - the kutils library
# KDE4_KDE3SUPPORT_LIBRARY - the kde3support library
# KDE4_KXMLCORE_LIBRARY - the kxmlcore library
+# KDE4_KHTML_LIBRARY - the khtml library
+# KDE4_KJS_LIBRARY - the kjs library
+# KDE4_KNEWSTUFF_LIBRARY - the knewstuff library
+# KDE4_DCOP_LIBRARY - the DCOP library
+# KDE4_KDEPRINT_LIBRARY - the kdeprint library
+# KDE4_KSPELL2_LIBRARY - the kspell2 library
+# KDE4_KDNSSD_LIBRARY - the kdnssd library
#
# Compared to the variables above, the following variables
# also contain all of the depending libraries, so the variables below
# should be used instead of the ones above:
#
-# KDE4_KDECORE_LIBRARIES - the kdecore library and all depending libraries
-# KDE4_KDEUI_LIBRARIES - the kdeui library and all depending libraries
-# KDE4_KIO_LIBRARIES - the kio library and all depending libraries
-# KDE4_KPARTS_LIBRARIES - the kparts library and all depending libraries
-# KDE4_KUTILS_LIBRARIES - the kutils library and all depending libraries
-# KDE4_KDE3SUPPORT_LIBRARIES - the kde3support library and all depending libraries
-# KDE4_KXMLCORE_LIBRARIES - the kxmlcore library and all depending libraries
+# KDE4_KDECORE_LIBS - the kdecore library and all depending libraries
+# KDE4_KDEUI_LIBS - the kdeui library and all depending libraries
+# KDE4_KIO_LIBS - the kio library and all depending libraries
+# KDE4_KPARTS_LIBS - the kparts library and all depending libraries
+# KDE4_KUTILS_LIBS - the kutils library and all depending libraries
+# KDE4_KDE3SUPPORT_LIBS - the kde3support library and all depending libraries
+# KDE4_KXMLCORE_LIBS - the kxmlcore library and all depending libraries
+# KDE4_KHTML_LIBS - the khtml library and all depending libraries
+# KDE4_KJS_LIBS - the kjs library and all depending libraries
+# KDE4_KNEWSTUFF_LIBS - the knewstuff library and all depending libraries
+# KDE4_DCOP_LIBS - the DCOP library and all depending libraries
+# KDE4_KDEPRINT_LIBS - the kdeprint library and all depending libraries
+# KDE4_KSPELL2_LIBS - the kspell2 library and all depending libraries
+# KDE4_KDNSSD_LIBS - the kdnssd library and all depending libraries
+#
#
# This module defines a bunch of variables used as locations
# for install directories. They are all interpreted relative
@@ -152,20 +167,15 @@
# _KDE4_PLATFORM_DEFINITIONS is used only internally
-cmake_minimum_required(VERSION 2.3.4)
+cmake_minimum_required(VERSION 2.3.4 FATAL_ERROR)
#this line includes FindQt.cmake, which searches the Qt library and headers
find_package(Qt4 REQUIRED)
-set(QT_AND_KDECORE_LIBS ${QT_QTCORE_LIBRARY} kdecore)
-
include (MacroLibrary)
#add some KDE specific stuff
-message(STATUS "Setting installation dir: ${CMAKE_INSTALL_PREFIX}")
-
-
# the following are directories where stuff will be installed to
set(CONFIG_INSTALL_DIR /share/config CACHE STRING "The config file install dir")
set(DATA_INSTALL_DIR /share/apps CACHE STRING "The parent directory where applications can install their data")
@@ -239,6 +249,8 @@ if(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h)
message(STATUS "Building kdelibs...")
set(KDE4_INCLUDE_DIR ${CMAKE_SOURCE_DIR})
+ set(KDE4_KDECORE_LIBS ${QT_QTCORE_LIBRARY} kdecore)
+
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin )
@@ -288,23 +300,43 @@ else(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h)
include(${kde_cmake_module_dir}/KDELibsDependencies.cmake)
find_library(KDE4_KDECORE_LIBRARY NAMES kdecore PATHS ${KDE4_LIB_INSTALL_DIR} )
- set(KDE4_KDECORE_LIBRARIES ${kdecore_LIB_DEPENDS} ${KDE4_KDECORE_LIBRARY} )
+ set(KDE4_KDECORE_LIBS ${kdecore_LIB_DEPENDS} ${KDE4_KDECORE_LIBRARY} )
find_library(KDE4_KDEUI_LIBRARY NAMES kdeui PATHS ${KDE4_LIB_INSTALL_DIR} )
- set(KDE4_KDEUI_LIBRARIES ${kdeui_LIB_DEPENDS} ${KDE4_KDEUI_LIBRARY} )
+ set(KDE4_KDEUI_LIBS ${kdeui_LIB_DEPENDS} ${KDE4_KDEUI_LIBRARY} )
find_library(KDE4_KIO_LIBRARY NAMES kio PATHS ${KDE4_LIB_INSTALL_DIR} )
- set(KDE4_KIO_LIBRARIES ${kio_LIB_DEPENDS} ${KDE4_KIO_LIBRARY} )
+ set(KDE4_KIO_LIBS ${kio_LIB_DEPENDS} ${KDE4_KIO_LIBRARY} )
find_library(KDE4_KPARTS_LIBRARY NAMES kparts PATHS ${KDE4_LIB_INSTALL_DIR} )
- set(KDE4_KPARTS_LIBRARIES ${kparts_LIB_DEPENDS} ${KDE4_KPARTS_LIBRARY} )
+ set(KDE4_KPARTS_LIBS ${kparts_LIB_DEPENDS} ${KDE4_KPARTS_LIBRARY} )
find_library(KDE4_KUTILS_LIBRARY NAMES kutils PATHS ${KDE4_LIB_INSTALL_DIR} )
- set(KDE4_KUTILS_LIBRARIES ${kutils_LIB_DEPENDS} ${KDE4_KUTILS_LIBRARY} )
+ set(KDE4_KUTILS_LIBS ${kutils_LIB_DEPENDS} ${KDE4_KUTILS_LIBRARY} )
find_library(KDE4_KDE3SUPPORT_LIBRARY NAMES kde3support PATHS ${KDE4_LIB_INSTALL_DIR} )
- set(KDE4_KDE3SUPPORT_LIBRARIES ${kde3support_LIB_DEPENDS} ${KDE4_KDE3SUPPORT_LIBRARY} )
+ set(KDE4_KDE3SUPPORT_LIBS ${kde3support_LIB_DEPENDS} ${KDE4_KDE3SUPPORT_LIBRARY} )
+
+ find_library(KDE4_KHTML_LIBRARY NAMES khtml PATHS ${KDE4_LIB_INSTALL_DIR} )
+ set(KDE4_KHTML_LIBS ${khtml_LIB_DEPENDS} ${KDE4_KHTML_LIBRARY} )
+
+ find_library(KDE4_KJS_LIBRARY NAMES kjs PATHS ${KDE4_LIB_INSTALL_DIR} )
+ set(KDE4_KJS_LIBS ${kjs_LIB_DEPENDS} ${KDE4_KJS_LIBRARY} )
+
+ find_library(KDE4_KNEWSTUFF_LIBRARY NAMES knewstuff PATHS ${KDE4_LIB_INSTALL_DIR} )
+ set(KDE4_KNEWSTUFF_LIBS ${knewstuff_LIB_DEPENDS} ${KDE4_KNEWSTUFF_LIBRARY} )
+ find_library(KDE4_DCOP_LIBRARY NAMES DCOP PATHS ${KDE4_LIB_INSTALL_DIR} )
+ set(KDE4_DCOP_LIBS ${DCOP_LIB_DEPENDS} ${KDE4_DCOP_LIBRARY} )
+
+ find_library(KDE4_KDEPRINT_LIBRARY NAMES kdeprint PATHS ${KDE4_LIB_INSTALL_DIR} )
+ set(KDE4_KDEPRINT_LIBS ${kdeprint_LIB_DEPENDS} ${KDE4_KDEPRINT_LIBRARY} )
+
+ find_library(KDE4_KSPELL2_LIBRARY NAMES kspell2 PATHS ${KDE4_LIB_INSTALL_DIR} )
+ set(KDE4_KSPELL2_LIBS ${kspell2_LIB_DEPENDS} ${KDE4_KSPELL2_LIBRARY} )
+
+ find_library(KDE4_KDNSSD_LIBRARY NAMES kdnssd PATHS ${KDE4_LIB_INSTALL_DIR} )
+ set(KDE4_KDNSSD_LIBS ${kdnssd_LIB_DEPENDS} ${KDE4_KDNSSD_LIBRARY} )
# now the KDE library directory, kxmlcore is new with KDE4
find_library(KDE4_KXMLCORE_LIBRARY NAMES kxmlcore
@@ -320,22 +352,6 @@ else(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h)
get_filename_component(KDE4_LIB_DIR ${KDE4_KDECORE_LIBRARY} PATH )
-
- set(LIB_KDECORE ${KDE4_KDECORE_LIBRARIES})
- set(LIB_KDEUI ${KDE4_KDEUI_LIBRARIES})
- set(LIB_KIO ${KDE4_KIO_LIBRARIES})
- set(LIB_KPARTS ${KDE4_KPARTS_LIBRARIES})
- set(LIB_KUTILS ${KDE4_KUTILS_LIBRARIES})
- set(LIB_KDE3SUPPORT ${KDE4_KDE3SUPPORT_LIBRARIES})
-
-# set(LIB_KDECORE ${QT_AND_KDECORE_LIBS} ${QT_QTGUI_LIBRARY} ${X11_X11_LIB} DCOP ${ZLIB_LIBRARY})
-# set(LIB_KDEUI ${kdeui_LIB_DEPENDS} kdeui)
-# set(LIB_KIO ${LIB_KDEUI} kio)
-# set(LIB_KPARTS ${LIB_KIO} kparts)
-# set(LIB_KUTILS ${LIB_KPARTS} kutils)
-# set(LIB_KDE3SUPPORT ${QT_QT3SUPPORT_LIBRARY} ${LIB_KUTILS} kde3support)
-
-
# at first the KDE include direcory
# kpassworddialog.h is new with KDE4
find_path(KDE4_INCLUDE_DIR kpassworddialog.h
@@ -410,6 +426,17 @@ else(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h)
find_program(KDE4_MEINPROC_EXECUTABLE NAME meinproc )
endif (NOT KDE4_MEINPROC_EXECUTABLE)
+
+# all the following are deprecated and should be changed to the KDE4_..._LIBRARIES ASAP, Alex
+ set(LIB_KDECORE ${KDE4_KDECORE_LIBS})
+ set(QT_AND_KDECORE_LIBS ${KDE4_KDECORE_LIBS})
+ set(LIB_KDEUI ${KDE4_KDEUI_LIBRARIES})
+ set(LIB_KIO ${KDE4_KIO_LIBRARIES})
+ set(LIB_KPARTS ${KDE4_KPARTS_LIBRARIES})
+ set(LIB_KUTILS ${KDE4_KUTILS_LIBRARIES})
+ set(LIB_KDE3SUPPORT ${KDE4_KDE3SUPPORT_LIBRARIES})
+
+
endif(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h)
@@ -431,7 +458,12 @@ if (WIN32)
find_package(KDEWIN32 REQUIRED)
set( _KDE4_PLATFORM_INCLUDE_DIRS ${KDEWIN32_INCLUDES})
- set( QT_AND_KDECORE_LIBS ${QT_AND_KDECORE_LIBS} ${KDEWIN32_LIBRARIES} )
+
+ # if we are compiling kdelibs, add KDEWIN32_LIBRARIES explicitely,
+ # otherwise they come from KDELibsDependencies.cmake, Alex
+ if(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h)
+ set( KDE4_KDECORE_LIBS ${KDE4_KDECORE_LIBS} ${KDEWIN32_LIBRARIES} )
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kglobal.h)
# windows, mingw
if(MINGW)
@@ -654,3 +686,6 @@ set(KDE4_INCLUDE_DIRS ${QT_INCLUDES} ${KDE4_INCLUDE_DIR} ${_KDE4_PLATFORM_INCLUD
# NOT used in Qt4: QT_NO_COMPAT, QT_CLEAN_NAMESPACE, QT_THREAD_SUPPORT
set(KDE4_DEFINITIONS ${_KDE4_PLATFORM_DEFINITIONS} -DQT3_SUPPORT -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DQT3_SUPPORT_WARNINGS -DKDE_DEPREACTED_WARNINGS )
+
+# always add CMAKE_CCURRENT_SOURCE_DIR and CMAKE_CURRENT_BINARY_DIR to the include path to save some typing, Alex
+set(CMAKE_INCLUDE_CURRENT_DIR TRUE) \ No newline at end of file
diff --git a/modules/FindQt4.cmake b/modules/FindQt4.cmake
index f5b9a7b0..0d579867 100644
--- a/modules/FindQt4.cmake
+++ b/modules/FindQt4.cmake
@@ -16,12 +16,15 @@
# QT_USE_QTOPENGL
# QT_USE_QTSQL
# QT_USE_QTXML
+#
# All the libraries required are stored in a variable called QT_LIBRARIES.
# Add this variable to your TARGET_LINK_LIBRARIES.
#
# macro QT4_WRAP_CPP(outfiles inputfile ... )
# macro QT4_WRAP_UI(outfiles inputfile ... )
# macro QT4_ADD_RESOURCE(outfiles inputfile ... )
+# macro QT4_AUTOMOC(inputfile ... )
+# macro QT4_GENERATE_MOC(inputfile outputfile )
#
# QT_FOUND If false, don't try to use Qt.
# QT4_FOUND If false, don't try to use Qt 4.
@@ -40,8 +43,7 @@
# QT_QTSVG_FOUND True if QtSvg was found.
# QT_QTTEST_FOUND True if QtTest was found.
#
-# QT_DEFINITIONS Definitions to use when compiling code that
-# uses Qt.
+# QT_DEFINITIONS Definitions to use when compiling code that uses Qt.
#
# QT_INCLUDES List of paths to all include directories of
# Qt4 QT_INCLUDE_DIR and QT_QTCORE_INCLUDE_DIR are
@@ -67,33 +69,63 @@
#
# QT_LIBRARY_DIR Path to "lib" of Qt4
#
-# QT_QT3SUPPORT_LIBRARY Fullpath to Qt3Support library
-# QT_QTASSISTANT_LIBRARY Fullpath to QtAssistant library
-# QT_QTCORE_LIBRARY Fullpath to QtCore library
-# QT_QTDESIGNER_LIBRARY Fullpath to QtDesigner library
-# QT_QTGUI_LIBRARY Fullpath to QtGui library
-# QT_QTMOTIF_LIBRARY Fullpath to QtMotif library
-# QT_QTNETWORK_LIBRARY Fullpath to QtNetwork library
-# QT_QTNSPLUGIN_LIBRARY Fullpath to QtNsPlugin library
-# QT_QTOPENGL_LIBRARY Fullpath to QtOpenGL library
-# QT_QTSQL_LIBRARY Fullpath to QtSql library
-# QT_QTXML_LIBRARY Fullpath to QtXml library
-# QT_QTSVG_LIBRARY Fullpath to QtSvg library
-# QT_QTTEST_LIBRARY Fullpath to QtTest library
+# For every library of Qt there are three variables:
+# QT_QTFOO_LIBRARY_RELEASE, which contains the full path to the release version
+# QT_QTFOO_LIBRARY_DEBUG, which contains the full path to the debug version
+# QT_QTFOO_LIBRARY, the full path to the release version if available, otherwise to the debug version
+#
+# So there are the following variables:
+# The Qt3Support library: QT_QT3SUPPORT_LIBRARY
+# QT_QT3SUPPORT_LIBRARY_RELEASE
+# QT_QT3SUPPORT_DEBUG
+#
+# The QtAssistant library: QT_QTASSISTANT_LIBRARY
+# QT_QTASSISTANT_LIBRARY_RELEASE
+# QT_QTASSISTANT_LIBRARY_DEBUG
+#
+# The QtCore library: QT_QTCORE_LIBRARY
+# QT_QTCORE_LIBRARY_RELEASE
+# QT_QTCORE_LIBRARY_DEBUG
+#
+# The QtDesigner library: QT_QTDESIGNER_LIBRARY
+# QT_QTDESIGNER_LIBRARY_RELEASE
+# QT_QTDESIGNER_LIBRARY_DEBUG
+#
+# The QtGui library: QT_QTGUI_LIBRARY
+# QT_QTGUI_LIBRARY_RELEASE
+# QT_QTGUI_LIBRARY_DEBUG
+#
+# The QtMotif library: QT_QTMOTIF_LIBRARY
+# QT_QTMOTIF_LIBRARY_RELEASE
+# QT_QTMOTIF_LIBRARY_DEBUG
+#
+# The QtNetwork library: QT_QTNETWORK_LIBRARY
+# QT_QTNETWORK_LIBRARY_RELEASE
+# QT_QTNETWORK_LIBRARY_DEBUG
+#
+# The QtNsPLugin library: QT_QTNSPLUGIN_LIBRARY
+# QT_QTNSPLUGIN_LIBRARY_RELEASE
+# QT_QTNSPLUGIN_LIBRARY_DEBUG
+#
+# The QtOpenGL library: QT_QTOPENGL_LIBRARY
+# QT_QTOPENGL_LIBRARY_RELEASE
+# QT_QTOPENGL_LIBRARY_DEBUG
#
-# QT_QT3SUPPORT_LIBRARY_DEBUG Fullpath to Qt3Support_debug library
-# QT_QTASSISTANT_LIBRARY_DEBUG Fullpath to QtAssistant_debug library
-# QT_QTCORE_LIBRARY_DEBUG Fullpath to QtCore_debug
-# QT_QTDESIGNER_LIBRARY_DEBUG Fullpath to QtDesigner_debug
-# QT_QTGUI_LIBRARY_DEBUG Fullpath to QtGui_debug
-# QT_QTMOTIF_LIBRARY_DEBUG Fullpath to QtMotif_debug
-# QT_QTNETWORK_LIBRARY_DEBUG Fullpath to QtNetwork_debug
-# QT_QTNSPLUGIN_LIBRARY_DEBUG Fullpath to QtNsPlugin_debug
-# QT_QTOPENGL_LIBRARY_DEBUG Fullpath to QtOpenGL_debug
-# QT_QTSQL_LIBRARY_DEBUG Fullpath to QtSql_debug
-# QT_QTXML_LIBRARY_DEBUG Fullpath to QtXml_debug
-# QT_QTSVG_LIBRARY_DEBUG Fullpath to QtSvg_debug
-# QT_QTTEST_LIBRARY_DEBUG Fullpath to QtTest_debug
+# The QtSql library: QT_QTSQL_LIBRARY
+# QT_QTSQL_LIBRARY_RELEASE
+# QT_QTSQL_LIBRARY_DEBUG
+#
+# The QtXml library: QT_QTXML_LIBRARY
+# QT_QTXML_LIBRARY_RELEASE
+# QT_QTXML_LIBRARY_DEBUG
+#
+# The QtSvg library: QT_QTSVG_LIBRARY
+# QT_QTSVG_LIBRARY_RELEASE
+# QT_QTSVG_LIBRARY_DEBUG
+#
+#The QtTest library: QT_QTTEST_LIBRARY
+# QT_QTTEST_LIBRARY_RELEASE
+# QT_QTTEST_LIBRARY_DEBUG
#
# also defined, but NOT for general use are
# QT_MOC_EXECUTABLE Where to find the moc tool.
@@ -114,30 +146,30 @@
#
# These variables are set to "" Because Qt structure changed
# (They make no sense in Qt4)
-# QT_QT_LIBRARY Qt-Library is now splitt
-# QT_QTMAIN_LIBRARY Qt-Library is now splitt
+# QT_QT_LIBRARY Qt-Library is now split
+# QT_QTMAIN_LIBRARY Qt-Library is now split
-set(QT_USE_FILE ${CMAKE_ROOT}/Modules/UseQt4.cmake)
+SET(QT_USE_FILE ${CMAKE_ROOT}/Modules/UseQt4.cmake)
-set(QT_DEFINITIONS "")
+SET( QT_DEFINITIONS "")
-if (WIN32)
- set(QT_DEFINITIONS -DQT_DLL)
-endif (WIN32)
+IF (WIN32)
+ SET(QT_DEFINITIONS -DQT_DLL)
+ENDIF(WIN32)
FILE(GLOB GLOB_TEMP_VAR /usr/local/Trolltech/Qt-4*/)
-set(GLOB_TEMP_VAR)
-if (GLOB_TEMP_VAR)
- set(QT4_PATHS ${QT4_PATHS} ${GLOB_TEMP_VAR})
-endif (GLOB_TEMP_VAR)
-set(GLOB_TEMP_VAR)
+SET(GLOB_TEMP_VAR)
+IF (GLOB_TEMP_VAR)
+ SET(QT4_PATHS ${QT4_PATHS} ${GLOB_TEMP_VAR})
+ENDIF (GLOB_TEMP_VAR)
+SET(GLOB_TEMP_VAR)
FILE(GLOB GLOB_TEMP_VAR /usr/local/qt-x11-commercial-4*/bin/)
-if (GLOB_TEMP_VAR)
- set(QT4_PATHS ${QT4_PATHS} ${GLOB_TEMP_VAR})
-endif (GLOB_TEMP_VAR)
+IF (GLOB_TEMP_VAR)
+ SET(QT4_PATHS ${QT4_PATHS} ${GLOB_TEMP_VAR})
+ENDIF (GLOB_TEMP_VAR)
# check for qmake
-FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake PATHS
+FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake-qt4 qmake PATHS
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin"
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/bin"
$ENV{QTDIR}/bin
@@ -146,63 +178,63 @@ FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake PATHS
NO_CMAKE_SYSTEM_PATH
)
-if (NOT QT_QMAKE_EXECUTABLE)
- FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake)
-endif (NOT QT_QMAKE_EXECUTABLE)
+IF (NOT QT_QMAKE_EXECUTABLE)
+ FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake-qt4 qmake)
+ENDIF (NOT QT_QMAKE_EXECUTABLE)
-if (QT_QMAKE_EXECUTABLE)
+IF (QT_QMAKE_EXECUTABLE)
EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE} ARGS "-query QT_VERSION"
OUTPUT_VARIABLE QTVERSION)
- if (QTVERSION MATCHES "4.*")
- set(QT4_QMAKE_FOUND TRUE)
- endif (QTVERSION MATCHES "4.*")
-endif (QT_QMAKE_EXECUTABLE)
+ IF(QTVERSION MATCHES "4.*")
+ SET(QT4_QMAKE_FOUND TRUE)
+ ENDIF(QTVERSION MATCHES "4.*")
+ENDIF (QT_QMAKE_EXECUTABLE)
-if (QT4_QMAKE_FOUND)
+IF (QT4_QMAKE_FOUND)
# Set QT_LIBRARY_DIR
- if (NOT QT_LIBRARY_DIR)
- EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE}
+ IF (NOT QT_LIBRARY_DIR)
+ EXEC_PROGRAM( ${QT_QMAKE_EXECUTABLE}
ARGS "-query QT_INSTALL_LIBS"
OUTPUT_VARIABLE QT_LIBRARY_DIR_TMP )
- if (EXISTS "${QT_LIBRARY_DIR_TMP}")
- set(QT_LIBRARY_DIR ${QT_LIBRARY_DIR_TMP} CACHE PATH "Qt library dir")
- else (EXISTS "${QT_LIBRARY_DIR_TMP}")
- message("Warning: QT_QMAKE_EXECUTABLE reported QT_INSTALL_LIBS as ${QT_LIBRARY_DIR_TMP}")
- message("Warning: ${QT_LIBRARY_DIR_TMP} does NOT exist, Qt must NOT be installed correctly.")
- endif (EXISTS "${QT_LIBRARY_DIR_TMP}")
- endif (NOT QT_LIBRARY_DIR)
-
- if (APPLE)
- if (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
- set(QT_USE_FRAMEWORKS ON
+ IF(EXISTS "${QT_LIBRARY_DIR_TMP}")
+ SET(QT_LIBRARY_DIR ${QT_LIBRARY_DIR_TMP} CACHE PATH "Qt library dir")
+ ELSE(EXISTS "${QT_LIBRARY_DIR_TMP}")
+ MESSAGE("Warning: QT_QMAKE_EXECUTABLE reported QT_INSTALL_LIBS as ${QT_LIBRARY_DIR_TMP}")
+ MESSAGE("Warning: ${QT_LIBRARY_DIR_TMP} does NOT exist, Qt must NOT be installed correctly.")
+ ENDIF(EXISTS "${QT_LIBRARY_DIR_TMP}")
+ ENDIF(NOT QT_LIBRARY_DIR)
+
+ IF (APPLE)
+ IF (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
+ SET(QT_USE_FRAMEWORKS ON
CACHE BOOL "Set to ON if Qt build uses frameworks.")
- else (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
- set(QT_USE_FRAMEWORKS OFF
+ ELSE (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
+ SET(QT_USE_FRAMEWORKS OFF
CACHE BOOL "Set to ON if Qt build uses frameworks.")
- endif (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
+ ENDIF (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
MARK_AS_ADVANCED(QT_USE_FRAMEWORKS)
- endif (APPLE)
+ ENDIF (APPLE)
########################################
#
# Setting the INCLUDE-Variables
#
########################################
- if (NOT QT_HEADERS_DIR)
+ IF (NOT QT_HEADERS_DIR)
# Set QT_QTCORE_INCLUDE_DIR by searching for the QtGlobal header
- if (QT_QMAKE_EXECUTABLE)
- EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE}
+ IF (QT_QMAKE_EXECUTABLE)
+ EXEC_PROGRAM( ${QT_QMAKE_EXECUTABLE}
ARGS "-query QT_INSTALL_HEADERS"
OUTPUT_VARIABLE qt_headers )
- set(QT_HEADERS_DIR ${qt_headers} CACHE INTERNAL "")
- endif (QT_QMAKE_EXECUTABLE)
- endif (NOT QT_HEADERS_DIR)
+ SET(QT_HEADERS_DIR ${qt_headers} CACHE INTERNAL "")
+ ENDIF(QT_QMAKE_EXECUTABLE)
+ ENDIF (NOT QT_HEADERS_DIR)
FILE(GLOB GLOB_TEMP_VAR /usr/local/qt-x11-commercial-3*/include/Qt/)
- set(QT_PATH_INCLUDE ${GLOB_TEMP_VAR})
+ SET(QT_PATH_INCLUDE ${GLOB_TEMP_VAR})
FILE(GLOB GLOB_TEMP_VAR /usr/local/Trolltech/Qt-4*/include/Qt/)
- set(QT_PATH_INCLUDE ${GLOB_TEMP_VAR})
+ SET(QT_PATH_INCLUDE ${GLOB_TEMP_VAR})
FIND_PATH(QT_QTCORE_INCLUDE_DIR QtGlobal
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/include/QtCore"
@@ -215,24 +247,25 @@ if (QT4_QMAKE_FOUND)
/usr/lib/qt/include/QtCore
/usr/include/QtCore
/usr/share/qt4/include/QtCore
+ "$ENV{ProgramFiles}/qt/include/Qt"
"C:/Program Files/qt/include/QtCore"
/usr/include/qt4/QtCore)
# Set QT_INCLUDE_DIR by removine "/QtCore" in the string ${QT_QTCORE_INCLUDE_DIR}
- if (QT_QTCORE_INCLUDE_DIR AND NOT QT_INCLUDE_DIR)
- if (QT_USE_FRAMEWORKS)
- set(QT_INCLUDE_DIR ${QT_HEADERS_DIR})
- else (QT_USE_FRAMEWORKS)
- STRING(REGEX REPLACE "/QtCore$" "" qt4_include_dir ${QT_QTCORE_INCLUDE_DIR})
- set(QT_INCLUDE_DIR ${qt4_include_dir} CACHE PATH "")
- endif (QT_USE_FRAMEWORKS)
- endif (QT_QTCORE_INCLUDE_DIR AND NOT QT_INCLUDE_DIR)
+ IF( QT_QTCORE_INCLUDE_DIR AND NOT QT_INCLUDE_DIR)
+ IF (QT_USE_FRAMEWORKS)
+ SET(QT_INCLUDE_DIR ${QT_HEADERS_DIR})
+ ELSE (QT_USE_FRAMEWORKS)
+ STRING( REGEX REPLACE "/QtCore$" "" qt4_include_dir ${QT_QTCORE_INCLUDE_DIR})
+ SET( QT_INCLUDE_DIR ${qt4_include_dir} CACHE PATH "")
+ ENDIF (QT_USE_FRAMEWORKS)
+ ENDIF( QT_QTCORE_INCLUDE_DIR AND NOT QT_INCLUDE_DIR)
- if (NOT QT_INCLUDE_DIR)
- if (NOT Qt4_FIND_QUIETLY AND Qt4_FIND_REQUIRED)
- message(FATAL_ERROR "Could NOT find QtGlobal header")
- endif (NOT Qt4_FIND_QUIETLY AND Qt4_FIND_REQUIRED)
- endif (NOT QT_INCLUDE_DIR)
+ IF( NOT QT_INCLUDE_DIR)
+ IF( NOT Qt4_FIND_QUIETLY AND Qt4_FIND_REQUIRED)
+ MESSAGE( FATAL_ERROR "Could NOT find QtGlobal header")
+ ENDIF( NOT Qt4_FIND_QUIETLY AND Qt4_FIND_REQUIRED)
+ ENDIF( NOT QT_INCLUDE_DIR)
FIND_PATH(QT_DOC_DIR /html/qcoreapplication.html
@@ -244,9 +277,9 @@ if (QT4_QMAKE_FOUND)
"C:/Program Files/qt/doc"
)
- if (QT_USE_FRAMEWORKS)
- set(QT_DEFINITIONS ${QT_DEFINITIONS} -F${QT_LIBRARY_DIR} -L${QT_LIBRARY_DIR} )
- endif (QT_USE_FRAMEWORKS)
+ IF (QT_USE_FRAMEWORKS)
+ SET(QT_DEFINITIONS ${QT_DEFINITIONS} -F${QT_LIBRARY_DIR} -L${QT_LIBRARY_DIR} )
+ ENDIF (QT_USE_FRAMEWORKS)
# Set QT_QT3SUPPORT_INCLUDE_DIR
FIND_PATH(QT_QT3SUPPORT_INCLUDE_DIR Qt3Support
@@ -325,10 +358,10 @@ if (QT4_QMAKE_FOUND)
)
# Make variables changeble to the advanced user
- MARK_AS_ADVANCED(QT_LIBRARY_DIR QT_INCLUDE_DIR QT_QT_INCLUDE_DIR )
+ MARK_AS_ADVANCED( QT_LIBRARY_DIR QT_INCLUDE_DIR QT_QT_INCLUDE_DIR QT_DOC_DIR)
# Set QT_INCLUDES
- set(QT_INCLUDES ${QT_INCLUDE_DIR} ${QT_QT_INCLUDE_DIR} )
+ SET( QT_INCLUDES ${QT_INCLUDE_DIR} ${QT_QT_INCLUDE_DIR} )
########################################
@@ -337,53 +370,36 @@ if (QT4_QMAKE_FOUND)
#
########################################
- if (QT_USE_FRAMEWORKS)
+ IF (QT_USE_FRAMEWORKS)
# If FIND_LIBRARY found libraries in Apple frameworks, we would NOT have
# to jump through these hoops.
- set(QT_QTCORE_LIBRARY "-F${QT_LIBRARY_DIR} -framework QtCore"
- CACHE STRING "The QtCore library.")
- set(QT_QTCORE_LIBRARY_DEBUG "-F${QT_LIBRARY_DIR} -framework QtCore"
- CACHE STRING "The QtCore library.")
- set(QT_QT3SUPPORT_LIBRARY "-framework Qt3Support"
- CACHE STRING "The Qt3Support library.")
- set(QT_QT3SUPPORT_LIBRARY_DEBUG "-framework Qt3Support"
- CACHE STRING "The Qt3Support library.")
- set(QT_QTGUI_LIBRARY "-framework QtGui"
- CACHE STRING "The QtGui library.")
- set(QT_QTGUI_LIBRARY_DEBUG "-framework QtGui"
- CACHE STRING "The QtGui library.")
- set(QT_QTNETWORK_LIBRARY "-framework QtNetwork"
- CACHE STRING "The QtNetwork library.")
- set(QT_QTNETWORK_LIBRARY_DEBUG "-framework QtNetwork"
- CACHE STRING "The QtNetwork library.")
- set(QT_QTOPENGL_LIBRARY "-framework QtOpenGL"
- CACHE STRING "The QtOpenGL library.")
- set(QT_QTOPENGL_LIBRARY_DEBUG "-framework QtOpenGL"
- CACHE STRING "The QtOpenGL library.")
- set(QT_QTSQL_LIBRARY "-framework QtSql"
- CACHE STRING "The QtSql library.")
- set(QT_QTSQL_LIBRARY_DEBUG "-framework QtSql"
- CACHE STRING "The QtSql library.")
- set(QT_QTXML_LIBRARY "-framework QtXml"
- CACHE STRING "The QtXml library.")
- set(QT_QTXML_LIBRARY_DEBUG "-framework QtXml"
- CACHE STRING "The QtXml library.")
- set(QT_QTSVG_LIBRARY "-framework QtSvg"
- CACHE STRING "The QtSvg library.")
- set(QT_QTSVG_LIBRARY_DEBUG "-framework QtSvg"
- CACHE STRING "The QtSvg library.")
+ SET(QT_QTCORE_LIBRARY_RELEASE "-F${QT_LIBRARY_DIR} -framework QtCore" CACHE STRING "The QtCore library.")
+ SET(QT_QTCORE_LIBRARY_DEBUG "-F${QT_LIBRARY_DIR} -framework QtCore" CACHE STRING "The QtCore library.")
+ SET(QT_QT3SUPPORT_LIBRARY_RELEASE "-framework Qt3Support" CACHE STRING "The Qt3Support library.")
+ SET(QT_QT3SUPPORT_LIBRARY_DEBUG "-framework Qt3Support" CACHE STRING "The Qt3Support library.")
+ SET(QT_QTGUI_LIBRARY_RELEASE "-framework QtGui" CACHE STRING "The QtGui library.")
+ SET(QT_QTGUI_LIBRARY_DEBUG "-framework QtGui" CACHE STRING "The QtGui library.")
+ SET(QT_QTNETWORK_LIBRARY_RELEASE "-framework QtNetwork" CACHE STRING "The QtNetwork library.")
+ SET(QT_QTNETWORK_LIBRARY_DEBUG "-framework QtNetwork" CACHE STRING "The QtNetwork library.")
+ SET(QT_QTOPENGL_LIBRARY_RELEASE "-framework QtOpenGL" CACHE STRING "The QtOpenGL library.")
+ SET(QT_QTOPENGL_LIBRARY_DEBUG "-framework QtOpenGL" CACHE STRING "The QtOpenGL library.")
+ SET(QT_QTSQL_LIBRARY_RELEASE "-framework QtSql" CACHE STRING "The QtSql library.")
+ SET(QT_QTSQL_LIBRARY_DEBUG "-framework QtSql" CACHE STRING "The QtSql library.")
+ SET(QT_QTXML_LIBRARY_RELEASE "-framework QtXml" CACHE STRING "The QtXml library.")
+ SET(QT_QTXML_LIBRARY_DEBUG "-framework QtXml" CACHE STRING "The QtXml library.")
+ SET(QT_QTSVG_LIBRARY_RELEASE "-framework QtSvg" CACHE STRING "The QtSvg library.")
+ SET(QT_QTSVG_LIBRARY_DEBUG "-framework QtSvg" CACHE STRING "The QtSvg library.")
# WTF? why don't we have frameworks? :P
- set(QT_QTTEST_LIBRARY "-L${QT_LIBRARY_DIR} -lQtTest"
- CACHE STRING "The QtTest library.")
- set(QT_QTTEST_LIBRARY_DEBUG "-L${QT_LIBRARY_DIR} -lQtTest"
- CACHE STRING "The QtTest library.")
- MARK_AS_ADVANCED(QT_QT3SUPPORT_LIBRARY QT_QTGUI_LIBRARY )
- else (QT_USE_FRAMEWORKS)
+ SET(QT_QTTEST_LIBRARY_RELEASE "-L${QT_LIBRARY_DIR} -lQtTest" CACHE STRING "The QtTest library.")
+ SET(QT_QTTEST_LIBRARY_DEBUG "-L${QT_LIBRARY_DIR} -lQtTest" CACHE STRING "The QtTest library.")
+ MARK_AS_ADVANCED(QT_QT3SUPPORT_LIBRARY QT_QTGUI_LIBRARY )
+
+ ELSE (QT_USE_FRAMEWORKS)
# Set QT_QTCORE_LIBRARY by searching for a lib with "QtCore." as part of
# the filename
- FIND_LIBRARY(QT_QTCORE_LIBRARY
+ FIND_LIBRARY( QT_QTCORE_LIBRARY_RELEASE
NAMES QtCore QtCore4
PATHS
${QT_LIBRARY_DIR}
@@ -414,54 +430,56 @@ if (QT4_QMAKE_FOUND)
)
# Set QT_QT3SUPPORT_LIBRARY
- FIND_LIBRARY(QT_QT3SUPPORT_LIBRARY NAMES Qt3Support Qt3Support4 PATHS ${QT_LIBRARY_DIR})
- FIND_LIBRARY(QT_QT3SUPPORT_LIBRARY_DEBUG NAMES Qt3Support_debug Qt3Supportd4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QT3SUPPORT_LIBRARY_RELEASE NAMES Qt3Support Qt3Support4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QT3SUPPORT_LIBRARY_DEBUG NAMES Qt3Support_debug Qt3Supportd4 PATHS ${QT_LIBRARY_DIR})
# Set QT_QTGUI_LIBRARY
- FIND_LIBRARY(QT_QTGUI_LIBRARY NAMES QtGui QtGui4 PATHS ${QT_LIBRARY_DIR})
- FIND_LIBRARY(QT_QTGUI_LIBRARY_DEBUG NAMES QtGui_debug QtGuid4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTGUI_LIBRARY_RELEASE NAMES QtGui QtGui4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTGUI_LIBRARY_DEBUG NAMES QtGui_debug QtGuid4 PATHS ${QT_LIBRARY_DIR})
# Set QT_QTMOTIF_LIBRARY
- FIND_LIBRARY(QT_QTMOTIF_LIBRARY NAMES QtMotif PATHS ${QT_LIBRARY_DIR})
- FIND_LIBRARY(QT_QTMOTIF_LIBRARY_DEBUG NAMES QtMotif_debug PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTMOTIF_LIBRARY_RELEASE NAMES QtMotif PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTMOTIF_LIBRARY_DEBUG NAMES QtMotif_debug PATHS ${QT_LIBRARY_DIR})
# Set QT_QTNETWORK_LIBRARY
- FIND_LIBRARY(QT_QTNETWORK_LIBRARY NAMES QtNetwork QtNetwork4 PATHS ${QT_LIBRARY_DIR})
- FIND_LIBRARY(QT_QTNETWORK_LIBRARY_DEBUG NAMES QtNetwork_debug QtNetworkd4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTNETWORK_LIBRARY_RELEASE NAMES QtNetwork QtNetwork4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTNETWORK_LIBRARY_DEBUG NAMES QtNetwork_debug QtNetworkd4 PATHS ${QT_LIBRARY_DIR})
# Set QT_QTNSPLUGIN_LIBRARY
- FIND_LIBRARY(QT_QTNSPLUGIN_LIBRARY NAMES QtNsPlugin PATHS ${QT_LIBRARY_DIR})
- FIND_LIBRARY(QT_QTNSPLUGIN_LIBRARY_DEBUG NAMES QtNsPlugin_debug PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTNSPLUGIN_LIBRARY_RELEASE NAMES QtNsPlugin PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTNSPLUGIN_LIBRARY_DEBUG NAMES QtNsPlugin_debug PATHS ${QT_LIBRARY_DIR})
# Set QT_QTOPENGL_LIBRARY
- FIND_LIBRARY(QT_QTOPENGL_LIBRARY NAMES QtOpenGL QtOpenGL4 PATHS ${QT_LIBRARY_DIR})
- FIND_LIBRARY(QT_QTOPENGL_LIBRARY_DEBUG NAMES QtOpenGL_debug QtOpenGLd4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTOPENGL_LIBRARY_RELEASE NAMES QtOpenGL QtOpenGL4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTOPENGL_LIBRARY_DEBUG NAMES QtOpenGL_debug QtOpenGLd4 PATHS ${QT_LIBRARY_DIR})
# Set QT_QTSQL_LIBRARY
- FIND_LIBRARY(QT_QTSQL_LIBRARY NAMES QtSql QtSql4 PATHS ${QT_LIBRARY_DIR})
- FIND_LIBRARY(QT_QTSQL_LIBRARY_DEBUG NAMES QtSql_debug QtSqld4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTSQL_LIBRARY_RELEASE NAMES QtSql QtSql4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTSQL_LIBRARY_DEBUG NAMES QtSql_debug QtSqld4 PATHS ${QT_LIBRARY_DIR})
# Set QT_QTXML_LIBRARY
- FIND_LIBRARY(QT_QTXML_LIBRARY NAMES QtXml QtXml4 PATHS ${QT_LIBRARY_DIR})
- FIND_LIBRARY(QT_QTXML_LIBRARY_DEBUG NAMES QtXml_debug QtXmld4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTXML_LIBRARY_RELEASE NAMES QtXml QtXml4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTXML_LIBRARY_DEBUG NAMES QtXml_debug QtXmld4 PATHS ${QT_LIBRARY_DIR})
# Set QT_QTSVG_LIBRARY
- FIND_LIBRARY(QT_QTSVG_LIBRARY NAMES QtSvg QtSvg4 PATHS ${QT_LIBRARY_DIR})
- FIND_LIBRARY(QT_QTSVG_LIBRARY_DEBUG NAMES QtSvg_debug QtSvgd4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTSVG_LIBRARY_RELEASE NAMES QtSvg QtSvg4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTSVG_LIBRARY_DEBUG NAMES QtSvg_debug QtSvgd4 PATHS ${QT_LIBRARY_DIR})
# Set QT_QTTEST_LIBRARY
- FIND_LIBRARY(QT_QTTEST_LIBRARY NAMES QtTest QtTest4 PATHS ${QT_LIBRARY_DIR})
- FIND_LIBRARY(QT_QTTEST_LIBRARY_DEBUG NAMES QtTest_debug QtTest_debug4 QtTestd4 PATHS ${QT_LIBRARY_DIR})
- MARK_AS_ADVANCED(QT_QT3SUPPORT_LIBRARY QT_QTGUI_LIBRARY )
- endif (QT_USE_FRAMEWORKS)
+ FIND_LIBRARY(QT_QTTEST_LIBRARY_RELEASE NAMES QtTest QtTest4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTTEST_LIBRARY_DEBUG NAMES QtTest_debug QtTest_debug4 QtTestd4 PATHS ${QT_LIBRARY_DIR})
+
+ MARK_AS_ADVANCED(QT_QT3SUPPORT_LIBRARY QT_QTGUI_LIBRARY )
+
+ ENDIF (QT_USE_FRAMEWORKS)
# Set QT_QTASSISTANT_LIBRARY
- FIND_LIBRARY(QT_QTASSISTANT_LIBRARY NAMES QtAssistantClient QtAssistant QtAssistant4 PATHS ${QT_LIBRARY_DIR})
- FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_DEBUG NAMES QtAssistantClientd QtAssistantClient_debug QtAssistant_debug QtAssistantd4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_RELEASE NAMES QtAssistantClient QtAssistant QtAssistant4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_DEBUG NAMES QtAssistantClientd QtAssistantClient_debug QtAssistant_debug QtAssistantd4 PATHS ${QT_LIBRARY_DIR})
# Set QT_QTDESIGNER_LIBRARY
- FIND_LIBRARY(QT_QTDESIGNER_LIBRARY NAMES QtDesigner QtDesigner4 PATHS ${QT_LIBRARY_DIR})
- FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_DEBUG NAMES QtDesigner_debug QtDesignerd4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_RELEASE NAMES QtDesigner QtDesigner4 PATHS ${QT_LIBRARY_DIR})
+ FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_DEBUG NAMES QtDesigner_debug QtDesignerd4 PATHS ${QT_LIBRARY_DIR})
############################################
#
@@ -470,28 +488,36 @@ if (QT4_QMAKE_FOUND)
############################################
MACRO (_QT4_ADJUST_LIB_VARS basename)
- if (QT_${basename}_INCLUDE_DIR)
+ IF (QT_${basename}_INCLUDE_DIR)
# if only the release version was found, set the debug variable also to the release version
- if (QT_${basename}_LIBRARY AND NOT QT_${basename}_LIBRARY_DEBUG)
- set(QT_${basename}_LIBRARY_DEBUG ${QT_${basename}_LIBRARY})
- endif (QT_${basename}_LIBRARY AND NOT QT_${basename}_LIBRARY_DEBUG)
+ IF (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG)
+ SET(QT_${basename}_LIBRARY_DEBUG ${QT_${basename}_LIBRARY})
+ SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY})
+ ENDIF (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG)
# if only the debug version was found, set the release variable also to the debug version
- if (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY)
- set(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_DEBUG})
- endif (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY)
+ IF (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY_RELEASE)
+ SET(QT_${basename}_LIBRARY_RELEASE ${QT_${basename}_LIBRARY_DEBUG})
+ SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_DEBUG})
+ ENDIF (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY_RELEASE)
+
+ IF (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE)
+ SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_RELEASE})
+ ENDIF (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE)
+
+ SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY} CACHE FILEPATH "The Qt ${basename} library")
- if (QT_${basename}_LIBRARY)
- set(QT_${basename}_FOUND 1)
- endif (QT_${basename}_LIBRARY)
+ IF (QT_${basename}_LIBRARY)
+ SET(QT_${basename}_FOUND 1)
+ ENDIF (QT_${basename}_LIBRARY)
#add the include directory to QT_INCLUDES
- set(QT_INCLUDES ${QT_INCLUDES} "${QT_${basename}_INCLUDE_DIR}")
- endif (QT_${basename}_INCLUDE_DIR )
+ SET(QT_INCLUDES ${QT_INCLUDES} "${QT_${basename}_INCLUDE_DIR}")
+ ENDIF (QT_${basename}_INCLUDE_DIR )
# Make variables changeble to the advanced user
- MARK_AS_ADVANCED(QT_${basename}_LIBRARY QT_${basename}_LIBRARY_DEBUG QT_${basename}_INCLUDE_DIR)
+ MARK_AS_ADVANCED(QT_${basename}_LIBRARY QT_${basename}_LIBRARY_RELEASE QT_${basename}_LIBRARY_DEBUG QT_${basename}_INCLUDE_DIR)
ENDMACRO (_QT4_ADJUST_LIB_VARS)
_QT4_ADJUST_LIB_VARS(QTCORE)
@@ -514,12 +540,12 @@ if (QT4_QMAKE_FOUND)
# ( moc, uic, rcc )
#
#######################################
- if (NOT QT_BINARY_DIR)
+ IF (NOT QT_BINARY_DIR)
EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE}
ARGS "-query QT_INSTALL_BINS"
OUTPUT_VARIABLE qt_bins )
- set(QT_BINARY_DIR ${qt_bins} CACHE INTERNAL "")
- endif (NOT QT_BINARY_DIR)
+ SET(QT_BINARY_DIR ${qt_bins} CACHE INTERNAL "")
+ ENDIF (NOT QT_BINARY_DIR)
# at first without the system paths, in order to prefer e.g. ${QTDIR}/bin/qmake over /usr/bin/qmake,
# which might be a Qt3 qmake
@@ -540,13 +566,13 @@ if (QT4_QMAKE_FOUND)
)
# if qmake wasn't found in the specific dirs, now check the system path
- if (NOT QT_MOC_EXECUTABLE)
+ IF (NOT QT_MOC_EXECUTABLE)
FIND_PROGRAM(QT_MOC_EXECUTABLE NAMES moc )
- endif (NOT QT_MOC_EXECUTABLE)
+ ENDIF (NOT QT_MOC_EXECUTABLE)
- if (QT_MOC_EXECUTABLE)
+ IF (QT_MOC_EXECUTABLE)
set(QT_WRAP_CPP "YES")
- endif (QT_MOC_EXECUTABLE)
+ ENDIF (QT_MOC_EXECUTABLE)
FIND_PROGRAM(QT_UIC3_EXECUTABLE
NAMES uic3
@@ -579,13 +605,13 @@ if (QT4_QMAKE_FOUND)
NO_CMAKE_SYSTEM_PATH
)
- if (NOT QT_UIC_EXECUTABLE)
+ IF (NOT QT_UIC_EXECUTABLE)
FIND_PROGRAM(QT_UIC_EXECUTABLE NAMES uic )
- endif (NOT QT_UIC_EXECUTABLE)
+ ENDIF (NOT QT_UIC_EXECUTABLE)
- if (QT_UIC_EXECUTABLE)
+ IF (QT_UIC_EXECUTABLE)
set(QT_WRAP_UI "YES")
- endif (QT_UIC_EXECUTABLE)
+ ENDIF (QT_UIC_EXECUTABLE)
FIND_PROGRAM(QT_RCC_EXECUTABLE
NAMES rcc
@@ -601,11 +627,7 @@ if (QT4_QMAKE_FOUND)
/usr/bin/qt4
)
- MARK_AS_ADVANCED(
- QT_UIC_EXECUTABLE
- QT_UIC3_EXECUTABLE
- QT_MOC_EXECUTABLE
- QT_RCC_EXECUTABLE )
+ MARK_AS_ADVANCED( QT_UIC_EXECUTABLE QT_UIC3_EXECUTABLE QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE )
######################################
#
@@ -614,13 +636,13 @@ if (QT4_QMAKE_FOUND)
######################################
MACRO (QT4_GET_MOC_INC_DIRS _moc_INC_DIRS)
- set(${_moc_INC_DIRS})
+ SET(${_moc_INC_DIRS})
GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES)
- foreach (_current ${_inc_DIRS})
- set(${_moc_INC_DIRS} ${${_moc_INC_DIRS}} "-I" ${_current})
- endforeach (_current ${_inc_DIRS})
- ENDMACRO (QT4_GET_MOC_INC_DIRS)
+ FOREACH(_current ${_inc_DIRS})
+ SET(${_moc_INC_DIRS} ${${_moc_INC_DIRS}} "-I" ${_current})
+ ENDFOREACH(_current ${_inc_DIRS})
+ ENDMACRO(QT4_GET_MOC_INC_DIRS)
MACRO (QT4_GENERATE_MOC infile outfile )
# get include dirs
@@ -652,7 +674,7 @@ if (QT4_QMAKE_FOUND)
ARGS ${moc_includes} -o ${outfile} ${it}
MAIN_DEPENDENCY ${it})
SET(${outfiles} ${${outfiles}} ${outfile})
- endforeach (it)
+ ENDFOREACH(it)
ENDMACRO (QT4_WRAP_CPP)
@@ -693,6 +715,61 @@ if (QT4_QMAKE_FOUND)
ENDMACRO (QT4_ADD_RESOURCES)
+ MACRO(_QT4_ADD_FILE_DEPENDENCIES _file)
+ GET_SOURCE_FILE_PROPERTY(_deps ${_file} OBJECT_DEPENDS)
+ IF (_deps)
+ SET(_deps ${_deps} ${ARGN})
+ ELSE (_deps)
+ SET(_deps ${ARGN})
+ ENDIF (_deps)
+ SET_SOURCE_FILES_PROPERTIES(${_file} PROPERTIES OBJECT_DEPENDS "${_deps}")
+ ENDMACRO(_QT4_ADD_FILE_DEPENDENCIES)
+
+ MACRO(QT4_AUTOMOC)
+ QT4_GET_MOC_INC_DIRS(_moc_INCS)
+
+ SET(_matching_FILES )
+ FOREACH (_current_FILE ${ARGN})
+
+ GET_FILENAME_COMPONENT(_abs_FILE ${_current_FILE} ABSOLUTE)
+ # if "SKIP_AUTOMOC" is set to true, we will not handle this file here.
+ # here. this is required to make bouic work correctly:
+ # we need to add generated .cpp files to the sources (to compile them),
+ # but we cannot let automoc handle them, as the .cpp files don't exist yet when
+ # cmake is run for the very first time on them -> however the .cpp files might
+ # exist at a later run. at that time we need to skip them, so that we don't add two
+ # different rules for the same moc file
+ GET_SOURCE_FILE_PROPERTY(_skip ${_abs_FILE} SKIP_AUTOMOC)
+
+ IF (EXISTS ${_abs_FILE} AND NOT _skip)
+
+ FILE(READ ${_abs_FILE} _contents)
+
+ GET_FILENAME_COMPONENT(_abs_PATH ${_abs_FILE} PATH)
+
+ STRING(REGEX MATCHALL "#include +[^ ]+\\.moc[\">]" _match "${_contents}")
+ IF(_match)
+ FOREACH (_current_MOC_INC ${_match})
+ STRING(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
+
+ GET_filename_component(_basename ${_current_MOC} NAME_WE)
+ # SET(_header ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.h)
+ SET(_header ${_abs_PATH}/${_basename}.h)
+ SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
+ ADD_CUSTOM_COMMAND(OUTPUT ${_moc}
+ COMMAND ${QT_MOC_EXECUTABLE}
+ ARGS ${_moc_INCS} ${_header} -o ${_moc}
+ DEPENDS ${_header}
+ )
+
+ _QT4_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc})
+ ENDFOREACH (_current_MOC_INC)
+ ENDIF(_match)
+ ENDIF (EXISTS ${_abs_FILE} AND NOT _skip)
+ ENDFOREACH (_current_FILE)
+ ENDMACRO(QT4_AUTOMOC)
+
+
######################################
#
@@ -700,19 +777,18 @@ if (QT4_QMAKE_FOUND)
#
######################################
# if the includes,libraries,moc,uic and rcc are found then we have it
- if (QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
- set(QT4_FOUND "YES" )
- if (NOT Qt4_FIND_QUIETLY)
- message(STATUS "Found Qt-Version ${QTVERSION}")
-# message(STATUS "Found Qt-Version ${QT_INST_MAJOR_VERSION}.${QT_INST_MINOR_VERSION}.${QT_INST_PATCH_VERSION}")
- endif (NOT Qt4_FIND_QUIETLY)
- else (QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
- set(QT4_FOUND "NO")
- if (Qt4_FIND_REQUIRED)
- message(FATAL_ERROR "Qt libraries, includes, moc, uic or/and rcc NOT found!")
- endif (Qt4_FIND_REQUIRED)
- endif (QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
- set(QT_FOUND ${QT4_FOUND})
+ IF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
+ SET( QT4_FOUND "YES" )
+ IF( NOT Qt4_FIND_QUIETLY)
+ MESSAGE(STATUS "Found Qt-Version ${QTVERSION}")
+ ENDIF( NOT Qt4_FIND_QUIETLY)
+ ELSE( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
+ SET( QT4_FOUND "NO")
+ IF( Qt4_FIND_REQUIRED)
+ MESSAGE( FATAL_ERROR "Qt libraries, includes, moc, uic or/and rcc NOT found!")
+ ENDIF( Qt4_FIND_REQUIRED)
+ ENDIF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
+ SET(QT_FOUND ${QT4_FOUND})
#######################################
@@ -721,11 +797,11 @@ if (QT4_QMAKE_FOUND)
#
#######################################
# for unix add X11 stuff
- if (UNIX)
+ IF(UNIX)
FIND_PACKAGE(X11)
FIND_PACKAGE(Threads)
- set(QT_QTCORE_LIBRARY ${QT_QTCORE_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
- endif (UNIX)
+ SET(QT_QTCORE_LIBRARY ${QT_QTCORE_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
+ ENDIF(UNIX)
#######################################
@@ -734,17 +810,17 @@ if (QT4_QMAKE_FOUND)
#
#######################################
# Backwards compatibility for CMake1.4 and 1.2
- set(QT_MOC_EXE ${QT_MOC_EXECUTABLE} )
- set(QT_UIC_EXE ${QT_UIC_EXECUTABLE} )
-
- set(QT_QT_LIBRARY "")
- set(QT_QTMAIN_LIBRARY "")
-else (QT4_QMAKE_FOUND)
- if (QT_QMAKE_EXECUTABLE)
- message("QT_QMAKE_EXECUTABLE set to qmake version: QTVERSION = ${QTVERSION}\nQT_QMAKE_EXECUTABLE = ${QT_QMAKE_EXECUTABLE}, please set to path to qmake from qt4.")
- endif (QT_QMAKE_EXECUTABLE)
- if (Qt4_FIND_REQUIRED)
- message(FATAL_ERROR "Qt qmake NOT found!")
- endif (Qt4_FIND_REQUIRED)
-
-endif (QT4_QMAKE_FOUND)
+ SET (QT_MOC_EXE ${QT_MOC_EXECUTABLE} )
+ SET (QT_UIC_EXE ${QT_UIC_EXECUTABLE} )
+
+ SET( QT_QT_LIBRARY "")
+ SET( QT_QTMAIN_LIBRARY "")
+ELSE(QT4_QMAKE_FOUND)
+ IF(QT_QMAKE_EXECUTABLE)
+ MESSAGE("QT_QMAKE_EXECUTABLE set to qmake version: QTVERSION = ${QTVERSION}\nQT_QMAKE_EXECUTABLE = ${QT_QMAKE_EXECUTABLE}, please set to path to qmake from qt4.")
+ ENDIF(QT_QMAKE_EXECUTABLE)
+ IF( Qt4_FIND_REQUIRED)
+ MESSAGE( FATAL_ERROR "Qt qmake not found!")
+ ENDIF( Qt4_FIND_REQUIRED)
+
+ENDIF (QT4_QMAKE_FOUND)