aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Freddi <drf@kde.org>2010-03-01 19:20:31 +0000
committerDario Freddi <drf@kde.org>2010-03-01 19:20:31 +0000
commit4b989a26ea40d46100fb7883dcec1778eb8d4533 (patch)
tree6b79ca6535baff87dcebbebcfa9df4704c3e6b5b
parent84ccffd809dc71de314f21cb747d590d246be3ed (diff)
downloadextra-cmake-modules-4b989a26ea40d46100fb7883dcec1778eb8d4533.tar.gz
extra-cmake-modules-4b989a26ea40d46100fb7883dcec1778eb8d4533.tar.bz2
This commit is a massive backport of: r1091455, r1091811, r1091516, r1091017, r1089968, r1089130 and maybe some others which I forgot.
Basically it makes KAuth's plugins dynamic, except for fake ones. Bottom line: less libraries linked to kdecore and no crashes upon installation problems. Tested on a clean build of the branch, works great. svn path=/branches/KDE/4.4/kdelibs/; revision=1097623
-rw-r--r--modules/FindKDE4Internal.cmake16
-rw-r--r--modules/FindLibAttica.cmake10
-rw-r--r--modules/FindPolkitQt-1.cmake11
-rw-r--r--modules/FindPolkitQt.cmake6
-rw-r--r--modules/FindQt4.cmake10
-rw-r--r--modules/KDE4Defaults.cmake4
-rw-r--r--modules/KDE4Macros.cmake19
-rw-r--r--modules/MacroOptionalFindPackage.cmake32
8 files changed, 26 insertions, 82 deletions
diff --git a/modules/FindKDE4Internal.cmake b/modules/FindKDE4Internal.cmake
index a31a81d5..1ce3a7cb 100644
--- a/modules/FindKDE4Internal.cmake
+++ b/modules/FindKDE4Internal.cmake
@@ -123,8 +123,6 @@
# KDE4_USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR - only present for CMake >= 2.6.3, defaults to TRUE
# If enabled, the package should install its <package>Config.cmake file to
# lib/cmake/<package>/ instead to lib/<package>/cmake
-# KDE4_SERIALIZE_TOOL - wrapper to serialize potentially resource-intensive commands during
-# parallel builds (set to 'icecc' when using icecream)
#
# It also adds the following macros and functions (from KDE4Macros.cmake)
# KDE4_ADD_UI_FILES (SRCS_VAR file1.ui ... fileN.ui)
@@ -628,7 +626,6 @@ endif(NOT PHONON_FOUND)
option(KDE4_ENABLE_FINAL "Enable final all-in-one compilation")
option(KDE4_BUILD_TESTS "Build the tests")
option(KDE4_ENABLE_HTMLHANDBOOK "Create targets htmlhandbook for creating the html versions of the docbook docs")
-set(KDE4_SERIALIZE_TOOL "" CACHE STRING "Tool to serialize resource-intensive commands in parallel builds")
# if CMake 2.6.3 or above is used, provide an option which should be used by other KDE packages
# whether to install a CMake FooConfig.cmake into lib/foo/cmake/ or /lib/cmake/foo/
@@ -668,11 +665,6 @@ if( KDE4_ENABLE_FINAL)
add_definitions(-DKDE_USE_FINAL)
endif(KDE4_ENABLE_FINAL)
-if(KDE4_SERIALIZE_TOOL)
- # parallel build with many meinproc invocations can consume a huge amount of memory
- set(KDE4_MEINPROC_EXECUTABLE ${KDE4_SERIALIZE_TOOL} ${KDE4_MEINPROC_EXECUTABLE})
-endif(KDE4_SERIALIZE_TOOL)
-
# If we are building ! kdelibs, check where kdelibs are installed.
# If they are installed in a directory which contains "lib64", we default to "64" for LIB_SUFFIX,
# so the current project will by default also go into lib64.
@@ -1159,7 +1151,7 @@ if (CMAKE_COMPILER_IS_GNUCXX)
string(REGEX MATCH "(--enable-libstdcxx-allocator=mt)" _GCC_COMPILED_WITH_BAD_ALLOCATOR "${_gcc_alloc_info}")
endif (GCC_IS_NEWER_THAN_4_1)
- if (__KDE_HAVE_GCC_VISIBILITY AND GCC_IS_NEWER_THAN_4_1 AND NOT _GCC_COMPILED_WITH_BAD_ALLOCATOR AND NOT WIN32 AND NOT CMAKE_CROSSCOMPILING)
+ if (__KDE_HAVE_GCC_VISIBILITY AND GCC_IS_NEWER_THAN_4_1 AND NOT _GCC_COMPILED_WITH_BAD_ALLOCATOR AND NOT WIN32)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
set (KDE4_C_FLAGS "-fvisibility=hidden")
# check that Qt defines Q_DECL_EXPORT as __attribute__ ((visibility("default")))
@@ -1183,7 +1175,7 @@ if (CMAKE_COMPILER_IS_GNUCXX)
endif (GCC_IS_NEWER_THAN_4_2)
else (__KDE_HAVE_GCC_VISIBILITY AND GCC_IS_NEWER_THAN_4_1 AND NOT _GCC_COMPILED_WITH_BAD_ALLOCATOR AND NOT WIN32)
set (__KDE_HAVE_GCC_VISIBILITY 0)
- endif (__KDE_HAVE_GCC_VISIBILITY AND GCC_IS_NEWER_THAN_4_1 AND NOT _GCC_COMPILED_WITH_BAD_ALLOCATOR AND NOT WIN32 AND NOT CMAKE_CROSSCOMPILING)
+ endif (__KDE_HAVE_GCC_VISIBILITY AND GCC_IS_NEWER_THAN_4_1 AND NOT _GCC_COMPILED_WITH_BAD_ALLOCATOR AND NOT WIN32)
endif (CMAKE_COMPILER_IS_GNUCXX)
@@ -1233,13 +1225,13 @@ macro (KDE4_PRINT_RESULTS)
# inside kdelibs the include dir and lib dir are internal, not "found"
if (NOT _kdeBootStrapping)
if(KDE4_INCLUDE_DIR)
- message(STATUS "Found KDE 4.5 include dir: ${KDE4_INCLUDE_DIR}")
+ message(STATUS "Found KDE 4.4 include dir: ${KDE4_INCLUDE_DIR}")
else(KDE4_INCLUDE_DIR)
message(STATUS "ERROR: unable to find the KDE 4 headers")
endif(KDE4_INCLUDE_DIR)
if(KDE4_LIB_DIR)
- message(STATUS "Found KDE 4.5 library dir: ${KDE4_LIB_DIR}")
+ message(STATUS "Found KDE 4.4 library dir: ${KDE4_LIB_DIR}")
else(KDE4_LIB_DIR)
message(STATUS "ERROR: unable to find the KDE 4 core library")
endif(KDE4_LIB_DIR)
diff --git a/modules/FindLibAttica.cmake b/modules/FindLibAttica.cmake
index b9b0610a..f901075a 100644
--- a/modules/FindLibAttica.cmake
+++ b/modules/FindLibAttica.cmake
@@ -14,6 +14,11 @@ IF (NOT LIBATTICA_MIN_VERSION)
SET(LIBATTICA_MIN_VERSION "0.1.0")
ENDIF(NOT LIBATTICA_MIN_VERSION)
+IF (LIBATTICA_INCLUDE_DIR AND LIBATTICA_LIBRARIES)
+ # in cache already
+ SET(libattica_FIND_QUIETLY TRUE)
+ENDIF (LIBATTICA_INCLUDE_DIR AND LIBATTICA_LIBRARIES)
+
IF (NOT WIN32)
# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
@@ -54,9 +59,10 @@ FIND_LIBRARY(LIBATTICA_LIBRARIES NAMES attica libattica
)
INCLUDE(FindPackageHandleStandardArgs)
-# handle the QUIETLY and REQUIRED arguments and set LIBATTICA_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set ATTICA_FOUND to TRUE if
# all listed variables are TRUE
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibAttica DEFAULT_MSG LIBATTICA_LIBRARIES LIBATTICA_INCLUDE_DIR LIBATTICA_VERSION_OK)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(libattica DEFAULT_MSG LIBATTICA_LIBRARIES LIBATTICA_INCLUDE_DIR LIBATTICA_VERSION_OK)
MARK_AS_ADVANCED(LIBATTICA_INCLUDE_DIR LIBATTICA_LIBRARIES)
+
diff --git a/modules/FindPolkitQt-1.cmake b/modules/FindPolkitQt-1.cmake
index 159a54cc..8ef5b3c9 100644
--- a/modules/FindPolkitQt-1.cmake
+++ b/modules/FindPolkitQt-1.cmake
@@ -74,7 +74,7 @@ find_library( POLKITQT-1_GUI_LIBRARY
NAMES polkit-qt-gui-1
HINTS ${PC_POLKITQT-1_LIBDIR}
)
-find_library( POLKITQT-1_AGENT_LIBRARY
+find_library( POLKITQT-1_AGENT_LIBRARY
NAMES polkit-qt-agent-1
HINTS ${PC_POLKITQT-1_LIBDIR}
)
@@ -85,14 +85,9 @@ include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set POLKITQT-1_FOUND to TRUE if
# all listed variables are TRUE
-find_package_handle_standard_args(PolkitQt-1 DEFAULT_MSG POLKITQT-1_LIBRARIES POLKITQT-1_INCLUDE_DIR POLKITQT-1_VERSION_OK)
+find_package_handle_standard_args(PolkitQt-1 DEFAULT_MSG POLKITQT-1_LIBRARIES POLKITQT-1_INCLUDE_DIR POLKITQT-1_VERSION_OK)
-mark_as_advanced(POLKITQT-1_INCLUDE_DIR
- POLKITQT-1_CORE_LIBRARY
- POLKITQT-1_GUI_LIBRARY
- POLKITQT-1_AGENT_LIBRARY
- POLKITQT-1_VERSION_FILE
- )
+mark_as_advanced(POLKITQT-1_INCLUDE_DIR POLKITQT-1_CORE_LIBRARY POLKITQT-1_GUI_LIBRARY POLKITQT-1_LIBRARIES POLKITQT-1_VERSION_OK)
if (POLKITQT-1_FOUND)
if (NOT PC_POLKITQT-1_PREFIX STREQUAL CMAKE_INSTALL_PREFIX)
diff --git a/modules/FindPolkitQt.cmake b/modules/FindPolkitQt.cmake
index 84a2b8b5..8f9f712f 100644
--- a/modules/FindPolkitQt.cmake
+++ b/modules/FindPolkitQt.cmake
@@ -88,11 +88,7 @@ include(FindPackageHandleStandardArgs)
# all listed variables are TRUE
find_package_handle_standard_args(PolkitQt DEFAULT_MSG POLKITQT_INCLUDE_DIR POLKITQT_GUI_LIBRARY POLKITQT_CORE_LIBRARY POLKITQT_VERSION_OK)
-mark_as_advanced(POLKITQT_INCLUDE_DIR
- POLKITQT_CORE_LIBRARY
- POLKITQT_GUI_LIBRARY
- POLKITQT_VERSION_FILE
- )
+mark_as_advanced(POLKITQT_INCLUDE_DIR POLKITQT_CORE_LIBRARY POLKITQT_GUI_LIBRARY POLKITQT_LIBRARIES POLKITQT_VERSION_OK)
if(POLKITQT_FOUND)
get_filename_component(_POLKITQT_INSTALL_PREFIX "${POLKITQT_CORE_LIBRARY}" PATH)
diff --git a/modules/FindQt4.cmake b/modules/FindQt4.cmake
index 0fef4275..081e996e 100644
--- a/modules/FindQt4.cmake
+++ b/modules/FindQt4.cmake
@@ -51,7 +51,6 @@
# QT_USE_QTXMLPATTERNS
# QT_USE_PHONON
# QT_USE_QTSCRIPTTOOLS
-# QT_USE_QTDECLARATIVE
#
# QT_USE_IMPORTED_TARGETS
# If this variable is set to TRUE, FindQt4.cmake will create imported
@@ -199,7 +198,6 @@
# QT_QTXML_FOUND True if QtXml was found.
# QT_QTXMLPATTERNS_FOUND True if QtXmlPatterns was found.
# QT_PHONON_FOUND True if phonon was found.
-# QT_QTDECLARATIVE_FOUND True if QtDeclarative was found.
#
# QT_MAC_USE_COCOA For Mac OS X, its whether Cocoa or Carbon is used.
# In general, this should not be used, but its useful
@@ -249,8 +247,7 @@
# QT_QTXMLPATTERNS_INCLUDE_DIR Path to "include/QtXmlPatterns"
# QT_PHONON_INCLUDE_DIR Path to "include/phonon"
# QT_QTSCRIPTTOOLS_INCLUDE_DIR Path to "include/QtScriptTools"
-# QT_QTDECLARATIVE_INCLUDE_DIR Path to "include/QtDeclarative"
-#
+#
# QT_BINARY_DIR Path to "bin" of Qt4
# QT_LIBRARY_DIR Path to "lib" of Qt4
# QT_PLUGINS_DIR Path to "plugins" for Qt4
@@ -316,8 +313,6 @@
#
# The Phonon library: QT_PHONON_LIBRARY
#
-# The QtDeclarative library: QT_QTDECLARATIVE_LIBRARY
-#
# also defined, but NOT for general use are
# QT_MOC_EXECUTABLE Where to find the moc tool.
# QT_UIC_EXECUTABLE Where to find the uic tool.
@@ -692,7 +687,7 @@ IF (QT4_QMAKE_FOUND)
SET(QT_MODULES QtCore QtGui Qt3Support QtSvg QtScript QtTest QtUiTools
QtHelp QtWebKit QtXmlPatterns QtNetwork QtMultimedia
- QtNsPlugin QtOpenGL QtSql QtXml QtDesigner QtDBus QtScriptTools QtDeclarative)
+ QtNsPlugin QtOpenGL QtSql QtXml QtDesigner QtDBus QtScriptTools)
IF(Q_WS_X11)
SET(QT_MODULES ${QT_MODULES} QtMotif)
@@ -1009,7 +1004,6 @@ IF (QT4_QMAKE_FOUND)
_QT4_ADJUST_LIB_VARS(QtAssistantClient)
_QT4_ADJUST_LIB_VARS(QtCLucene)
_QT4_ADJUST_LIB_VARS(QtDBus)
- _QT4_ADJUST_LIB_VARS(QtDeclarative)
_QT4_ADJUST_LIB_VARS(QtDesigner)
_QT4_ADJUST_LIB_VARS(QtDesignerComponents)
_QT4_ADJUST_LIB_VARS(QtHelp)
diff --git a/modules/KDE4Defaults.cmake b/modules/KDE4Defaults.cmake
index 04c0ae2c..82fa6044 100644
--- a/modules/KDE4Defaults.cmake
+++ b/modules/KDE4Defaults.cmake
@@ -25,11 +25,11 @@ set(CMAKE_COLOR_MAKEFILE ON)
# define the generic version of the libraries here
# this makes it easy to advance it when the next KDE release comes
# Use this version number for libraries which are at version n in KDE version n
-set(GENERIC_LIB_VERSION "4.5.0")
+set(GENERIC_LIB_VERSION "4.4.0")
set(GENERIC_LIB_SOVERSION "4")
# Use this version number for libraries which are already at version n+1 in KDE version n
-set(KDE_NON_GENERIC_LIB_VERSION "5.5.0")
+set(KDE_NON_GENERIC_LIB_VERSION "5.4.0")
set(KDE_NON_GENERIC_LIB_SOVERSION "5")
# windows does not support LD_LIBRARY_PATH or similar
diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake
index f58b658e..61757c89 100644
--- a/modules/KDE4Macros.cmake
+++ b/modules/KDE4Macros.cmake
@@ -106,12 +106,6 @@ macro (KDE4_ADD_KCFG_FILES _sources )
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_rel_PATH})
endif(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/${_rel_PATH}")
- if (CMAKE_CROSSCOMPILING)
- set(IMPORT_KCONFIG_COMPILER_EXECUTABLE "${KDE_HOST_TOOLS_PATH}/ImportKConfigCompilerExecutable.cmake" CACHE FILEPATH "Point it to the export file of kconfig_compiler from a native build")
- include(${IMPORT_KCONFIG_COMPILER_EXECUTABLE})
- set(KDE4_KCFGC_EXECUTABLE kconfig_compiler)
- endif (CMAKE_CROSSCOMPILING)
-
# the command for creating the source file from the kcfg file
add_custom_command(OUTPUT ${_header_FILE} ${_src_FILE}
COMMAND ${KDE4_KCFGC_EXECUTABLE}
@@ -289,13 +283,6 @@ macro (KDE4_CREATE_HANDBOOK _docbook)
endif (_kdeBootStrapping)
file(GLOB _docs *.docbook)
-
- if (CMAKE_CROSSCOMPILING)
- set(IMPORT_MEINPROC4_EXECUTABLE "${KDE_HOST_TOOLS_PATH}/ImportMeinProc4Executable.cmake" CACHE FILEPATH "Point it to the export file of meinproc4 from a native build")
- include(${IMPORT_MEINPROC4_EXECUTABLE})
- set(KDE4_MEINPROC_EXECUTABLE meinproc4)
- endif (CMAKE_CROSSCOMPILING)
-
add_custom_command(OUTPUT ${_doc}
COMMAND ${KDE4_MEINPROC_EXECUTABLE} --check ${_bootstrapOption} --cache ${_doc} ${_input}
DEPENDS ${_docs} ${_KDE4_MEINPROC_EXECUTABLE_DEP} ${_ssheet}
@@ -367,12 +354,6 @@ macro (KDE4_CREATE_MANPAGE _docbook _section)
set(_bootstrapOption)
endif (_kdeBootStrapping)
- if (CMAKE_CROSSCOMPILING)
- set(IMPORT_MEINPROC4_EXECUTABLE "${KDE_HOST_TOOLS_PATH}/ImportMeinProc4Executable.cmake" CACHE FILEPATH "Point it to the export file of meinproc4 from a native build")
- include(${IMPORT_MEINPROC4_EXECUTABLE})
- set(KDE4_MEINPROC_EXECUTABLE meinproc4)
- endif (CMAKE_CROSSCOMPILING)
-
add_custom_command(OUTPUT ${_outdoc}
COMMAND ${KDE4_MEINPROC_EXECUTABLE} --stylesheet ${_ssheet} --check ${_bootstrapOption} ${_input}
DEPENDS ${_input} ${_KDE4_MEINPROC_EXECUTABLE_DEP} ${_ssheet}
diff --git a/modules/MacroOptionalFindPackage.cmake b/modules/MacroOptionalFindPackage.cmake
index d4ed48e3..f09952f3 100644
--- a/modules/MacroOptionalFindPackage.cmake
+++ b/modules/MacroOptionalFindPackage.cmake
@@ -7,42 +7,22 @@
# The standard <name>_FOUND variables can be used in the same way
# as when using the normal FIND_PACKAGE()
-# Copyright (c) 2006-2010 Alexander Neundorf, <neundorf@kde.org>
+# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-# This is just a helper macro to set a bunch of variables empty.
-# We don't know whether the package uses UPPERCASENAME or CamelCaseName, so we try both:
-macro(_MOFP_SET_EMPTY_IF_DEFINED _name _var)
- if(DEFINED ${_name}_${_var})
- set(${_name}_${_var} "")
- endif(DEFINED ${_name}_${_var})
-
- string(TOUPPER ${_name} _nameUpper)
- if(DEFINED ${_nameUpper}_${_var})
- set(${_nameUpper}_${_var} "")
- endif(DEFINED ${_nameUpper}_${_var})
-endmacro(_MOFP_SET_EMPTY_IF_DEFINED _package _var)
-
macro (MACRO_OPTIONAL_FIND_PACKAGE _name )
option(WITH_${_name} "Search for ${_name} package" ON)
if (WITH_${_name})
find_package(${_name} ${ARGN})
else (WITH_${_name})
- string(TOUPPER ${_name} _nameUpper)
- set(${_name}_FOUND FALSE)
- set(${_nameUpper}_FOUND FALSE)
-
- _mofp_set_empty_if_defined(${_name} INCLUDE_DIRS)
- _mofp_set_empty_if_defined(${_name} INCLUDE_DIR)
- _mofp_set_empty_if_defined(${_name} INCLUDES)
- _mofp_set_empty_if_defined(${_name} LIBRARY)
- _mofp_set_empty_if_defined(${_name} LIBRARIES)
- _mofp_set_empty_if_defined(${_name} LIBS)
- _mofp_set_empty_if_defined(${_name} FLAGS)
- _mofp_set_empty_if_defined(${_name} DEFINITIONS)
+ set(${_name}_FOUND)
+ set(${_name}_INCLUDE_DIR)
+ set(${_name}_INCLUDES)
+ set(${_name}_LIBRARY)
+ set(${_name}_LIBRARIES)
endif (WITH_${_name})
endmacro (MACRO_OPTIONAL_FIND_PACKAGE)