aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/FindAutomoc4.cmake48
-rw-r--r--modules/FindCarbon.cmake8
-rw-r--r--modules/FindFFmpeg.cmake38
-rw-r--r--modules/FindGStreamer.cmake17
-rw-r--r--modules/FindKDE4Internal.cmake170
-rw-r--r--modules/FindKDEWIN.cmake2
-rw-r--r--modules/FindKDEWIN32.cmake18
-rw-r--r--modules/FindPackageHandleStandardArgs.cmake60
-rw-r--r--modules/FindSoprano.cmake80
-rw-r--r--modules/KDE4Defaults.cmake4
-rw-r--r--modules/KDE4Macros.cmake35
-rw-r--r--modules/MacroEnsureOutOfSourceBuild.cmake4
-rw-r--r--modules/MacroOptionalAddSubdirectory.cmake6
-rw-r--r--modules/potential_problems2
14 files changed, 268 insertions, 224 deletions
diff --git a/modules/FindAutomoc4.cmake b/modules/FindAutomoc4.cmake
index 88a34ce1..5cf75627 100644
--- a/modules/FindAutomoc4.cmake
+++ b/modules/FindAutomoc4.cmake
@@ -17,46 +17,40 @@
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-# check if we are inside KDESupport and automoc is enabled
+# enable the code below again when cmake also searches in lib64/ (should be 2.6.2), Alex
+# # check if we are inside KDESupport and automoc is enabled
+# if("${KDESupport_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
+# # when building this project as part of kdesupport
+# include("${KDESupport_SOURCE_DIR}/automoc/Automoc4Config.cmake")
+# else("${KDESupport_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
+# # when building this project outside kdesupport
+# # use the new "config-mode" of cmake 2.6, which searches the installed Automoc4Config.cmake file
+# # see the man page for details
+# find_package(Automoc4 QUIET NO_MODULE)
+# endif("${KDESupport_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
+
if("${KDESupport_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
# when building this project as part of kdesupport
set(AUTOMOC4_CONFIG_FILE "${KDESupport_SOURCE_DIR}/automoc/Automoc4Config.cmake")
else("${KDESupport_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
# when building this project outside kdesupport
-
# CMAKE_[SYSTEM_]PREFIX_PATH exists starting with cmake 2.6.0
file(TO_CMAKE_PATH "$ENV{CMAKE_PREFIX_PATH}" _env_CMAKE_PREFIX_PATH)
file(TO_CMAKE_PATH "$ENV{CMAKE_LIBRARY_PATH}" _env_CMAKE_LIBRARY_PATH)
-
set(AUTOMOC4_SEARCH_PATHS
- ${_env_CMAKE_PREFIX_PATH} ${CMAKE_PREFIX_PATH} ${CMAKE_SYSTEM_PREFIX_PATH}
- ${_env_CMAKE_LIBRARY_PATH} ${CMAKE_LIBRARY_PATH} ${CMAKE_SYSTEM_LIBRARY_PATH}
- ${CMAKE_INSTALL_PREFIX})
-
+ ${_env_CMAKE_PREFIX_PATH} ${CMAKE_PREFIX_PATH} ${CMAKE_SYSTEM_PREFIX_PATH}
+ ${_env_CMAKE_LIBRARY_PATH} ${CMAKE_LIBRARY_PATH} ${CMAKE_SYSTEM_LIBRARY_PATH}
+ ${CMAKE_INSTALL_PREFIX}
+ )
find_file(AUTOMOC4_CONFIG_FILE NAMES Automoc4Config.cmake
- PATH_SUFFIXES automoc4 lib/automoc4 lib64/automoc4
- PATHS ${AUTOMOC4_SEARCH_PATHS}
- NO_DEFAULT_PATH )
+ PATH_SUFFIXES automoc4 lib/automoc4 lib64/automoc4
+ PATHS ${AUTOMOC4_SEARCH_PATHS}
+ NO_DEFAULT_PATH )
endif("${KDESupport_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
-
if(AUTOMOC4_CONFIG_FILE)
include(${AUTOMOC4_CONFIG_FILE})
- set(AUTOMOC4_FOUND TRUE)
-else(AUTOMOC4_CONFIG_FILE)
- set(AUTOMOC4_FOUND FALSE)
endif(AUTOMOC4_CONFIG_FILE)
-if (AUTOMOC4_FOUND)
- if (NOT Automoc4_FIND_QUIETLY)
- message(STATUS "Found Automoc4: ${AUTOMOC4_EXECUTABLE}")
- endif (NOT Automoc4_FIND_QUIETLY)
-else (AUTOMOC4_FOUND)
- if (Automoc4_FIND_REQUIRED)
- message(FATAL_ERROR "Did not find Automoc4Config.cmake (part of kdesupport). Searched in ${AUTOMOC4_SEARCH_PATHS} using suffixes automoc4 lib/automoc4 lib64/automoc4.")
- else (Automoc4_FIND_REQUIRED)
- if (NOT Automoc4_FIND_QUIETLY)
- message(STATUS "Did not find Automoc4Config.cmake (part of kdesupport). Searched in ${AUTOMOC4_SEARCH_PATHS} using suffixes automoc4 lib/automoc4 lib64/automoc4.")
- endif (NOT Automoc4_FIND_QUIETLY)
- endif (Automoc4_FIND_REQUIRED)
-endif (AUTOMOC4_FOUND)
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Automoc4 "Did not find automoc4 (part of kdesupport). Searched for Automoc4Config.cmake in ${AUTOMOC4_SEARCH_PATHS} using suffixes automoc4 lib/automoc4 lib64/automoc4." AUTOMOC4_EXECUTABLE)
diff --git a/modules/FindCarbon.cmake b/modules/FindCarbon.cmake
index de788f74..2b0d979e 100644
--- a/modules/FindCarbon.cmake
+++ b/modules/FindCarbon.cmake
@@ -8,11 +8,15 @@
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-INCLUDE(CMakeFindFrameworks)
+include(CMakeFindFrameworks)
-CMAKE_FIND_FRAMEWORKS(Carbon)
+cmake_find_frameworks(Carbon)
if (Carbon_FRAMEWORKS)
set(CARBON_LIBRARY "-framework Carbon" CACHE FILEPATH "Carbon framework" FORCE)
set(CARBON_FOUND 1)
endif (Carbon_FRAMEWORKS)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Carbon DEFAULT_MSG CARBON_LIBRARY)
+
diff --git a/modules/FindFFmpeg.cmake b/modules/FindFFmpeg.cmake
index 8baf0af7..16233510 100644
--- a/modules/FindFFmpeg.cmake
+++ b/modules/FindFFmpeg.cmake
@@ -17,13 +17,14 @@ if (FFMPEG_LIBRARIES)# AND FFMPEG_DEFINITIONS)
set(FFMPEG_FOUND TRUE)
else (FFMPEG_LIBRARIES)# AND FFMPEG_DEFINITIONS)
-IF (NOT WIN32)
+
+if (NOT WIN32)
# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
- INCLUDE(UsePkgConfig)
+ include(UsePkgConfig)
- PKGCONFIG(libavcodec _FFMPEGIncDir _FFMPEGLinkDir _FFMPEGLinkFlags _FFMPEGCflags)
-ENDIF (NOT WIN32)
+ pkgconfig(libavcodec _FFMPEGIncDir _FFMPEGLinkDir _FFMPEGLinkFlags _FFMPEGCflags)
+endif (NOT WIN32)
#set(FFMPEG_DEFINITIONS ${_FFMPEGCflags})
#
@@ -39,6 +40,15 @@ ENDIF (NOT WIN32)
NO_DEFAULT_PATH
)
+ # also search for the old style include dir, just for the purpose
+ # of giving a useful error message if an old libavcodec is installed
+ # and the user might wonder why it is not found
+ find_path(FFMPEG_INCLUDE_DIR_OLD_STYLE ffmpeg/avcodec.h
+ PATHS
+ ${_FFMPEGIncDir}
+ NO_DEFAULT_PATH
+ )
+
find_library(AVCODEC_LIBRARIES NAMES avcodec
PATHS
${_FFMPEGLinkDir}
@@ -70,21 +80,33 @@ ENDIF (NOT WIN32)
set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} ${AVUTIL_LIBRARIES})
endif (AVUTIL_LIBRARIES)
- if (FFMPEG_LIBRARIES)
+ if (FFMPEG_LIBRARIES AND FFMPEG_INCLUDE_DIR)
set(FFMPEG_FOUND TRUE)
- endif (FFMPEG_LIBRARIES)
+ endif (FFMPEG_LIBRARIES AND FFMPEG_INCLUDE_DIR)
if (FFMPEG_FOUND)
if (NOT FFmpeg_FIND_QUIETLY)
message(STATUS "Found FFMPEG: ${FFMPEG_LIBRARIES} ${FFMPEG_INCLUDE_DIR}")
endif (NOT FFmpeg_FIND_QUIETLY)
else (FFMPEG_FOUND)
+ # only an old libavcodec was found ?
+ if (FFMPEG_INCLUDE_DIR_OLD_STYLE AND NOT FFMPEG_INCLUDE_DIR AND NOT FFmpeg_FIND_QUIETLY)
+ message(STATUS "Found old version of libavcodec, but a newer version is required.")
+ endif (FFMPEG_INCLUDE_DIR_OLD_STYLE AND NOT FFMPEG_INCLUDE_DIR AND NOT FFmpeg_FIND_QUIETLY)
+
if (FFmpeg_FIND_REQUIRED)
message(FATAL_ERROR "Could NOT find FFMPEG")
+ else (FFmpeg_FIND_REQUIRED)
+ if (NOT FFmpeg_FIND_QUIETLY)
+ message(STATUS "Could NOT find FFMPEG")
+ endif (NOT FFmpeg_FIND_QUIETLY)
endif (FFmpeg_FIND_REQUIRED)
endif (FFMPEG_FOUND)
- MARK_AS_ADVANCED(FFMPEG_LIBRARIES)
- MARK_AS_ADVANCED(FFMPEG_INCLUDE_DIR)
+ mark_as_advanced(AVCODEC_LIBRARIES
+ AVFORMAT_LIBRARIES
+ AVUTIL_LIBRARIES
+ FFMPEG_INCLUDE_DIR
+ FFMPEG_INCLUDE_DIR_OLD_STYLE)
endif (FFMPEG_LIBRARIES)# AND FFMPEG_DEFINITIONS)
diff --git a/modules/FindGStreamer.cmake b/modules/FindGStreamer.cmake
index f75e92d9..5a94452b 100644
--- a/modules/FindGStreamer.cmake
+++ b/modules/FindGStreamer.cmake
@@ -68,20 +68,7 @@ ELSE (GSTREAMER_INTERFACE_LIBRARY)
MESSAGE(STATUS "GStreamer: WARNING: interface library not found")
ENDIF (GSTREAMER_INTERFACE_LIBRARY)
-IF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_BASE_LIBRARY AND GSTREAMER_INTERFACE_LIBRARY)
- SET(GSTREAMER_FOUND TRUE)
-ELSE (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_BASE_LIBRARY AND GSTREAMER_INTERFACE_LIBRARY)
- SET(GSTREAMER_FOUND FALSE)
-ENDIF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_BASE_LIBRARY AND GSTREAMER_INTERFACE_LIBRARY)
-
-IF (GSTREAMER_FOUND)
- IF (NOT GStreamer_FIND_QUIETLY)
- MESSAGE(STATUS "Found GStreamer: ${GSTREAMER_LIBRARIES}")
- ENDIF (NOT GStreamer_FIND_QUIETLY)
-ELSE (GSTREAMER_FOUND)
- IF (GStreamer_FIND_REQUIRED)
- MESSAGE(SEND_ERROR "Could NOT find GStreamer")
- ENDIF (GStreamer_FIND_REQUIRED)
-ENDIF (GSTREAMER_FOUND)
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GStreamer DEFAULT_MSG GSTREAMER_LIBRARIES GSTREAMER_INCLUDE_DIR GSTREAMER_BASE_LIBRARY GSTREAMER_INTERFACE_LIBRARY)
MARK_AS_ADVANCED(GSTREAMER_INCLUDE_DIR GSTREAMER_LIBRARIES GSTREAMER_BASE_LIBRARY GSTREAMER_INTERFACE_LIBRARY)
diff --git a/modules/FindKDE4Internal.cmake b/modules/FindKDE4Internal.cmake
index 70ce60ac..f3a1d93c 100644
--- a/modules/FindKDE4Internal.cmake
+++ b/modules/FindKDE4Internal.cmake
@@ -216,6 +216,12 @@
# without going all over the place, but still produce better performance.
# It's also important to note that gcc cannot detect all warning conditions
# unless the optimiser is active.
+#
+# This module allows to depend on a particular minimum version of kdelibs.
+# To acomplish that one should use the apropriate cmake syntax for
+# find_package. For example to depend on kdelibs >= 4.1.0 one should use
+#
+# find_package(KDE4 4.1.0 REQUIRED)
# _KDE4_PLATFORM_INCLUDE_DIRS is used only internally
# _KDE4_PLATFORM_DEFINITIONS is used only internally
@@ -228,26 +234,23 @@
# this is required now by cmake 2.6 and so must not be skipped by if(KDE4_FOUND) below
-cmake_minimum_required(VERSION 2.4.5 FATAL_ERROR)
-
-# cmake 2.5, i.e. the cvs version between 2.4 and 2.6, is not supported
-if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" STREQUAL "2.5")
- message(FATAL_ERROR "You are using CMake 2.5, which was the unreleased development version between 2.4 and 2.6. This is no longer supported. Please update to CMake 2.6 or current cvs HEAD.")
-endif("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" STREQUAL "2.5")
+cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
+# this second call will never fail
+# it is here for the effect that it sets the cmake policies to the 2.4.x compatibility settings for now
+cmake_minimum_required(VERSION 2.4.5)
# CMake 2.6, set compatibility behaviour to cmake 2.4
# this must be executed always, because the CMAKE_MINIMUM_REQUIRED() command above
# resets the policy settings, so we get a lot of warnings
-if(COMMAND CMAKE_POLICY)
- # CMP0000: don't require cmake_minimum_version() directly in the top level CMakeLists.txt, FindKDE4Internal.cmake is good enough
- cmake_policy(SET CMP0000 OLD)
- # CMP0002: in KDE4 we have multiple targets with the same name for the unit tests
- cmake_policy(SET CMP0002 OLD)
- # CMP0003: add the link paths to the link command as with cmake 2.4
- cmake_policy(SET CMP0003 OLD)
- # CMP0005: keep escaping behaviour for definitions added via add_definitions()
- cmake_policy(SET CMP0005 OLD)
-endif(COMMAND CMAKE_POLICY)
+
+# CMP0000: don't require cmake_minimum_version() directly in the top level CMakeLists.txt, FindKDE4Internal.cmake is good enough
+cmake_policy(SET CMP0000 OLD)
+# CMP0002: in KDE4 we have multiple targets with the same name for the unit tests
+cmake_policy(SET CMP0002 OLD)
+# CMP0003: add the link paths to the link command as with cmake 2.4
+cmake_policy(SET CMP0003 OLD)
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy(SET CMP0005 OLD)
# Only do something if it hasn't been found yet
@@ -262,17 +265,15 @@ find_package(Qt4 REQUIRED)
# automoc4 (from kdesupport) is now required, Alex
find_package(Automoc4 REQUIRED)
-if (CMAKE_MAJOR_VERSION GREATER 4)
- # cmake 2.6.0 and automoc4 0.9.83 didn't add the necessary definitions for backends to moc calls
- if (NOT AUTOMOC4_VERSION)
- # the version macro was added for 0.9.84
- set(AUTOMOC4_VERSION "0.9.83")
- endif (NOT AUTOMOC4_VERSION)
- macro_ensure_version("0.9.84" "${AUTOMOC4_VERSION}" _automoc4_version_ok)
- if (NOT _automoc4_version_ok)
- message(FATAL_ERROR "Your version of automoc4 is too old. You have ${AUTOMOC4_VERSION}, you need at least 0.9.84")
- endif (NOT _automoc4_version_ok)
-endif (CMAKE_MAJOR_VERSION GREATER 4)
+# cmake 2.6.0 and automoc4 < 0.9.84 don't work right for -D flags
+if (NOT AUTOMOC4_VERSION)
+ # the version macro was added for 0.9.84
+ set(AUTOMOC4_VERSION "0.9.83")
+endif (NOT AUTOMOC4_VERSION)
+macro_ensure_version("0.9.84" "${AUTOMOC4_VERSION}" _automoc4_version_ok)
+if (NOT _automoc4_version_ok)
+ message(FATAL_ERROR "Your version of automoc4 is too old. You have ${AUTOMOC4_VERSION}, you need at least 0.9.84")
+endif (NOT _automoc4_version_ok)
# use automoc4 from kdesupport
set(KDE4_AUTOMOC_EXECUTABLE "${AUTOMOC4_EXECUTABLE}" )
@@ -357,7 +358,25 @@ else (_kdeBootStrapping)
# we need at least this version:
if (NOT KDE_MIN_VERSION)
- set(KDE_MIN_VERSION "3.9.0")
+ if (KDE4_FIND_VERSION_MAJOR)
+ message("${KDE4_FIND_VERSION_MAJOR}")
+ if (${KDE4_FIND_VERSION_MAJOR} EQUAL 4)
+ if (KDE4_FIND_VERSION_MINOR)
+ set(KDE_MIN_VERSION "4.${KDE4_FIND_VERSION_MINOR}")
+ else (KDE4_FIND_VERSION_MINOR)
+ set(KDE_MIN_VERSION "4.0")
+ endif (KDE4_FIND_VERSION_MINOR)
+ if (KDE4_FIND_VERSION_PATCH)
+ set(KDE_MIN_VERSION "${KDE_MIN_VERSION}.${KDE4_FIND_VERSION_PATCH}")
+ else (KDE4_FIND_VERSION_PATCH)
+ set(KDE_MIN_VERSION "${KDE_MIN_VERSION}.0")
+ endif (KDE4_FIND_VERSION_PATCH)
+ else (${KDE4_FIND_VERSION_MAJOR} EQUAL 4)
+ message(FATAL_ERROR "FindKDE4 can only be used with KDE 4")
+ endif (${KDE4_FIND_VERSION_MAJOR} EQUAL 4)
+ else (KDE4_FIND_VERSION_MAJOR)
+ set (KDE_MIN_VERSION "4.0.0")
+ endif (KDE4_FIND_VERSION_MAJOR)
endif (NOT KDE_MIN_VERSION)
#message(STATUS "KDE_MIN_VERSION=${KDE_MIN_VERSION} found ${KDEVERSION}")
@@ -506,25 +525,32 @@ 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")
-# This option enables the reduced link interface for libs on UNIX
-#
-# The purpose of the KDE4_DISABLE_PROPERTY_ variable is to be used as a prefix for
-# the target property LINK_INTERFACE_LIBRARIES. If it is empty, the property will have its
-# correct name, if it's not empty, it will be a different name, i.e. the actual property
-# will not be set, i.e. disabled. See kdelibs/kdecore/CMakeLists.txt for an example.
-#
-# By default (i.e. also for Windows) make it non-empty, so the property name will
-# change from "LINK_INTERFACE_LIBRARIES" to "DISABLED_LINK_INTERFACE_LIBRARIES",
-# which is a different (non-existing) target property, and so setting that property
-# won't have an effect
-set(KDE4_DISABLE_PROPERTY_ "DISABLED_")
+# Remove this below once it's sure it really works, Alex
+
+# # This option enables the reduced link interface for libs on UNIX
+# #
+# # The purpose of the KDE4_DISABLE_PROPERTY_ variable is to be used as a prefix for
+# # the target property LINK_INTERFACE_LIBRARIES. If it is empty, the property will have its
+# # correct name, if it's not empty, it will be a different name, i.e. the actual property
+# # will not be set, i.e. disabled. See kdelibs/kdecore/CMakeLists.txt for an example.
+# #
+# # By default (i.e. also for Windows) make it non-empty, so the property name will
+# # change from "LINK_INTERFACE_LIBRARIES" to "DISABLED_LINK_INTERFACE_LIBRARIES",
+# # which is a different (non-existing) target property, and so setting that property
+# # won't have an effect
+
+# disable this for now for Windows, since there is an issue with the use of "debug" and
+# "optimized" in the LINK_INTERFACE_LIBRARIES target property, Alex
+if (WIN32)
+ set(KDE4_DISABLE_PROPERTY_ "DISABLED_")
+endif(WIN32)
-option(KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT "Enable the experimental reduced library exports" FALSE)
-# If enabled, make it empty, so the property will keep it's actual name.
-# and the LINK_INTERFACE_LIBRARIES property will be set.
-if (KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT)
- set(KDE4_DISABLE_PROPERTY_ )
-endif (KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT)
+# option(KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT "Enable the experimental reduced library exports" FALSE)
+# # If enabled, make it empty, so the property will keep it's actual name.
+# # and the LINK_INTERFACE_LIBRARIES property will be set.
+# if (KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT)
+# set(KDE4_DISABLE_PROPERTY_ )
+# endif (KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT)
if( KDE4_ENABLE_FINAL)
@@ -537,7 +563,19 @@ endif(KDE4_ENABLE_FINAL)
# info from "http://www.linuxfromscratch.org/hlfs/view/unstable/glibc/chapter02/pie.html"
option(KDE4_ENABLE_FPIE "Enable platform supports PIE linking")
-set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
+# 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.
+# The same for lib32. Alex
+set(_Init_LIB_SUFFIX "")
+if ("${KDE4_LIB_DIR}" MATCHES lib64)
+ set(_Init_LIB_SUFFIX 64)
+endif ("${KDE4_LIB_DIR}" MATCHES lib64)
+if ("${KDE4_LIB_DIR}" MATCHES lib32)
+ set(_Init_LIB_SUFFIX 32)
+endif ("${KDE4_LIB_DIR}" MATCHES lib32)
+
+set(LIB_SUFFIX "${_Init_LIB_SUFFIX}" CACHE STRING "Define suffix of directory name (32/64)" )
########## the following are directories where stuff will be installed to ###########
@@ -687,40 +725,24 @@ set(INSTALL_TARGETS_DEFAULT_ARGS RUNTIME DESTINATION "${BIN_INSTALL_DIR}"
# on the Mac support an extra install directory for application bundles starting with cmake 2.6
if(APPLE)
- if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER "2.5")
- set(INSTALL_TARGETS_DEFAULT_ARGS ${INSTALL_TARGETS_DEFAULT_ARGS}
- BUNDLE DESTINATION "${BUNDLE_INSTALL_DIR}" )
- endif("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER "2.5")
+ set(INSTALL_TARGETS_DEFAULT_ARGS ${INSTALL_TARGETS_DEFAULT_ARGS}
+ BUNDLE DESTINATION "${BUNDLE_INSTALL_DIR}" )
endif(APPLE)
############## add some more default search paths ###############
#
-# always search in the directory where cmake is installed
-# and in the current installation prefix
# the KDE4_xxx_INSTALL_DIR variables are empty when building kdelibs itself
# and otherwise point to the kde4 install dirs
-# they will be set by default starting with cmake 2.6.0, maybe already 2.4.8
-
-# also add the install directory of the running cmake to the search directories
-# CMAKE_ROOT is CMAKE_INSTALL_PREFIX/share/cmake, so we need to go two levels up
-get_filename_component(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
-get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
set(CMAKE_SYSTEM_INCLUDE_PATH ${CMAKE_SYSTEM_INCLUDE_PATH}
- "${KDE4_INCLUDE_INSTALL_DIR}"
- "${_CMAKE_INSTALL_DIR}/include"
- "${CMAKE_INSTALL_PREFIX}/include" )
+ "${KDE4_INCLUDE_INSTALL_DIR}")
set(CMAKE_SYSTEM_PROGRAM_PATH ${CMAKE_SYSTEM_PROGRAM_PATH}
- "${KDE4_BIN_INSTALL_DIR}"
- "${_CMAKE_INSTALL_DIR}/bin"
- "${CMAKE_INSTALL_PREFIX}/bin" )
+ "${KDE4_BIN_INSTALL_DIR}" )
set(CMAKE_SYSTEM_LIBRARY_PATH ${CMAKE_SYSTEM_LIBRARY_PATH}
- "${KDE4_LIB_INSTALL_DIR}"
- "${_CMAKE_INSTALL_DIR}/lib"
- "${CMAKE_INSTALL_PREFIX}/lib" )
+ "${KDE4_LIB_INSTALL_DIR}" )
# under Windows dlls may be also installed in bin/
if(WIN32)
@@ -946,9 +968,7 @@ endif(MSVC)
if (CMAKE_COMPILER_IS_GNUCXX)
- if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.5)
- set (CMAKE_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES} "Debugfull")
- endif("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.5)
+ set (CMAKE_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES} "Debugfull")
set (KDE4_ENABLE_EXCEPTIONS -fexceptions)
# Select flags.
@@ -1057,9 +1077,7 @@ endif (CMAKE_COMPILER_IS_GNUCXX)
if (CMAKE_C_COMPILER MATCHES "icc")
- if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.5)
- set (CMAKE_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES} "Debugfull")
- endif("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.5)
+ set (CMAKE_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES} "Debugfull")
set (KDE4_ENABLE_EXCEPTIONS -fexceptions)
# Select flags.
@@ -1104,13 +1122,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.1 include dir: ${KDE4_INCLUDE_DIR}")
+ message(STATUS "Found KDE 4.2 include dir: ${KDE4_INCLUDE_DIR}")
else(KDE4_INCLUDE_DIR)
message(STATUS "ERROR: unable to find KDE 4 headers")
endif(KDE4_INCLUDE_DIR)
if(KDE4_LIB_DIR)
- message(STATUS "Found KDE 4.1 library dir: ${KDE4_LIB_DIR}")
+ message(STATUS "Found KDE 4.2 library dir: ${KDE4_LIB_DIR}")
else(KDE4_LIB_DIR)
message(STATUS "ERROR: unable to find KDE 4 core library")
endif(KDE4_LIB_DIR)
diff --git a/modules/FindKDEWIN.cmake b/modules/FindKDEWIN.cmake
index 550d11d3..dfd7d071 100644
--- a/modules/FindKDEWIN.cmake
+++ b/modules/FindKDEWIN.cmake
@@ -1,4 +1,4 @@
-# - Try to find the directory in which the kdewin32 library and other win32 related libraries lives
+# - Try to find the directory in which the kde windows supplementary libraries are living
#
# used environment vars
# KDEWIN_DIR - kdewin root dir
diff --git a/modules/FindKDEWIN32.cmake b/modules/FindKDEWIN32.cmake
index 589b1531..d22a85a7 100644
--- a/modules/FindKDEWIN32.cmake
+++ b/modules/FindKDEWIN32.cmake
@@ -7,15 +7,13 @@
# KDEWIN32_LIBRARIES - The libraries needed to use KDEWIN32
# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
-# Copyright (c) 2007, Ralf Habacker, <ralf.habacker@freenet.de>
+# Copyright (c) 2007-2008, Ralf Habacker, <ralf.habacker@freenet.de>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
if (WIN32)
- include(FindLibraryWithDebug)
-
if (NOT KDEWIN32_DIR)
if(NOT KDEWIN_FOUND)
find_package(KDEWIN)
@@ -28,17 +26,21 @@ if (WIN32)
# search for kdewin32 in the default install directory for applications (default of (n)make install)
FILE(TO_CMAKE_PATH "${CMAKE_LIBRARY_PATH}" _cmakeLibraryPathCmakeStyle)
- find_library_with_debug(KDEWIN32_LIBRARY
- WIN32_DEBUG_POSTFIX d
- NAMES kdewin32
+
+ if (CMAKE_BUILD_TYPE STREQUAL "Debug")
+ set (LIBRARY_NAME kdewin32d)
+ else (CMAKE_BUILD_TYPE STREQUAL "Debug")
+ set (LIBRARY_NAME kdewin32)
+ endif (CMAKE_BUILD_TYPE STREQUAL "Debug")
+
+ find_library(KDEWIN32_LIBRARY
+ NAMES ${LIBRARY_NAME}
PATHS
${_cmakeLibraryPathCmakeStyle}
${CMAKE_INSTALL_PREFIX}/lib
NO_SYSTEM_ENVIRONMENT_PATH
)
- # kdelibs/win/ has to be built before the rest of kdelibs/
- # eventually it will be moved out from kdelibs/
if (KDEWIN32_LIBRARY AND KDEWIN32_INCLUDE_DIR)
set(KDEWIN32_FOUND TRUE)
# add needed system libs
diff --git a/modules/FindPackageHandleStandardArgs.cmake b/modules/FindPackageHandleStandardArgs.cmake
deleted file mode 100644
index 7f122edc..00000000
--- a/modules/FindPackageHandleStandardArgs.cmake
+++ /dev/null
@@ -1,60 +0,0 @@
-# FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME (DEFAULT_MSG|"Custom failure message") VAR1 ... )
-#
-# This macro is intended to be used in FindXXX.cmake modules files.
-# It handles the REQUIRED and QUIET argument to FIND_PACKAGE() and
-# it also sets the <UPPERCASED_NAME>_FOUND variable.
-# The package is found if all variables listed are TRUE.
-# Example:
-#
-# FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2 DEFAULT_MSG LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)
-#
-# LibXml2 is considered to be found, if both LIBXML2_LIBRARIES and
-# LIBXML2_INCLUDE_DIR are valid. Then also LIBXML2_FOUND is set to TRUE.
-# If it is not found and REQUIRED was used, it fails with FATAL_ERROR,
-# independent whether QUIET was used or not.
-#
-# If it is found, the location is reported using the VAR1 argument, so
-# here a message "Found LibXml2: /usr/lib/libxml2.so" will be printed out.
-# If the second argument is DEFAULT_MSG, the message in the failure case will
-# be "Could NOT find LibXml2", if you don't like this message you can specify
-# your own custom failure message there.
-
-MACRO(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FAIL_MSG _VAR1 )
-
- IF("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
- IF (${_NAME}_FIND_REQUIRED)
- SET(_FAIL_MESSAGE "Could not find REQUIRED package ${_NAME}")
- ELSE (${_NAME}_FIND_REQUIRED)
- SET(_FAIL_MESSAGE "Could not find OPTIONAL package ${_NAME}")
- ENDIF (${_NAME}_FIND_REQUIRED)
- ELSE("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
- SET(_FAIL_MESSAGE "${_FAIL_MSG}")
- ENDIF("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
-
- STRING(TOUPPER ${_NAME} _NAME_UPPER)
-
- SET(${_NAME_UPPER}_FOUND TRUE)
- IF(NOT ${_VAR1})
- SET(${_NAME_UPPER}_FOUND FALSE)
- ENDIF(NOT ${_VAR1})
-
- FOREACH(_CURRENT_VAR ${ARGN})
- IF(NOT ${_CURRENT_VAR})
- SET(${_NAME_UPPER}_FOUND FALSE)
- ENDIF(NOT ${_CURRENT_VAR})
- ENDFOREACH(_CURRENT_VAR)
-
- IF (${_NAME_UPPER}_FOUND)
- IF (NOT ${_NAME}_FIND_QUIETLY)
- MESSAGE(STATUS "Found ${_NAME}: ${${_VAR1}}")
- ENDIF (NOT ${_NAME}_FIND_QUIETLY)
- ELSE (${_NAME_UPPER}_FOUND)
- IF (${_NAME}_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "${_FAIL_MESSAGE}")
- ELSE (${_NAME}_FIND_REQUIRED)
- IF (NOT ${_NAME}_FIND_QUIETLY)
- MESSAGE(STATUS "${_FAIL_MESSAGE}")
- ENDIF (NOT ${_NAME}_FIND_QUIETLY)
- ENDIF (${_NAME}_FIND_REQUIRED)
- ENDIF (${_NAME_UPPER}_FOUND)
-ENDMACRO(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
diff --git a/modules/FindSoprano.cmake b/modules/FindSoprano.cmake
index 0cc278b0..84581a3f 100644
--- a/modules/FindSoprano.cmake
+++ b/modules/FindSoprano.cmake
@@ -10,6 +10,13 @@
# SOPRANO_SERVER_LIBRARIES - The Soprano server library (libsopranoserver)
# SOPRANO_VERSION - The Soprano version (string value)
#
+# SOPRANO_PLUGIN_NQUADPARSER_FOUND - true if the nquadparser plugin is found
+# SOPRANO_PLUGIN_NQUADSERIALIZER_FOUND - true if the nquadserializer plugin is found
+# SOPRANO_PLUGIN_RAPTORPARSER_FOUND - true if the raptorparser plugin is found
+# SOPRANO_PLUGIN_RAPTORSERIALIZER_FOUND - true if the raptorserializer plugin is found
+# SOPRANO_PLUGIN_REDLANDBACKEND_FOUND - true if the redlandbackend plugin is found
+# SOPRANO_PLUGIN_SESAME2BACKEND_FOUND - true if the sesame2backend plugin is found
+
# Options:
# Set SOPRANO_MIN_VERSION to set the minimum required Soprano version (default: 1.99)
#
@@ -23,9 +30,9 @@
# set(SopranoIndex_FOUND TRUE)
#else(SOPRANO_INCLUDE_DIR AND SOPRANO_LIBRARIES AND SOPRANO_INDEX_LIBRARIES AND SOPRANO_SERVER_LIBRARIES)
- INCLUDE(FindLibraryWithDebug)
+ include(FindLibraryWithDebug)
- FIND_PATH(SOPRANO_INCLUDE_DIR
+ find_path(SOPRANO_INCLUDE_DIR
NAMES
soprano/soprano.h
PATHS
@@ -33,7 +40,7 @@
${INCLUDE_INSTALL_DIR}
)
- FIND_LIBRARY_WITH_DEBUG(SOPRANO_INDEX_LIBRARIES
+ find_library_with_debug(SOPRANO_INDEX_LIBRARIES
WIN32_DEBUG_POSTFIX d
NAMES
sopranoindex
@@ -42,7 +49,7 @@
${LIB_INSTALL_DIR}
)
- FIND_LIBRARY_WITH_DEBUG(SOPRANO_CLIENT_LIBRARIES
+ find_library_with_debug(SOPRANO_CLIENT_LIBRARIES
WIN32_DEBUG_POSTFIX d
NAMES
sopranoclient
@@ -51,7 +58,7 @@
${LIB_INSTALL_DIR}
)
- FIND_LIBRARY_WITH_DEBUG(SOPRANO_LIBRARIES
+ find_library_with_debug(SOPRANO_LIBRARIES
WIN32_DEBUG_POSTFIX d
NAMES soprano
PATHS
@@ -59,7 +66,7 @@
${LIB_INSTALL_DIR}
)
- FIND_LIBRARY_WITH_DEBUG(SOPRANO_SERVER_LIBRARIES
+ find_library_with_debug(SOPRANO_SERVER_LIBRARIES
WIN32_DEBUG_POSTFIX d
NAMES
sopranoserver
@@ -89,15 +96,15 @@
# check Soprano version
# We set a default for the minimum required version to be backwards compatible
- IF(NOT SOPRANO_MIN_VERSION)
- SET(SOPRANO_MIN_VERSION "1.99")
- ENDIF(NOT SOPRANO_MIN_VERSION)
+ if(NOT SOPRANO_MIN_VERSION)
+ set(SOPRANO_MIN_VERSION "1.99")
+ endif(NOT SOPRANO_MIN_VERSION)
if(Soprano_FOUND)
- FILE(READ ${SOPRANO_INCLUDE_DIR}/soprano/version.h SOPRANO_VERSION_CONTENT)
- STRING(REGEX MATCH "SOPRANO_VERSION_STRING \".*\"\n" SOPRANO_VERSION_MATCH ${SOPRANO_VERSION_CONTENT})
- IF (SOPRANO_VERSION_MATCH)
- STRING(REGEX REPLACE "SOPRANO_VERSION_STRING \"(.*)\"\n" "\\1" SOPRANO_VERSION ${SOPRANO_VERSION_MATCH})
+ file(READ ${SOPRANO_INCLUDE_DIR}/soprano/version.h SOPRANO_VERSION_CONTENT)
+ string(REGEX MATCH "SOPRANO_VERSION_STRING \".*\"\n" SOPRANO_VERSION_MATCH ${SOPRANO_VERSION_CONTENT})
+ if(SOPRANO_VERSION_MATCH)
+ string(REGEX REPLACE "SOPRANO_VERSION_STRING \"(.*)\"\n" "\\1" SOPRANO_VERSION ${SOPRANO_VERSION_MATCH})
if(SOPRANO_VERSION STRLESS "${SOPRANO_MIN_VERSION}")
set(Soprano_FOUND FALSE)
if(Soprano_FIND_REQUIRED)
@@ -106,15 +113,60 @@
message(STATUS "Soprano version ${SOPRANO_VERSION} is too old. Please install ${SOPRANO_MIN_VERSION} or newer")
endif(Soprano_FIND_REQUIRED)
endif(SOPRANO_VERSION STRLESS "${SOPRANO_MIN_VERSION}")
- ENDIF (SOPRANO_VERSION_MATCH)
+ endif(SOPRANO_VERSION_MATCH)
endif(Soprano_FOUND)
+ #look for parser plugins
+ if(Soprano_FOUND)
+ find_path(SOPRANO_PLUGIN_DIR
+ NAMES
+ soprano/plugins
+ PATHS
+ ${SHARE_INSTALL_PREFIX} /usr/share /usr/local/share
+ NO_DEFAULT_PATH
+ NO_SYSTEM_ENVIRONMENT_PATH
+ )
+ set(SOPRANO_PLUGIN_DIR "${SOPRANO_PLUGIN_DIR}/soprano/plugins")
+
+ if(EXISTS ${SOPRANO_PLUGIN_DIR}/nquadparser.desktop)
+ set(SOPRANO_PLUGIN_NQUADPARSER_FOUND TRUE)
+ set(_plugins "${_plugins} nquadparser")
+ endif(EXISTS ${SOPRANO_PLUGIN_DIR}/nquadparser.desktop)
+
+ if(EXISTS ${SOPRANO_PLUGIN_DIR}/nquadserializer.desktop)
+ set(SOPRANO_PLUGIN_NQUADSERIALIZER_FOUND TRUE)
+ set(_plugins "${_plugins} nquadserializer")
+ endif(EXISTS ${SOPRANO_PLUGIN_DIR}/nquadserializer.desktop)
+
+ if(EXISTS ${SOPRANO_PLUGIN_DIR}/raptorparser.desktop)
+ set(SOPRANO_PLUGIN_RAPTORPARSER_FOUND TRUE)
+ set(_plugins "${_plugins} raptorparser")
+ endif(EXISTS ${SOPRANO_PLUGIN_DIR}/raptorparser.desktop)
+
+ if(EXISTS ${SOPRANO_PLUGIN_DIR}/raptorserializer.desktop)
+ set(SOPRANO_PLUGIN_RAPTORSERIALIZER_FOUND TRUE)
+ set(_plugins "${_plugins} raptorserializer")
+ endif(EXISTS ${SOPRANO_PLUGIN_DIR}/raptorserializer.desktop)
+
+ if(EXISTS ${SOPRANO_PLUGIN_DIR}/redlandbackend.desktop)
+ set(SOPRANO_PLUGIN_REDLANDBACKEND_FOUND TRUE)
+ set(_plugins "${_plugins} redlandbackend")
+ endif(EXISTS ${SOPRANO_PLUGIN_DIR}/redlandbackend.desktop)
+
+ if(EXISTS ${SOPRANO_PLUGIN_DIR}/sesame2backend.desktop)
+ set(SOPRANO_PLUGIN_SESAME2BACKEND_FOUND TRUE)
+ set(_plugins "${_plugins} sesame2backend")
+ endif(EXISTS ${SOPRANO_PLUGIN_DIR}/sesame2backend.desktop)
+
+ endif(Soprano_FOUND)
+
if(Soprano_FOUND)
if(NOT Soprano_FIND_QUIETLY)
message(STATUS "Found Soprano: ${SOPRANO_LIBRARIES}")
message(STATUS "Found Soprano includes: ${SOPRANO_INCLUDE_DIR}")
message(STATUS "Found Soprano Index: ${SOPRANO_INDEX_LIBRARIES}")
message(STATUS "Found Soprano Client: ${SOPRANO_CLIENT_LIBRARIES}")
+ message(STATUS "Found Soprano Plugins:${_plugins}")
endif(NOT Soprano_FIND_QUIETLY)
else(Soprano_FOUND)
if(Soprano_FIND_REQUIRED)
diff --git a/modules/KDE4Defaults.cmake b/modules/KDE4Defaults.cmake
index 60c62e35..e2af0acd 100644
--- a/modules/KDE4Defaults.cmake
+++ b/modules/KDE4Defaults.cmake
@@ -29,10 +29,10 @@ endif (NOT CMAKE_SKIP_RPATH)
# define the generic version of the libraries here
# this makes it easy to advance it when the next KDE release comes
-set(GENERIC_LIB_VERSION "4.1.0")
+set(GENERIC_LIB_VERSION "4.2.0")
set(GENERIC_LIB_SOVERSION "4")
-set(KDE_NON_GENERIC_LIB_VERSION "5.1.0")
+set(KDE_NON_GENERIC_LIB_VERSION "5.2.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 768a36e2..7c57e6a4 100644
--- a/modules/KDE4Macros.cmake
+++ b/modules/KDE4Macros.cmake
@@ -552,13 +552,20 @@ macro (KDE4_ADD_PLUGIN _target_NAME _with_PREFIX)
endif (${_with_PREFIX} STREQUAL "WITH_PREFIX")
set(_SRCS ${_first_SRC} ${ARGN})
- kde4_handle_automoc(${_target_NAME} _SRCS)
+ if(MSVC)
+ add_automoc4_target("${_target_NAME}_automoc" _SRCS)
+ else(MSVC)
+ automoc4(${_target_NAME} _SRCS)
+ endif(MSVC)
if (KDE4_ENABLE_FINAL)
kde4_create_final_files(${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp _separate_files ${_SRCS})
add_library(${_target_NAME} MODULE ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp ${_separate_files})
else (KDE4_ENABLE_FINAL)
add_library(${_target_NAME} MODULE ${_SRCS})
endif (KDE4_ENABLE_FINAL)
+ if(MSVC)
+ add_dependencies(${_target_NAME} "${_target_NAME}_automoc")
+ endif(MSVC)
if (_first_SRC)
set_target_properties(${_target_NAME} PROPERTIES PREFIX "")
@@ -802,13 +809,20 @@ macro (KDE4_ADD_EXECUTABLE _target_NAME)
set(_add_executable_param ${_add_executable_param} EXCLUDE_FROM_ALL)
endif (_test AND NOT KDE4_BUILD_TESTS)
- kde4_handle_automoc(${_target_NAME} _SRCS)
+ if(MSVC)
+ add_automoc4_target("${_target_NAME}_automoc" _SRCS)
+ else(MSVC)
+ automoc4(${_target_NAME} _SRCS)
+ endif(MSVC)
if (KDE4_ENABLE_FINAL)
kde4_create_final_files(${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp _separate_files ${_SRCS})
add_executable(${_target_NAME} ${_add_executable_param} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp ${_separate_files})
else (KDE4_ENABLE_FINAL)
add_executable(${_target_NAME} ${_add_executable_param} ${_SRCS})
endif (KDE4_ENABLE_FINAL)
+ if(MSVC)
+ add_dependencies(${_target_NAME} "${_target_NAME}_automoc")
+ endif(MSVC)
if (_test)
set_target_properties(${_target_NAME} PROPERTIES COMPILE_FLAGS -DKDESRCDIR="\\"${CMAKE_CURRENT_SOURCE_DIR}\\"")
@@ -843,13 +857,20 @@ macro (KDE4_ADD_LIBRARY _target_NAME _lib_TYPE)
endif (${_lib_TYPE} STREQUAL "MODULE")
set(_SRCS ${_first_SRC} ${ARGN})
- kde4_handle_automoc(${_target_NAME} _SRCS)
+ if(MSVC)
+ add_automoc4_target("${_target_NAME}_automoc" _SRCS)
+ else(MSVC)
+ automoc4(${_target_NAME} _SRCS)
+ endif(MSVC)
if (KDE4_ENABLE_FINAL)
kde4_create_final_files(${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp _separate_files ${_SRCS})
add_library(${_target_NAME} ${_add_lib_param} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp ${_separate_files})
else (KDE4_ENABLE_FINAL)
add_library(${_target_NAME} ${_add_lib_param} ${_SRCS})
endif (KDE4_ENABLE_FINAL)
+ if(MSVC)
+ add_dependencies(${_target_NAME} "${_target_NAME}_automoc")
+ endif(MSVC)
kde4_handle_rpath_for_library(${_target_NAME})
@@ -1086,7 +1107,7 @@ endmacro (KDE4_ADD_APP_ICON)
macro(_KDE4_EXPORT_LIBRARY_DEPENDENCIES _append_or_write _filename)
- if(KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT AND UNIX )# AND NOT APPLE)
+# if(KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT AND UNIX )# AND NOT APPLE)
# get all cmake variables which end in _LIB_DEPENDS
# then parse the target name out of them
@@ -1098,9 +1119,7 @@ macro(_KDE4_EXPORT_LIBRARY_DEPENDENCIES _append_or_write _filename)
# Alex
file(${_append_or_write} "${_filename}" "# The following variables have been created by kde4_export_library_dependencies()
-# The contents have been determined from the LINK_INTERFACE_LIBRARIES target property of the respective libraries.
-# The option KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT has been enabled to create the file this way.
-# You can modify KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT using \"make edit_cache\"\n\n")
+# The contents have been determined from the LINK_INTERFACE_LIBRARIES target property of the respective libraries.\n\n")
get_cmake_property(allVars VARIABLES)
set(allLibs "")
foreach(currentVar ${allVars})
@@ -1113,7 +1132,7 @@ macro(_KDE4_EXPORT_LIBRARY_DEPENDENCIES _append_or_write _filename)
endif(NOT "${target}" STREQUAL "${currentVar}")
endforeach(currentVar ${allVars})
- endif(KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT AND UNIX)# AND NOT APPLE)
+# endif(KDE4_ENABLE_EXPERIMENTAL_LIB_EXPORT AND UNIX)# AND NOT APPLE)
endmacro(_KDE4_EXPORT_LIBRARY_DEPENDENCIES)
macro (_KDE4_TARGET_LINK_INTERFACE_LIBRARIES _target _interface_libs)
diff --git a/modules/MacroEnsureOutOfSourceBuild.cmake b/modules/MacroEnsureOutOfSourceBuild.cmake
index ef4d525f..cb26e0c3 100644
--- a/modules/MacroEnsureOutOfSourceBuild.cmake
+++ b/modules/MacroEnsureOutOfSourceBuild.cmake
@@ -1,5 +1,9 @@
# - MACRO_ENSURE_OUT_OF_SOURCE_BUILD(<errorMessage>)
# MACRO_ENSURE_OUT_OF_SOURCE_BUILD(<errorMessage>)
+# Call this macro in your project if you want to enforce out-of-source builds.
+# If an in-source build is detected, it will abort with the given error message.
+# This macro works in any of the CMakeLists.txt of your project, but the recommended
+# location to call this is close to the beginning of the top level CMakeLists.txt
# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
#
diff --git a/modules/MacroOptionalAddSubdirectory.cmake b/modules/MacroOptionalAddSubdirectory.cmake
index b0d565c2..9566bb4c 100644
--- a/modules/MacroOptionalAddSubdirectory.cmake
+++ b/modules/MacroOptionalAddSubdirectory.cmake
@@ -19,7 +19,11 @@
MACRO (MACRO_OPTIONAL_ADD_SUBDIRECTORY _dir )
GET_FILENAME_COMPONENT(_fullPath ${_dir} ABSOLUTE)
IF(EXISTS ${_fullPath})
- OPTION(BUILD_${_dir} "Build directory ${_dir}" TRUE)
+ SET(_DEFAULT_OPTION_VALUE TRUE)
+ IF(DISABLE_ALL_OPTIONAL_SUBDIRS)
+ SET(_DEFAULT_OPTION_VALUE FALSE)
+ ENDIF(DISABLE_ALL_OPTIONAL_SUBDIRS)
+ OPTION(BUILD_${_dir} "Build directory ${_dir}" ${_DEFAULT_OPTION_VALUE})
IF(BUILD_${_dir})
ADD_SUBDIRECTORY(${_dir})
ENDIF(BUILD_${_dir})
diff --git a/modules/potential_problems b/modules/potential_problems
deleted file mode 100644
index b4558a21..00000000
--- a/modules/potential_problems
+++ /dev/null
@@ -1,2 +0,0 @@
-/CMakeLists.txt find_package(Perl REQUIRED)
-KDE4_AUTOMOC: -DQ_WS_X11