diff options
| -rw-r--r-- | modules/FindKDE4Internal.cmake | 1766 | 
1 files changed, 883 insertions, 883 deletions
| diff --git a/modules/FindKDE4Internal.cmake b/modules/FindKDE4Internal.cmake index ab9b97cc..adf9410e 100644 --- a/modules/FindKDE4Internal.cmake +++ b/modules/FindKDE4Internal.cmake @@ -1,883 +1,883 @@ -# - Find the KDE4 include and library dirs, KDE preprocessors and define a some macros
 -#
 -# This module defines the following variables:
 -#
 -# KDE4_FOUND               - set to TRUE if everything required for building KDE software has been found
 -#
 -# KDE4_DEFINITIONS         - compiler definitions required for compiling KDE software
 -# KDE4_INCLUDE_DIR         - the KDE 4 include directory
 -# KDE4_INCLUDES            - all include directories required for KDE, i.e.
 -#                            KDE4_INCLUDE_DIR, but also the Qt4 include directories
 -#                            and other platform specific include directories
 -# KDE4_LIB_DIR             - the directory where the KDE libraries are installed,
 -#                            intended to be used with LINK_DIRECTORIES()
 -#
 -# The following variables are defined for the various tools required to
 -# compile KDE software:
 -#
 -# KDE4_KCFGC_EXECUTABLE    - the kconfig_compiler executable
 -# KDE4_MEINPROC_EXECUTABLE - the meinproc4 executable
 -# KDE4_MAKEKDEWIDGETS_EXECUTABLE - the makekdewidgets executable
 -#
 -# The following variables point to the location of the KDE libraries,
 -# but shouldn't be used directly:
 -#
 -# KDE4_KDECORE_LIBRARY     - the kdecore library
 -# KDE4_KDEUI_LIBRARY       - the kdeui library
 -# KDE4_KIO_LIBRARY         - the kio library
 -# KDE4_KPARTS_LIBRARY      - the kparts library
 -# KDE4_KUTILS_LIBRARY      - the kutils library
 -# KDE4_KDE3SUPPORT_LIBRARY - the kde3support library
 -# KDE4_KFILE_LIBRARY       - the kfile library
 -# KDE4_KHTML_LIBRARY       - the khtml library
 -# KDE4_KJS_LIBRARY         - the kjs library
 -# KDE4_KNEWSTUFF2_LIBRARY  - the knewstuff2 library
 -# KDE4_KDEPRINT_LIBRARY    - the kdeprint library
 -# KDE4_KDNSSD_LIBRARY      - the kdnssd library
 -# KDE4_PHONON_LIBRARY      - the phonon library
 -# KDE4_KAUDIODEVICELIST_LIBRARY - the kaudiodevicelist library
 -# KDE4_KDEFX_LIBRARY       - the kdefx library
 -# KDE4_THREADWEAVER_LIBRARY- the threadweaver library
 -# KDE4_SOLID_LIBRARY       - the solid library
 -# KDE4_KNOTIFYCONFIG_LIBRARY- the knotifyconfig library
 -# KDE4_KROSSCORE_LIBRARY   - the krosscore library
 -# KDE4_KTEXTEDITOR_LIBRARY - the ktexteditor library
 -# KDE4_KNEPOMUK_LIBRARY    - the knepomuk library
 -# KDE4_KMETADATA_LIBRARY   - the kmetadata 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_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_KFILE_LIBS            - the kfile 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_KNEWSTUFF2_LIBS       - the knewstuff2 library and all depending libraries
 -# KDE4_KDEPRINT_LIBS         - the kdeprint library and all depending libraries
 -# KDE4_KDNSSD_LIBS           - the kdnssd library and all depending libraries
 -# KDE4_KDESU_LIBS            - the kdesu library and all depending libraries
 -# KDE4_PHONON_LIBS           - the phonon library and all depending librairies
 -# KDE4_KDEFX_LIBS            - the kdefx library and all depending librairies
 -# KDE4_THREADWEAVER_LIBRARIES- the threadweaver library and all depending libraries
 -# KDE4_SOLID_LIBS            - the solid library and all depending libraries
 -# KDE4_KNOTIFYCONFIG_LIBS    - the knotify config library and all depending libraries
 -# KDE4_KROSSCORE_LIBS        - the kross core library and all depending libraries
 -# KDE4_KROSSUI_LIBS          - the kross ui library which includes core and all depending libraries
 -# KDE4_KTEXTEDITOR_LIBS      - the ktexteditor library and all depending libraries
 -# KDE4_KNEPOMUK_LIBS         - the knepomuk library and all depending libraries
 -# KDE4_KMETADATA_LIBS        - the kmetadata library and all depending libraries
 -#
 -# This module defines a bunch of variables used as locations
 -# for install directories. They are all interpreted relative
 -# to CMAKE_INSTALL_PREFIX
 -#
 -# BIN_INSTALL_DIR          - the directory where executables be installed (default is prefix/bin)
 -# SBIN_INSTALL_DIR         - the directory where system executables will be installed (default is prefix/sbin)
 -# LIB_INSTALL_DIR          - the directory where libraries will be installed (default is prefix/lib)
 -# CONFIG_INSTALL_DIR       - the config file install dir
 -# DATA_INSTALL_DIR         - the parent directory where applications can install their data
 -# HTML_INSTALL_DIR         - the HTML install dir for documentation
 -# ICON_INSTALL_DIR         - the icon install dir (default prefix/share/icons/)
 -# INFO_INSTALL_DIR         - the kde info install dir (default prefix/info)
 -# KCFG_INSTALL_DIR         - the install dir for kconfig files
 -# LOCALE_INSTALL_DIR       - the install dir for translations
 -# MAN_INSTALL_DIR          - the kde man page install dir (default prefix/man/)
 -# MIME_INSTALL_DIR         - the install dir for the mimetype desktop files
 -# PLUGIN_INSTALL_DIR       - the subdirectory relative to the install prefix where plugins will be installed (default is ${KDE4_LIB_INSTALL_DIR}/kde4)
 -# SERVICES_INSTALL_DIR     - the install dir for service (desktop, protocol, ...) files
 -# SERVICETYPES_INSTALL_DIR - the install dir for servicestypes desktop files
 -# SOUND_INSTALL_DIR        - the install dir for sound files
 -# TEMPLATES_INSTALL_DIR    - the install dir for templates (Create new file...)
 -# WALLPAPER_INSTALL_DIR    - the install dir for wallpapers
 -# KCONF_UPDATE_INSTALL_DIR - the kconf_update install dir
 -# XDG_APPS_DIR             - the XDG apps dir
 -# XDG_DIRECTORY_DIR        - the XDG directory
 -# DBUS_INTERFACES_DIR      - the directory where dbus interfaces be installed (default is prefix/share/dbus-1/interfaces)
 -# DBUS_SERVICES_DIR        - the directory where dbus services be installed (default is prefix/share/dbus-1/services )
 -#
 -# The following variables are provided, but are seem to be unused:
 -# LIBS_HTML_INSTALL_DIR    /share/doc/HTML            CACHE STRING "Is this still used ?")
 -# APPLNK_INSTALL_DIR       /share/applnk              CACHE STRING "Is this still used ?")
 -#
 -# The following user adjustable options are provided:
 -#
 -# KDE4_ENABLE_FINAL - enable KDE-style enable-final all-in-one-compilation
 -# KDE4_BUILD_TESTS  - enable this to build the testcases
 -# KDE4_ENABLE_FPIE  - enable it to use gcc Position Independent Executables feature
 -#
 -# It also adds the following macros (from KDE4Macros.cmake)
 -# KDE4_ADD_UI_FILES (SRCS_VAR file1.ui ... fileN.ui)
 -#    Use this to add Qt designer ui files to your application/library.
 -#
 -# KDE4_ADD_UI3_FILES (SRCS_VAR file1.ui ... fileN.ui)
 -#    Use this to add Qt designer ui files from Qt version 3 to your application/library.
 -#
 -# KDE4_ADD_KCFG_FILES (SRCS_VAR [GENERATE_MOC] file1.kcfgc ... fileN.kcfgc)
 -#    Use this to add KDE config compiler files to your application/library.
 -#    Use optional GENERATE_MOC to generate moc if you use signals in your kcfg files.
 -#
 -# KDE4_ADD_WIDGET_FILES (SRCS_VAR file1.widgets ... fileN.widgets)
 -#    Use this to add widget description files for the makekdewidgets code generator
 -#    for Qt Designer plugins.
 -#
 -# KDE4_AUTOMOC(file1 ... fileN)
 -#    Call this if you want to have automatic moc file handling.
 -#    This means if you include "foo.moc" in the source file foo.cpp
 -#    a moc file for the header foo.h will be created automatically.
 -#    You can set the property SKIP_AUTOMAKE using SET_SOURCE_FILES_PROPERTIES()
 -#    to exclude some files in the list from being processed.
 -#    If you don't want automoc, you can also use QT4_WRAP_CPP() or QT4_GENERATE_MOC()
 -#    from FindQt4.cmake to have the moc files generated. This will be faster
 -#    but require more manual work.
 -#
 -# KDE4_INSTALL_LIBTOOL_FILE ( subdir target )
 -#    This will create and install a simple libtool file for the
 -#    given target. This might be required for other software.
 -#    The libtool file will be install in subdir, relative to CMAKE_INSTALL_PREFIX .
 -#
 -# KDE4_CREATE_FINAL_FILES (filename_CXX filename_C file1 ... fileN)
 -#    This macro is intended mainly for internal uses.
 -#    It is used for enable-final. It will generate two source files,
 -#    one for the C files and one for the C++ files.
 -#    These files will have the names given in filename_CXX and filename_C.
 -#
 -# KDE4_ADD_PLUGIN ( name [WITH_PREFIX] file1 ... fileN )
 -#    Create a KDE plugin (KPart, kioslave, etc.) from the given source files.
 -#    It supports KDE4_ENABLE_FINAL.
 -#    If WITH_PREFIX is given, the resulting plugin will have the prefix "lib", otherwise it won't.
 -#    It creates and installs an appropriate libtool la-file.
 -#
 -# KDE4_ADD_KDEINIT_EXECUTABLE (name [NOGUI] [RUN_UNINSTALLED] file1 ... fileN)
 -#    Create a KDE application in the form of a module loadable via kdeinit.
 -#    A library named kdeinit_<name> will be created and a small executable which links to it.
 -#    It supports KDE4_ENABLE_FINAL
 -#    If the executable has to be run from the buildtree (e.g. unit tests and code generators
 -#    used later on when compiling), set the option RUN_UNINSTALLED.
 -#    If the executable doesn't have a GUI, use the option NOGUI. By default on OS X
 -#    application bundles are created, with the NOGUI option no bundles but simple executables
 -#    are created. Currently it doesn't have any effect on other platforms.
 -#
 -# KDE4_ADD_EXECUTABLE (name [NOGUI] [RUN_UNINSTALLED] file1 ... fileN)
 -#    Equivalent to ADD_EXECUTABLE(), but additionally adds some more features:
 -#    -support for KDE4_ENABLE_FINAL
 -#    -support for automoc
 -#    -automatic RPATH handling
 -#    If the executable has to be run from the buildtree (e.g. unit tests and code generators
 -#    used later on when compiling), set the option RUN_UNINSTALLED.
 -#    If the executable doesn't have a GUI, use the option NOGUI. By default on OS X
 -#    application bundles are created, with the NOGUI option no bundles but simple executables
 -#    are created. Currently it doesn't have any effect on other platforms.
 -#
 -# KDE4_ADD_LIBRARY (name [STATIC | SHARED | MODULE ] file1 ... fileN)
 -#    Equivalent to ADD_LIBRARY(), but additionally it supports KDE4_ENABLE_FINAL
 -#    and under Windows it adds a -DMAKE_<name>_LIB definition to the compilation.
 -#
 -# KDE4_ADD_UNIT_TEST (testname [TESTNAME targetname] file1 ... fileN)
 -#    add a unit test, which is executed when running make test
 -#    it will be built with RPATH poiting to the build dir
 -#    The targets are always created, but only built for the "all"
 -#    target if the option KDE4_BUILD_TESTS is enabled. Otherwise the rules for the target
 -#    are created but not built by default. You can build them by manually building the target.
 -#    The name of the target can be specified using TESTNAME <targetname>, if it is not given
 -#    the macro will default to the <testname>
 -#
 -# KDE4_ADD_TEST_EXECUTABLE (name file1 ... fileN)
 -#    add an test executable
 -#    it will be built with RPATH poiting to the build dir
 -#    The targets are always created, but only built for the "all"
 -#    target if the option KDE4_BUILD_TESTS is enabled. Otherwise the rules for the target
 -#    are created but not built by default. You can build them by manually building the target.
 -# KDE4_INSTALL_ICONS( path theme)
 -#    Installs all png and svgz files in the current directory to the icon
 -#    directoy given in path, in the subdirectory for the given icon theme.
 -#
 -# KDE4_CREATE_HANDBOOK( docbookfile )
 -#   Create the handbook from the docbookfile (using meinproc)
 -#
 -# KDE4_INSTALL_HANDBOOK()
 -#   Install the handbook documentation
 -#
 -# KDE4_CREATE_HTML_HANDBOOK( docbookfile )
 -#   Create HTML version of the handbook from the docbookfile (using meinproc)
 -#
 -# _KDE4_PLATFORM_INCLUDE_DIRS is used only internally
 -# _KDE4_PLATFORM_DEFINITIONS is used only internally
 -#
 -#
 -# Copyright (c) 2006, Alexander Neundorf <neundorf@kde.org>
 -# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
 -#
 -# Redistribution and use is allowed according to the terms of the BSD license.
 -# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
 -
 -
 -include (MacroEnsureVersion)
 -
 -cmake_minimum_required(VERSION 2.4.5 FATAL_ERROR)
 -
 -set(QT_MIN_VERSION "4.3.0")
 -#this line includes FindQt4.cmake, which searches the Qt library and headers
 -find_package(Qt4 REQUIRED)
 -
 -if (NOT QT_DBUSXML2CPP_EXECUTABLE)
 -    message(FATAL_ERROR "Qt4 qdbusxml2cpp was not found. Make sure it has been built and installed by Qt")
 -endif (NOT QT_DBUSXML2CPP_EXECUTABLE)
 -
 -
 -# Perl is required for building KDE software,
 -find_package(Perl REQUIRED)
 -
 -include (MacroLibrary)
 -include (CheckCXXCompilerFlag)
 -include (CheckCXXSourceCompiles)
 -
 -#add some KDE specific stuff
 -
 -# the following are directories where stuff will be installed to
 -set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
 -
 -#are we trying to compile kdelibs ?
 -#then enter bootstrap mode
 -if(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kernel/kglobal.h)
 -   set(_kdeBootStrapping TRUE)
 -   message(STATUS "Building kdelibs...")
 -else(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kernel/kglobal.h)
 -   set(_kdeBootStrapping FALSE)
 -endif(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kernel/kglobal.h)
 -
 -# get the directory of the current file, used later on in the file
 -get_filename_component( kde_cmake_module_dir  ${CMAKE_CURRENT_LIST_FILE} PATH)
 -
 -
 -if (NOT _kdeBootStrapping)
 -  # this file contains all dependencies of all libraries of kdelibs, Alex
 -  include(${kde_cmake_module_dir}/KDELibsDependencies.cmake)
 -endif (NOT _kdeBootStrapping)
 -
 -# this macro implements some very special logic how to deal with the cache
 -# by default the various install locations inherit their value from theit "parent" variable
 -# so if you set CMAKE_INSTALL_PREFIX, then EXEC_INSTALL_PREFIX, PLUGIN_INSTALL_DIR will
 -# calculate their value by appending subdirs to CMAKE_INSTALL_PREFIX
 -# this would work completely without using the cache.
 -# but if somebody wants e.g. a different EXEC_INSTALL_PREFIX this value has to go into
 -# the cache, otherwise it will be forgotten on the next cmake run.
 -# Once a variable is in the cache, it doesn't depend on its "parent" variables
 -# anymore and you can only change it by editing it directly.
 -# this macro helps in this regard, because as long as you don't set one of the
 -# variables explicitely to some location, it will always calculate its value from its
 -# parents. So modifying CMAKE_INSTALL_PREFIX later on will have the desired effect.
 -# But once you decide to set e.g. EXEC_INSTALL_PREFIX to some special location
 -# this will go into the cache and it will no longer depend on CMAKE_INSTALL_PREFIX.
 -#
 -# additionally if installing to the same location as kdelibs, the other install
 -# directories are reused from the installed kdelibs
 -macro(_SET_FANCY _var _value _comment)
 -   set(predefinedvalue "${_value}")
 -   if ("${CMAKE_INSTALL_PREFIX}" STREQUAL "${KDE4_INSTALL_DIR}" AND DEFINED KDE4_${_var})
 -      set(predefinedvalue "${KDE4_${_var}}")
 -   endif ("${CMAKE_INSTALL_PREFIX}" STREQUAL "${KDE4_INSTALL_DIR}" AND DEFINED KDE4_${_var})
 -
 -   if (NOT DEFINED ${_var})
 -      set(${_var} ${predefinedvalue})
 -   else (NOT DEFINED ${_var})
 -      set(${_var} "${${_var}}" CACHE PATH "${_comment}")
 -   endif (NOT DEFINED ${_var})
 -endmacro(_SET_FANCY)
 -
 -if (WIN32)
 -    # use relative install prefix to avoid hardcoded install pathes in cmake_install.cmake files
 -   _set_fancy(EXEC_INSTALL_PREFIX  ""                                        "Base directory for executables and libraries")
 -   _set_fancy(SHARE_INSTALL_PREFIX "share"                                   "Base directory for files which go to share/")
 -   _set_fancy(BIN_INSTALL_DIR      "bin"                                     "The install dir for executables (default ${EXEC_INSTALL_PREFIX}/bin)")
 -   _set_fancy(SBIN_INSTALL_DIR     "sbin"                                    "The install dir for system executables (default ${EXEC_INSTALL_PREFIX}/sbin)")
 -   _set_fancy(LIB_INSTALL_DIR      "lib${LIB_SUFFIX}"                        "The subdirectory relative to the install prefix where libraries will be installed (default is ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX})")
 -   _set_fancy(LIBEXEC_INSTALL_DIR  "${BIN_INSTALL_DIR}"                      "The subdirectory relative to the install prefix where libraries will be installed (default is ${BIN_INSTALL_DIR})")
 -   _set_fancy(INCLUDE_INSTALL_DIR  "include"                                 "The subdirectory to the header prefix")
 -else (WIN32)
 -   _set_fancy(EXEC_INSTALL_PREFIX  "${CMAKE_INSTALL_PREFIX}"                 "Base directory for executables and libraries")
 -   _set_fancy(SHARE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/share"           "Base directory for files which go to share/")
 -   _set_fancy(BIN_INSTALL_DIR      "${EXEC_INSTALL_PREFIX}/bin"              "The install dir for executables (default ${EXEC_INSTALL_PREFIX}/bin)")
 -   _set_fancy(SBIN_INSTALL_DIR     "${EXEC_INSTALL_PREFIX}/sbin"             "The install dir for system executables (default ${EXEC_INSTALL_PREFIX}/sbin)")
 -   _set_fancy(LIB_INSTALL_DIR      "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" "The subdirectory relative to the install prefix where libraries will be installed (default is ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX})")
 -   _set_fancy(LIBEXEC_INSTALL_DIR  "${LIB_INSTALL_DIR}/kde4/libexec"         "The subdirectory relative to the install prefix where libraries will be installed (default is ${LIB_INSTALL_DIR}/kde4/libexec)")
 -   _set_fancy(INCLUDE_INSTALL_DIR  "${CMAKE_INSTALL_PREFIX}/include"         "The subdirectory to the header prefix")
 -endif (WIN32)
 -
 -_set_fancy(PLUGIN_INSTALL_DIR       "${LIB_INSTALL_DIR}/kde4"              "The subdirectory relative to the install prefix where plugins will be installed (default is ${LIB_INSTALL_DIR}/kde4)")
 -_set_fancy(CONFIG_INSTALL_DIR       "${SHARE_INSTALL_PREFIX}/config"       "The config file install dir")
 -_set_fancy(DATA_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/apps"         "The parent directory where applications can install their data")
 -_set_fancy(HTML_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/doc/HTML"     "The HTML install dir for documentation")
 -_set_fancy(ICON_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/icons"        "The icon install dir (default ${SHARE_INSTALL_PREFIX}/share/icons/)")
 -_set_fancy(KCFG_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/config.kcfg"  "The install dir for kconfig files")
 -_set_fancy(LOCALE_INSTALL_DIR       "${SHARE_INSTALL_PREFIX}/locale"       "The install dir for translations")
 -_set_fancy(MIME_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/mimelnk"      "The install dir for the mimetype desktop files")
 -
 -# To help with the migration issue, this uses set instead of _set_fancy, temporarily.
 -# (Otherwise all modules would keep installing into the old dirs)
 -# This can be reverted starting from May 2007
 -set(SERVICES_INSTALL_DIR     "${SHARE_INSTALL_PREFIX}/kde4/services")
 -set(SERVICETYPES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/kde4/servicetypes")
 -#_set_fancy(SERVICES_INSTALL_DIR     "${SHARE_INSTALL_PREFIX}/kde4/services"     "The install dir for service (desktop, protocol, ...) files")
 -#_set_fancy(SERVICETYPES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/kde4/servicetypes" "The install dir for servicestypes desktop files")
 -
 -_set_fancy(SOUND_INSTALL_DIR        "${SHARE_INSTALL_PREFIX}/sounds"       "The install dir for sound files")
 -_set_fancy(TEMPLATES_INSTALL_DIR    "${SHARE_INSTALL_PREFIX}/templates"    "The install dir for templates (Create new file...)")
 -_set_fancy(WALLPAPER_INSTALL_DIR    "${SHARE_INSTALL_PREFIX}/wallpapers"   "The install dir for wallpapers")
 -_set_fancy(KCONF_UPDATE_INSTALL_DIR "${DATA_INSTALL_DIR}/kconf_update"     "The kconf_update install dir")
 - # this one shouldn't be used anymore
 -_set_fancy(APPLNK_INSTALL_DIR       "${SHARE_INSTALL_PREFIX}/applnk"       "Is this still used ?")
 -_set_fancy(AUTOSTART_INSTALL_DIR    "${SHARE_INSTALL_PREFIX}/autostart"    "The install dir for autostart files")
 -
 -_set_fancy(XDG_APPS_DIR             "${SHARE_INSTALL_PREFIX}/applications/kde4"    "The XDG apps dir")
 -_set_fancy(XDG_DIRECTORY_DIR        "${SHARE_INSTALL_PREFIX}/desktop-directories" "The XDG directory")
 -
 -_set_fancy(SYSCONF_INSTALL_DIR      "${CMAKE_INSTALL_PREFIX}/etc"          "The kde sysconfig install dir (default /etc)")
 -_set_fancy(MAN_INSTALL_DIR          "${CMAKE_INSTALL_PREFIX}/man"          "The kde man install dir (default ${CMAKE_INSTALL_PREFIX}/man/)")
 -_set_fancy(INFO_INSTALL_DIR         "${CMAKE_INSTALL_PREFIX}/info"         "The kde info install dir (default ${CMAKE_INSTALL_PREFIX}/info)")
 -_set_fancy(DBUS_INTERFACES_DIR      "${SHARE_INSTALL_PREFIX}/dbus-1/interfaces" "The kde dbus interfaces install dir (default  ${SHARE_INSTALL_PREFIX}/dbus-1/interfaces)")
 -_set_fancy(DBUS_SERVICES_DIR      "${SHARE_INSTALL_PREFIX}/dbus-1/services" "The kde dbus services install dir (default  ${SHARE_INSTALL_PREFIX}/dbus-1/services)")
 -
 -#################################
 -
 -
 -# the following are directories where stuff will be installed to
 -
 -
 -option(KDE4_ENABLE_FINAL "Enable final all-in-one compilation")
 -option(KDE4_BUILD_TESTS  "Build the tests")
 -
 -if( KDE4_ENABLE_FINAL)
 -   add_definitions(-DKDE_USE_FINAL)
 -endif(KDE4_ENABLE_FINAL)
 -
 -#Position-Independent-Executable is a feature of Binutils, Libc, and GCC that creates an executable
 -#which is something between a shared library and a normal executable.
 -#Programs compiled with these features appear as ?shared object? with the file command.
 -#info from "http://www.linuxfromscratch.org/hlfs/view/unstable/glibc/chapter02/pie.html"
 -option(KDE4_ENABLE_FPIE  "Enable platform supports PIE linking")
 -
 -#now try to find some kde stuff
 -
 -if (_kdeBootStrapping)
 -   set(KDE4_INCLUDE_DIR ${CMAKE_SOURCE_DIR})
 -   set(KDE4_KDECORE_LIBS ${QT_QTCORE_LIBRARY} kdecore)
 -   set(KDE4_KDEUI_LIBS ${KDE4_KDECORE_LIBS} kdeui)
 -   set(KDE4_KIO_LIBS ${KDE4_KDEUI_LIBS} kio)
 -   set(KDE4_KPARTS_LIBS ${KDE4_KIO_LIBS} kparts)
 -   set(KDE4_KUTILS_LIBS ${KDE4_KIO_LIBS} kutils)
 -   set(KDE4_KDE3SUPPORT_LIBS ${KDE4_KIO_LIBS} kde3support)
 -   set(KDE4_KDEFX_LIBS ${KDE4_KDEFX_LIBS} kdefx)
 -   set(KDE4_SOLID_LIBS ${KDE4_KDECORE_LIBS} solid)
 -   set(KDE4_PHONON_LIBS ${QT_QTDBUS_LIBRARY} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} phonon)
 -   set(KDE4_KAUDIODEVICELIST_LIBS ${KDE4_SOLID_LIBS} kaudiodevicelist)
 -   set(KDE4_KFILE_LIBS ${KDE4_KDE3SUPPORT_LIBS} kfile)
 -   set(KDE4_KHTML_LIBS ${KDE4_KPARTS_LIBS} khtml)
 -
 -   set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin )
 -
 -   if (WIN32)
 -      set(LIBRARY_OUTPUT_PATH  ${EXECUTABLE_OUTPUT_PATH} )
 -      # CMAKE_CFG_INTDIR is the output subdirectory created e.g. by XCode and MSVC
 -      set(KDE4_KCFGC_EXECUTABLE       ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler )
 -      set(KDE4_MEINPROC_EXECUTABLE    ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/meinproc4 )
 -      set(KDE4_MAKEKDEWIDGETS_EXECUTABLE    ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/makekdewidgets )
 -   else (WIN32)
 -      set(LIBRARY_OUTPUT_PATH  ${CMAKE_BINARY_DIR}/lib )
 -      set(KDE4_KCFGC_EXECUTABLE       ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler.shell )
 -      set(KDE4_MEINPROC_EXECUTABLE    ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/meinproc4.shell )
 -      set(KDE4_MAKEKDEWIDGETS_EXECUTABLE    ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/makekdewidgets.shell )
 -   endif (WIN32)
 -
 -   set(KDE4_LIB_DIR ${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR})
 -
 -   # when building kdelibs, make the kcfg rules depend on the binaries...
 -   set( _KDE4_KCONFIG_COMPILER_DEP kconfig_compiler)
 -   set( _KDE4_MAKEKDEWIDGETS_DEP makekdewidgets)
 -   set( _KDE4_MEINPROC_EXECUTABLE_DEP meinproc4)
 -
 -   set(KDE4_INSTALLED_VERSION_OK TRUE)
 -
 -else (_kdeBootStrapping)
 -
 -  # ... but NOT otherwise
 -   set( _KDE4_KCONFIG_COMPILER_DEP)
 -   set( _KDE4_MAKEKDEWIDGETS_DEP)
 -   set( _KDE4_MEINPROC_EXECUTABLE_DEP)
 -
 -   # Check the version of kde. KDE4_KDECONFIG_EXECUTABLE was set by FindKDE4
 -   exec_program(${KDE4_KDECONFIG_EXECUTABLE} ARGS "--version" OUTPUT_VARIABLE kdeconfig_output )
 -
 -   string(REGEX MATCH "KDE: [0-9]+\\.[0-9]+\\.[0-9]+" KDEVERSION "${kdeconfig_output}")
 -   if (KDEVERSION)
 -
 -      string(REGEX REPLACE "^KDE: " "" KDEVERSION "${KDEVERSION}")
 -
 -      # we need at least this version:
 -      if (NOT KDE_MIN_VERSION)
 -         set(KDE_MIN_VERSION "3.9.0")
 -      endif (NOT KDE_MIN_VERSION)
 -
 -      #message(STATUS "KDE_MIN_VERSION=${KDE_MIN_VERSION}  found ${KDEVERSION}")
 -
 -      macro_ensure_version( ${KDE_MIN_VERSION} ${KDEVERSION} KDE4_INSTALLED_VERSION_OK )
 -
 -   else (KDEVERSION)
 -      message(FATAL_ERROR "Couldn't parse KDE version string from the kde4-config output:\n${kdeconfig_output}")
 -   endif (KDEVERSION)
 -
 -
 -   set(LIBRARY_OUTPUT_PATH  ${CMAKE_BINARY_DIR}/lib )
 -
 -   # this file contains all dependencies of all libraries of kdelibs, Alex
 -   include(${kde_cmake_module_dir}/KDELibsDependencies.cmake)
 -
 -   find_library(KDE4_KDEFAKES_LIBRARY NAMES kdefakes PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KDEFAKES_LIBS ${kdefakes_LIB_DEPENDS} ${KDE4_KDEFAKES_LIBRARY} )
 -
 -   find_library(KDE4_KDECORE_LIBRARY NAMES kdecore PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KDECORE_LIBS ${kdecore_LIB_DEPENDS} ${KDE4_KDECORE_LIBRARY} )
 -
 -   find_library(KDE4_KDEFX_LIBRARY NAMES kdefx PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KDEFX_LIBS ${kdefx_LIB_DEPENDS} ${KDE4_KDEFX_LIBRARY} )
 -
 -   find_library(KDE4_KDEUI_LIBRARY NAMES kdeui PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KDEUI_LIBS ${kdeui_LIB_DEPENDS} ${KDE4_KDEUI_LIBRARY} )
 -
 -   find_library(KDE4_KIO_LIBRARY NAMES kio PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KIO_LIBS ${kio_LIB_DEPENDS} ${KDE4_KIO_LIBRARY} )
 -
 -   find_library(KDE4_KPARTS_LIBRARY NAMES kparts PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KPARTS_LIBS ${kparts_LIB_DEPENDS} ${KDE4_KPARTS_LIBRARY} )
 -
 -   find_library(KDE4_KUTILS_LIBRARY NAMES kutils PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KUTILS_LIBS ${kutils_LIB_DEPENDS} ${KDE4_KUTILS_LIBRARY} )
 -
 -   find_library(KDE4_KDE3SUPPORT_LIBRARY NAMES kde3support PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KDE3SUPPORT_LIBS ${kde3support_LIB_DEPENDS} ${KDE4_KDE3SUPPORT_LIBRARY} )
 -
 -   find_library(KDE4_KFILE_LIBRARY NAMES kfile PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KFILE_LIBS ${kfile_LIB_DEPENDS} ${KDE4_KFILE_LIBRARY} )
 -
 -   find_library(KDE4_KHTML_LIBRARY NAMES khtml PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KHTML_LIBS ${khtml_LIB_DEPENDS} ${KDE4_KHTML_LIBRARY} )
 -
 -   find_library(KDE4_KJS_LIBRARY NAMES kjs PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KJS_LIBS ${kjs_LIB_DEPENDS} ${KDE4_KJS_LIBRARY} )
 -
 -   find_library(KDE4_KNEWSTUFF2_LIBRARY NAMES knewstuff2 PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KNEWSTUFF2_LIBS ${knewstuff2_LIB_DEPENDS} ${KDE4_KNEWSTUFF2_LIBRARY} )
 -
 -   find_library(KDE4_KDEPRINT_LIBRARY NAMES kdeprint PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KDEPRINT_LIBS ${kdeprint_LIB_DEPENDS} ${KDE4_KDEPRINT_LIBRARY} )
 -
 -   if (UNIX)
 -      find_library(KDE4_KDESU_LIBRARY NAMES kdesu PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -      set(KDE4_KDESU_LIBS ${kdesu_LIB_DEPENDS} ${KDE4_KDESU_LIBRARY} )
 -   endif (UNIX)
 -
 -   find_library(KDE4_KDNSSD_LIBRARY NAMES kdnssd PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KDNSSD_LIBS ${kdnssd_LIB_DEPENDS} ${KDE4_KDNSSD_LIBRARY} )
 -
 -   find_library(KDE4_PHONON_LIBRARY NAMES phonon PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_PHONON_LIBS ${phonon_LIB_DEPENDS} ${KDE4_PHONON_LIBRARY} )
 -
 -   find_library(KDE4_KAUDIODEVICELIST_LIBRARY NAMES kaudiodevicelist PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KAUDIODEVICELIST_LIBS ${kaudiodevicelist_LIB_DEPENDS} ${KDE4_KAUDIODEVICELIST_LIBRARY} )
 -
 -   find_library(KDE4_SOLID_LIBRARY NAMES solid PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_SOLID_LIBS ${solid_LIB_DEPENDS} ${KDE4_SOLID_LIBRARY} )
 -
 -   find_library(KDE4_THREADWEAVER_LIBRARY NAMES threadweaver PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_THREADWEAVER_LIBRARIES ${threadweaver_LIB_DEPENDS} ${KDE4_THREADWEAVER_LIBRARY} )
 -
 -   find_library(KDE4_KNOTIFYCONFIG_LIBRARY NAMES knotifyconfig PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KNOTIFYCONFIG_LIBS ${knotifyconfig_LIB_DEPENDS} ${KDE4_KNOTIFYCONFIG_LIBRARY} )
 -
 -   find_library(KDE4_KROSSCORE_LIBRARY NAMES krosscore PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KROSSCORE_LIBS ${krosscore_LIB_DEPENDS} ${KDE4_KROSSCORE_LIBRARY} )
 -   find_library(KDE4_KROSSUI_LIBRARY NAMES krossui PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KROSSUI_LIBS ${krossui_LIB_DEPENDS} ${KDE4_KROSSCORE_LIBS} ${KDE4_KROSSUI_LIBRARY} )
 -
 -   find_library(KDE4_KTEXTEDITOR_LIBRARY NAMES ktexteditor PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   set(KDE4_KTEXTEDITOR_LIBS ${ktexteditor_LIB_DEPENDS} ${KDE4_KTEXTEDITOR_LIBRARY} )
 -
 -   # Can't do that, it's not always compiled.
 -   #find_library(KDE4_KNEPOMUK_LIBRARY NAMES knepomuk PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   #set(KDE4_KNEPOMUK_LIBS ${knepomuk_LIB_DEPENDS} ${KDE4_KNEPOMUK_LIBRARY} )
 -
 -   # Can't do that, it's not always compiled. See FindKMetaData.cmake
 -   #find_library(KDE4_KMETADATA_LIBRARY NAMES kmetadata PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH )
 -   #set(KDE4_KMETADATA_LIBS ${kmetadata_LIB_DEPENDS} ${KDE4_KMETADATA_LIBRARY} )
 -
 -   get_filename_component(KDE4_LIB_DIR ${KDE4_KDECORE_LIBRARY} PATH )
 -
 -   # kpassworddialog.h is new with KDE4
 -   # KDE4_INCLUDE_INSTALL_DIR is defined by KDELibsDependencies.cmake
 -   find_path(KDE4_INCLUDE_DIR kpassworddialog.h ${KDE4_INCLUDE_INSTALL_DIR} NO_DEFAULT_PATH )
 -
 -   # at first look in LIBEXEC_INSTALL_DIR and no default paths,
 -   # if this didn't succeed, the second call makes cmake search again, but in the standard paths
 -   find_program(KDE4_KCFGC_EXECUTABLE NAME kconfig_compiler PATHS ${KDE4_BIN_INSTALL_DIR} NO_DEFAULT_PATH )
 -   find_program(KDE4_KCFGC_EXECUTABLE NAME kconfig_compiler )
 -
 -   find_program(KDE4_MEINPROC_EXECUTABLE NAME meinproc4 PATHS ${KDE4_BIN_INSTALL_DIR} NO_DEFAULT_PATH )
 -   find_program(KDE4_MEINPROC_EXECUTABLE NAME meinproc4 )
 -
 -   find_program(KDE4_MAKEKDEWIDGETS_EXECUTABLE NAME makekdewidgets PATHS ${KDE4_BIN_INSTALL_DIR} NO_DEFAULT_PATH )
 -   find_program(KDE4_MAKEKDEWIDGETS_EXECUTABLE NAME makekdewidgets )
 -
 -endif (_kdeBootStrapping)
 -
 -
 -#####################  and now the platform specific stuff  ############################
 -
 -# Set a default build type for single-configuration
 -# CMake generators if no build type is set.
 -if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
 -   set(CMAKE_BUILD_TYPE RelWithDebInfo)
 -endif (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
 -
 -
 -if (WIN32)
 -
 -   if(CYGWIN)
 -      message(FATAL_ERROR "Support for Cygwin NOT yet implemented, please edit FindKDE4.cmake to enable it")
 -   endif(CYGWIN)
 -
 -   find_package(KDEWIN32 REQUIRED)
 -
 -   # limit win32 packaging to kdelibs at now 
 -   # don't know if package name, version and notes are always available 
 -   if(_kdeBootStrapping)
 -      find_package(KDEWIN_Packager)
 -	  if (KDEWIN_PACKAGER_FOUND)
 -         KDEWIN_PACKAGER("kdelibs" "${KDE_VERSION}" "KDE base library" "")
 -      endif (KDEWIN_PACKAGER_FOUND)
 -
 -      include(Win32Macros)
 -      addExplorerWrapper("kdelibs")
 -   endif(_kdeBootStrapping)
 -
 -   set( _KDE4_PLATFORM_INCLUDE_DIRS ${KDEWIN32_INCLUDES})
 -
 -   # if we are compiling kdelibs, add KDEWIN32_LIBRARIES explicitely,
 -   # otherwise they come from KDELibsDependencies.cmake, Alex
 -   if (_kdeBootStrapping)
 -      set( KDE4_KDECORE_LIBS ${KDE4_KDECORE_LIBS} ${KDEWIN32_LIBRARIES} )
 -   endif (_kdeBootStrapping)
 -
 -   # windows, mingw
 -   if(MINGW)
 -      #hmmm, something special to do here ?
 -   endif(MINGW)
 -
 -   # windows, microsoft compiler
 -   if(MSVC)
 -      set( _KDE4_PLATFORM_DEFINITIONS -DKDE_FULL_TEMPLATE_EXPORT_INSTANTIATION -DWIN32_LEAN_AND_MEAN -DUNICODE )
 -      # C4250: 'class1' : inherits 'class2::member' via dominance
 -      set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -wd4250" )
 -      # C4251: 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2'
 -      set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -wd4251" )
 -      # C4396: 'identifier' : 'function' the inline specifier cannot be used when a friend declaration refers to a specialization of a function template
 -      set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -wd4396" )
 -      if(CMAKE_COMPILER_2005)
 -         # to avoid a lot of deprecated warnings
 -         add_definitions( -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS )
 -         # 'identifier' : no suitable definition provided for explicit template instantiation request
 -         set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -wd4661" )
 -      endif(CMAKE_COMPILER_2005)
 -   endif(MSVC)
 -
 -
 -   # for visual studio IDE set the path correctly for custom commands
 -   # maybe under windows bat-files should be generated for running apps during the build
 -   if(MSVC_IDE)
 -     get_filename_component(PERL_LOCATION "${PERL_EXECUTABLE}" PATH)
 -     file(TO_NATIVE_PATH "${PERL_LOCATION}" PERL_PATH_WINDOWS)
 -     file(TO_NATIVE_PATH "${QT_BINARY_DIR}" QT_BIN_DIR_WINDOWS)
 -     set(CMAKE_MSVCIDE_RUN_PATH "${PERL_PATH_WINDOWS}\;${QT_BIN_DIR_WINDOWS}"
 -       CACHE STATIC "MSVC IDE Run path" FORCE)
 -   endif(MSVC_IDE)
 -
 -endif (WIN32)
 -
 -
 -# also use /usr/local by default under UNIX, including Mac OS X
 -if (UNIX)
 -   option(KDE4_USE_ALWAYS_FULL_RPATH "If set to TRUE, also libs and plugins will be linked with the full RPATH, which will usually make them work better, but make install will take longer." OFF)
 -
 -   link_directories(/usr/local/lib)
 -   set( _KDE4_PLATFORM_INCLUDE_DIRS /usr/local/include )
 -
 -   # the rest is RPATH handling
 -   # here the defaults are set
 -   # which are partly overwritten in kde4_handle_rpath_for_library()
 -   # and kde4_handle_rpath_for_executable(), both located in KDE4Macros.cmake, Alex
 -   if (APPLE)
 -      set(CMAKE_INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
 -   else (APPLE)
 -      # add our LIB_INSTALL_DIR to the RPATH and use the RPATH figured out by cmake when compiling
 -      set(CMAKE_INSTALL_RPATH ${LIB_INSTALL_DIR} )
 -      set(CMAKE_SKIP_BUILD_RPATH TRUE)
 -      set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
 -      set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
 -   endif (APPLE)
 -endif (UNIX)
 -
 -
 -if (Q_WS_X11)
 -   # Done by FindQt4.cmake already
 -   #find_package(X11 REQUIRED)
 -   # UNIX has already set _KDE4_PLATFORM_INCLUDE_DIRS, so append
 -   set(_KDE4_PLATFORM_INCLUDE_DIRS ${_KDE4_PLATFORM_INCLUDE_DIRS} ${X11_INCLUDE_DIR} )
 -endif (Q_WS_X11)
 -
 -
 -# This will need to be modified later to support either Qt/X11 or Qt/Mac builds
 -if (APPLE)
 -
 -  set ( _KDE4_PLATFORM_DEFINITIONS -D__APPLE_KDE__ )
 -
 -  # we need to set MACOSX_DEPLOYMENT_TARGET to (I believe) at least 10.2 or maybe 10.3 to allow
 -  # -undefined dynamic_lookup; in the future we should do this programmatically
 -  # hmm... why doesn't this work?
 -  set (ENV{MACOSX_DEPLOYMENT_TARGET} 10.3)
 -
 -  # "-undefined dynamic_lookup" means we don't care about missing symbols at link-time by default
 -  # this is bad, but unavoidable until there is the equivalent of libtool -no-undefined implemented
 -  # or perhaps it already is, and I just don't know where to look  ;)
 -
 -  set (CMAKE_SHARED_LINKER_FLAGS "-single_module -multiply_defined suppress ${CMAKE_SHARED_LINKER_FLAGS}")
 -  set (CMAKE_MODULE_LINKER_FLAGS "-multiply_defined suppress ${CMAKE_MODULE_LINKER_FLAGS}")
 -  #set(CMAKE_SHARED_LINKER_FLAGS "-single_module -undefined dynamic_lookup -multiply_defined suppress")
 -  #set(CMAKE_MODULE_LINKER_FLAGS "-undefined dynamic_lookup -multiply_defined suppress")
 -
 -  # we profile...
 -  if(CMAKE_BUILD_TYPE_TOLOWER MATCHES profile)
 -    set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fprofile-arcs -ftest-coverage")
 -    set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage")
 -  endif(CMAKE_BUILD_TYPE_TOLOWER MATCHES profile)
 -
 -  # removed -Os, was there a special reason for using -Os instead of -O2 ?, Alex
 -  # optimization flags are set below for the various build types
 -  set (CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -fno-common")
 -  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common")
 -endif (APPLE)
 -
 -
 -if (CMAKE_SYSTEM_NAME MATCHES Linux)
 -   if (CMAKE_COMPILER_IS_GNUCXX)
 -      set ( _KDE4_PLATFORM_DEFINITIONS -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE)
 -      set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}")
 -      set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}")
 -      # we profile...
 -      if(CMAKE_BUILD_TYPE_TOLOWER MATCHES profile)
 -        set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fprofile-arcs -ftest-coverage")
 -        set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage")
 -      endif(CMAKE_BUILD_TYPE_TOLOWER MATCHES profile)
 -   endif (CMAKE_COMPILER_IS_GNUCXX)
 -   if (CMAKE_C_COMPILER MATCHES "icc")
 -      set ( _KDE4_PLATFORM_DEFINITIONS -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE)
 -      set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}")
 -      set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}")
 -   endif (CMAKE_C_COMPILER MATCHES "icc")
 -endif (CMAKE_SYSTEM_NAME MATCHES Linux)
 -
 -if (CMAKE_SYSTEM_NAME MATCHES BSD)
 -   set ( _KDE4_PLATFORM_DEFINITIONS -D_GNU_SOURCE )
 -   set ( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -lc")
 -   set ( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -lc")
 -endif (CMAKE_SYSTEM_NAME MATCHES BSD)
 -
 -# compiler specific stuff, maybe this should be done differently, Alex
 -
 -if (MSVC)
 -   set (KDE4_ENABLE_EXCEPTIONS -EHsc)
 -endif(MSVC)
 -
 -if (MINGW)
 -   set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--export-all-symbols")
 -   set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--export-all-symbols")
 -endif (MINGW)
 -
 -if (CMAKE_COMPILER_IS_GNUCXX)
 -   set (KDE4_ENABLE_EXCEPTIONS -fexceptions)
 -   # Select flags.
 -   set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
 -   set(CMAKE_CXX_FLAGS_RELEASE        "-O2")
 -   set(CMAKE_CXX_FLAGS_DEBUG          "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline")
 -   set(CMAKE_CXX_FLAGS_DEBUGFULL      "-g3 -fno-inline")
 -   set(CMAKE_CXX_FLAGS_PROFILE        "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
 -   set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g")
 -   set(CMAKE_C_FLAGS_RELEASE          "-O2")
 -   set(CMAKE_C_FLAGS_DEBUG            "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline")
 -   set(CMAKE_C_FLAGS_DEBUGFULL        "-g3 -fno-inline")
 -   set(CMAKE_C_FLAGS_PROFILE          "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
 -
 -   if (CMAKE_SYSTEM_NAME MATCHES Linux)
 -     set ( CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -Wno-long-long -std=iso9899:1990 -Wundef -Wcast-align -Werror-implicit-function-declaration -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common")
 -     set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -fno-check-new -fno-common")
 -     add_definitions (-D_BSD_SOURCE)
 -   endif (CMAKE_SYSTEM_NAME MATCHES Linux)
 -
 -
 -   check_cxx_compiler_flag(-fPIE HAVE_FPIE_SUPPORT)
 -   if(KDE4_ENABLE_FPIE)
 -       if(HAVE_FPIE_SUPPORT)
 -        set (KDE4_CXX_FPIE_FLAGS "-fPIE")
 -        set (KDE4_PIE_LDFLAGS "-pie")
 -       else(HAVE_FPIE_SUPPORT)
 -        MESSAGE(STATUS "Your compiler doesn't support PIE flag")
 -       endif(HAVE_FPIE_SUPPORT)
 -   endif(KDE4_ENABLE_FPIE)
 -   # save a little by making local statics not threadsafe
 -   check_cxx_compiler_flag(-fno-threadsafe-statics __KDE_HAVE_NO_THREADSAFE_STATICS)
 -   if (__KDE_HAVE_NO_THREADSAFE_STATICS)
 -       # currently disabled for Alpha1 due to what appears
 -       # to be a compiler bug
 -       # see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31806
 -       #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-threadsafe-statics")
 -   endif (__KDE_HAVE_NO_THREADSAFE_STATICS)
 -
 -   # visibility support
 -   check_cxx_compiler_flag(-fvisibility=hidden __KDE_HAVE_GCC_VISIBILITY)
 -
 -   # get the gcc version
 -   exec_program(${CMAKE_C_COMPILER} ARGS --version OUTPUT_VARIABLE _gcc_version_info)
 -
 -   string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
 -   # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the patch level, handle this here:
 -   if (NOT _gcc_version)
 -      string (REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0" _gcc_version "${_gcc_version_info}")
 -   endif (NOT _gcc_version)
 -
 -   macro_ensure_version("4.1.0" "${_gcc_version}" GCC_IS_NEWER_THAN_4_1)
 -   macro_ensure_version("4.2.0" "${_gcc_version}" GCC_IS_NEWER_THAN_4_2)
 -
 -   set(_GCC_COMPILED_WITH_BAD_ALLOCATOR FALSE)
 -   if (GCC_IS_NEWER_THAN_4_1)
 -      exec_program(${CMAKE_C_COMPILER} ARGS -v OUTPUT_VARIABLE _gcc_alloc_info)
 -      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)
 -      set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
 -      set (KDE4_C_FLAGS "-fvisibility=hidden")
 -
 -      if (GCC_IS_NEWER_THAN_4_2)
 -          set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden")
 -      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)
 -      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)
 -
 -endif (CMAKE_COMPILER_IS_GNUCXX)
 -
 -if (CMAKE_C_COMPILER MATCHES "icc")
 -   set (KDE4_ENABLE_EXCEPTIONS -fexceptions)
 -   # Select flags.
 -   set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
 -   set(CMAKE_CXX_FLAGS_RELEASE        "-O2")
 -   set(CMAKE_CXX_FLAGS_DEBUG          "-O2 -g -0b0 -noalign")
 -   set(CMAKE_CXX_FLAGS_DEBUGFULL      "-g -Ob0 -noalign")
 -   set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g")
 -   set(CMAKE_C_FLAGS_RELEASE          "-O2")
 -   set(CMAKE_C_FLAGS_DEBUG            "-O2 -g -Ob0 -noalign")
 -   set(CMAKE_C_FLAGS_DEBUGFULL        "-g -Ob0 -noalign")
 -
 -   set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS}   -ansi -Wpointer-arith -fno-common")
 -   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ansi -Wpointer-arith -fno-exceptions -fno-common")
 -
 -   # visibility support
 -   set(__KDE_HAVE_ICC_VISIBILITY)
 -#   check_cxx_compiler_flag(-fvisibility=hidden __KDE_HAVE_ICC_VISIBILITY)
 -#   if (__KDE_HAVE_ICC_VISIBILITY)
 -#      set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
 -#   endif (__KDE_HAVE_ICC_VISIBILITY)
 -
 -endif (CMAKE_C_COMPILER MATCHES "icc")
 -
 -# we prefer to use a different postfix for debug libs only on Windows
 -# does not work atm
 -if (WIN32)
 -   SET(CMAKE_DEBUG_POSTFIX "")
 -endif (WIN32)
 -
 -###########    end of platform specific stuff  ##########################
 -
 -
 -# KDE4Macros.cmake contains all the KDE specific macros
 -include(${kde_cmake_module_dir}/KDE4Macros.cmake)
 -
 -
 -# decide whether KDE4 has been found
 -set(KDE4_FOUND FALSE)
 -if (KDE4_INCLUDE_DIR AND KDE4_LIB_DIR AND KDE4_KCFGC_EXECUTABLE AND KDE4_INSTALLED_VERSION_OK)
 -   set(KDE4_FOUND TRUE)
 -endif (KDE4_INCLUDE_DIR AND KDE4_LIB_DIR AND KDE4_KCFGC_EXECUTABLE AND KDE4_INSTALLED_VERSION_OK)
 -
 -
 -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.0 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 library dir: ${KDE4_LIB_DIR}")
 -       else(KDE4_LIB_DIR)
 -          message(STATUS "ERROR: unable to find KDE 4 core library")
 -       endif(KDE4_LIB_DIR)
 -   endif (NOT _kdeBootStrapping)
 -
 -   if(KDE4_KCFGC_EXECUTABLE)
 -      message(STATUS "Found KDE4 kconfig_compiler preprocessor: ${KDE4_KCFGC_EXECUTABLE}")
 -   else(KDE4_KCFGC_EXECUTABLE)
 -      message(STATUS "Didn't find the KDE4 kconfig_compiler preprocessor")
 -   endif(KDE4_KCFGC_EXECUTABLE)
 -endmacro (KDE4_PRINT_RESULTS)
 -
 -
 -if (KDE4Internal_FIND_REQUIRED AND NOT KDE4_FOUND)
 -   #bail out if something wasn't found
 -   kde4_print_results()
 -   if (NOT KDE4_INSTALLED_VERSION_OK)
 -     message(FATAL_ERROR "ERROR: the installed kdelibs version ${KDEVERSION} is too old, at least version ${KDE_MIN_VERSION} is required")
 -   endif (NOT KDE4_INSTALLED_VERSION_OK)
 -
 -   if (NOT KDE4_KCFGC_EXECUTABLE)
 -     message(FATAL_ERROR "ERROR: could not detect a usable kconfig-compiler")
 -   endif (NOT KDE4_KCFGC_EXECUTABLE)
 -
 -   message(FATAL_ERROR "ERROR: could NOT find everything required for compiling KDE 4 programs")
 -endif (KDE4Internal_FIND_REQUIRED AND NOT KDE4_FOUND)
 -
 -
 -if (NOT KDE4Internal_FIND_QUIETLY)
 -   kde4_print_results()
 -endif (NOT KDE4Internal_FIND_QUIETLY)
 -
 -#add the found Qt and KDE include directories to the current include path
 -#the ${KDE4_INCLUDE_DIR}/KDE directory is for forwarding includes, eg. #include <KMainWindow>
 -set(KDE4_INCLUDES ${QT_INCLUDES} ${KDE4_INCLUDE_DIR} ${KDE4_INCLUDE_DIR}/KDE ${_KDE4_PLATFORM_INCLUDE_DIRS} )
 -
 -set(KDE4_DEFINITIONS ${_KDE4_PLATFORM_DEFINITIONS} -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS )
 -
 -if (NOT _kde4_uninstall_rule_created)
 -   set(_kde4_uninstall_rule_created TRUE)
 -
 -   configure_file("${kde_cmake_module_dir}/kde4_cmake_uninstall.cmake.in" "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake" @ONLY)
 -
 -   add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake")
 -
 -endif (NOT _kde4_uninstall_rule_created)
 +# - Find the KDE4 include and library dirs, KDE preprocessors and define a some macros +# +# This module defines the following variables: +# +# KDE4_FOUND               - set to TRUE if everything required for building KDE software has been found +# +# KDE4_DEFINITIONS         - compiler definitions required for compiling KDE software +# KDE4_INCLUDE_DIR         - the KDE 4 include directory +# KDE4_INCLUDES            - all include directories required for KDE, i.e. +#                            KDE4_INCLUDE_DIR, but also the Qt4 include directories +#                            and other platform specific include directories +# KDE4_LIB_DIR             - the directory where the KDE libraries are installed, +#                            intended to be used with LINK_DIRECTORIES() +# +# The following variables are defined for the various tools required to +# compile KDE software: +# +# KDE4_KCFGC_EXECUTABLE    - the kconfig_compiler executable +# KDE4_MEINPROC_EXECUTABLE - the meinproc4 executable +# KDE4_MAKEKDEWIDGETS_EXECUTABLE - the makekdewidgets executable +# +# The following variables point to the location of the KDE libraries, +# but shouldn't be used directly: +# +# KDE4_KDECORE_LIBRARY     - the kdecore library +# KDE4_KDEUI_LIBRARY       - the kdeui library +# KDE4_KIO_LIBRARY         - the kio library +# KDE4_KPARTS_LIBRARY      - the kparts library +# KDE4_KUTILS_LIBRARY      - the kutils library +# KDE4_KDE3SUPPORT_LIBRARY - the kde3support library +# KDE4_KFILE_LIBRARY       - the kfile library +# KDE4_KHTML_LIBRARY       - the khtml library +# KDE4_KJS_LIBRARY         - the kjs library +# KDE4_KNEWSTUFF2_LIBRARY  - the knewstuff2 library +# KDE4_KDEPRINT_LIBRARY    - the kdeprint library +# KDE4_KDNSSD_LIBRARY      - the kdnssd library +# KDE4_PHONON_LIBRARY      - the phonon library +# KDE4_KAUDIODEVICELIST_LIBRARY - the kaudiodevicelist library +# KDE4_KDEFX_LIBRARY       - the kdefx library +# KDE4_THREADWEAVER_LIBRARY- the threadweaver library +# KDE4_SOLID_LIBRARY       - the solid library +# KDE4_KNOTIFYCONFIG_LIBRARY- the knotifyconfig library +# KDE4_KROSSCORE_LIBRARY   - the krosscore library +# KDE4_KTEXTEDITOR_LIBRARY - the ktexteditor library +# KDE4_KNEPOMUK_LIBRARY    - the knepomuk library +# KDE4_KMETADATA_LIBRARY   - the kmetadata 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_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_KFILE_LIBS            - the kfile 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_KNEWSTUFF2_LIBS       - the knewstuff2 library and all depending libraries +# KDE4_KDEPRINT_LIBS         - the kdeprint library and all depending libraries +# KDE4_KDNSSD_LIBS           - the kdnssd library and all depending libraries +# KDE4_KDESU_LIBS            - the kdesu library and all depending libraries +# KDE4_PHONON_LIBS           - the phonon library and all depending librairies +# KDE4_KDEFX_LIBS            - the kdefx library and all depending librairies +# KDE4_THREADWEAVER_LIBRARIES- the threadweaver library and all depending libraries +# KDE4_SOLID_LIBS            - the solid library and all depending libraries +# KDE4_KNOTIFYCONFIG_LIBS    - the knotify config library and all depending libraries +# KDE4_KROSSCORE_LIBS        - the kross core library and all depending libraries +# KDE4_KROSSUI_LIBS          - the kross ui library which includes core and all depending libraries +# KDE4_KTEXTEDITOR_LIBS      - the ktexteditor library and all depending libraries +# KDE4_KNEPOMUK_LIBS         - the knepomuk library and all depending libraries +# KDE4_KMETADATA_LIBS        - the kmetadata library and all depending libraries +# +# This module defines a bunch of variables used as locations +# for install directories. They are all interpreted relative +# to CMAKE_INSTALL_PREFIX +# +# BIN_INSTALL_DIR          - the directory where executables be installed (default is prefix/bin) +# SBIN_INSTALL_DIR         - the directory where system executables will be installed (default is prefix/sbin) +# LIB_INSTALL_DIR          - the directory where libraries will be installed (default is prefix/lib) +# CONFIG_INSTALL_DIR       - the config file install dir +# DATA_INSTALL_DIR         - the parent directory where applications can install their data +# HTML_INSTALL_DIR         - the HTML install dir for documentation +# ICON_INSTALL_DIR         - the icon install dir (default prefix/share/icons/) +# INFO_INSTALL_DIR         - the kde info install dir (default prefix/info) +# KCFG_INSTALL_DIR         - the install dir for kconfig files +# LOCALE_INSTALL_DIR       - the install dir for translations +# MAN_INSTALL_DIR          - the kde man page install dir (default prefix/man/) +# MIME_INSTALL_DIR         - the install dir for the mimetype desktop files +# PLUGIN_INSTALL_DIR       - the subdirectory relative to the install prefix where plugins will be installed (default is ${KDE4_LIB_INSTALL_DIR}/kde4) +# SERVICES_INSTALL_DIR     - the install dir for service (desktop, protocol, ...) files +# SERVICETYPES_INSTALL_DIR - the install dir for servicestypes desktop files +# SOUND_INSTALL_DIR        - the install dir for sound files +# TEMPLATES_INSTALL_DIR    - the install dir for templates (Create new file...) +# WALLPAPER_INSTALL_DIR    - the install dir for wallpapers +# KCONF_UPDATE_INSTALL_DIR - the kconf_update install dir +# XDG_APPS_DIR             - the XDG apps dir +# XDG_DIRECTORY_DIR        - the XDG directory +# DBUS_INTERFACES_DIR      - the directory where dbus interfaces be installed (default is prefix/share/dbus-1/interfaces) +# DBUS_SERVICES_DIR        - the directory where dbus services be installed (default is prefix/share/dbus-1/services ) +# +# The following variables are provided, but are seem to be unused: +# LIBS_HTML_INSTALL_DIR    /share/doc/HTML            CACHE STRING "Is this still used ?") +# APPLNK_INSTALL_DIR       /share/applnk              CACHE STRING "Is this still used ?") +# +# The following user adjustable options are provided: +# +# KDE4_ENABLE_FINAL - enable KDE-style enable-final all-in-one-compilation +# KDE4_BUILD_TESTS  - enable this to build the testcases +# KDE4_ENABLE_FPIE  - enable it to use gcc Position Independent Executables feature +# +# It also adds the following macros (from KDE4Macros.cmake) +# KDE4_ADD_UI_FILES (SRCS_VAR file1.ui ... fileN.ui) +#    Use this to add Qt designer ui files to your application/library. +# +# KDE4_ADD_UI3_FILES (SRCS_VAR file1.ui ... fileN.ui) +#    Use this to add Qt designer ui files from Qt version 3 to your application/library. +# +# KDE4_ADD_KCFG_FILES (SRCS_VAR [GENERATE_MOC] file1.kcfgc ... fileN.kcfgc) +#    Use this to add KDE config compiler files to your application/library. +#    Use optional GENERATE_MOC to generate moc if you use signals in your kcfg files. +# +# KDE4_ADD_WIDGET_FILES (SRCS_VAR file1.widgets ... fileN.widgets) +#    Use this to add widget description files for the makekdewidgets code generator +#    for Qt Designer plugins. +# +# KDE4_AUTOMOC(file1 ... fileN) +#    Call this if you want to have automatic moc file handling. +#    This means if you include "foo.moc" in the source file foo.cpp +#    a moc file for the header foo.h will be created automatically. +#    You can set the property SKIP_AUTOMAKE using SET_SOURCE_FILES_PROPERTIES() +#    to exclude some files in the list from being processed. +#    If you don't want automoc, you can also use QT4_WRAP_CPP() or QT4_GENERATE_MOC() +#    from FindQt4.cmake to have the moc files generated. This will be faster +#    but require more manual work. +# +# KDE4_INSTALL_LIBTOOL_FILE ( subdir target ) +#    This will create and install a simple libtool file for the +#    given target. This might be required for other software. +#    The libtool file will be install in subdir, relative to CMAKE_INSTALL_PREFIX . +# +# KDE4_CREATE_FINAL_FILES (filename_CXX filename_C file1 ... fileN) +#    This macro is intended mainly for internal uses. +#    It is used for enable-final. It will generate two source files, +#    one for the C files and one for the C++ files. +#    These files will have the names given in filename_CXX and filename_C. +# +# KDE4_ADD_PLUGIN ( name [WITH_PREFIX] file1 ... fileN ) +#    Create a KDE plugin (KPart, kioslave, etc.) from the given source files. +#    It supports KDE4_ENABLE_FINAL. +#    If WITH_PREFIX is given, the resulting plugin will have the prefix "lib", otherwise it won't. +#    It creates and installs an appropriate libtool la-file. +# +# KDE4_ADD_KDEINIT_EXECUTABLE (name [NOGUI] [RUN_UNINSTALLED] file1 ... fileN) +#    Create a KDE application in the form of a module loadable via kdeinit. +#    A library named kdeinit_<name> will be created and a small executable which links to it. +#    It supports KDE4_ENABLE_FINAL +#    If the executable has to be run from the buildtree (e.g. unit tests and code generators +#    used later on when compiling), set the option RUN_UNINSTALLED. +#    If the executable doesn't have a GUI, use the option NOGUI. By default on OS X +#    application bundles are created, with the NOGUI option no bundles but simple executables +#    are created. Currently it doesn't have any effect on other platforms. +# +# KDE4_ADD_EXECUTABLE (name [NOGUI] [RUN_UNINSTALLED] file1 ... fileN) +#    Equivalent to ADD_EXECUTABLE(), but additionally adds some more features: +#    -support for KDE4_ENABLE_FINAL +#    -support for automoc +#    -automatic RPATH handling +#    If the executable has to be run from the buildtree (e.g. unit tests and code generators +#    used later on when compiling), set the option RUN_UNINSTALLED. +#    If the executable doesn't have a GUI, use the option NOGUI. By default on OS X +#    application bundles are created, with the NOGUI option no bundles but simple executables +#    are created. Currently it doesn't have any effect on other platforms. +# +# KDE4_ADD_LIBRARY (name [STATIC | SHARED | MODULE ] file1 ... fileN) +#    Equivalent to ADD_LIBRARY(), but additionally it supports KDE4_ENABLE_FINAL +#    and under Windows it adds a -DMAKE_<name>_LIB definition to the compilation. +# +# KDE4_ADD_UNIT_TEST (testname [TESTNAME targetname] file1 ... fileN) +#    add a unit test, which is executed when running make test +#    it will be built with RPATH poiting to the build dir +#    The targets are always created, but only built for the "all" +#    target if the option KDE4_BUILD_TESTS is enabled. Otherwise the rules for the target +#    are created but not built by default. You can build them by manually building the target. +#    The name of the target can be specified using TESTNAME <targetname>, if it is not given +#    the macro will default to the <testname> +# +# KDE4_ADD_TEST_EXECUTABLE (name file1 ... fileN) +#    add an test executable +#    it will be built with RPATH poiting to the build dir +#    The targets are always created, but only built for the "all" +#    target if the option KDE4_BUILD_TESTS is enabled. Otherwise the rules for the target +#    are created but not built by default. You can build them by manually building the target. +# KDE4_INSTALL_ICONS( path theme) +#    Installs all png and svgz files in the current directory to the icon +#    directoy given in path, in the subdirectory for the given icon theme. +# +# KDE4_CREATE_HANDBOOK( docbookfile ) +#   Create the handbook from the docbookfile (using meinproc) +# +# KDE4_INSTALL_HANDBOOK() +#   Install the handbook documentation +# +# KDE4_CREATE_HTML_HANDBOOK( docbookfile ) +#   Create HTML version of the handbook from the docbookfile (using meinproc) +# +# _KDE4_PLATFORM_INCLUDE_DIRS is used only internally +# _KDE4_PLATFORM_DEFINITIONS is used only internally +# +# +# Copyright (c) 2006, Alexander Neundorf <neundorf@kde.org> +# Copyright (c) 2006, Laurent Montel, <montel@kde.org> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + +include (MacroEnsureVersion) + +cmake_minimum_required(VERSION 2.4.5 FATAL_ERROR) + +set(QT_MIN_VERSION "4.3.0") +#this line includes FindQt4.cmake, which searches the Qt library and headers +find_package(Qt4 REQUIRED) + +if (NOT QT_DBUSXML2CPP_EXECUTABLE) +    message(FATAL_ERROR "Qt4 qdbusxml2cpp was not found. Make sure it has been built and installed by Qt") +endif (NOT QT_DBUSXML2CPP_EXECUTABLE) + + +# Perl is required for building KDE software, +find_package(Perl REQUIRED) + +include (MacroLibrary) +include (CheckCXXCompilerFlag) +include (CheckCXXSourceCompiles) + +#add some KDE specific stuff + +# the following are directories where stuff will be installed to +set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" ) + +#are we trying to compile kdelibs ? +#then enter bootstrap mode +if(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kernel/kglobal.h) +   set(_kdeBootStrapping TRUE) +   message(STATUS "Building kdelibs...") +else(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kernel/kglobal.h) +   set(_kdeBootStrapping FALSE) +endif(EXISTS ${CMAKE_SOURCE_DIR}/kdecore/kernel/kglobal.h) + +# get the directory of the current file, used later on in the file +get_filename_component( kde_cmake_module_dir  ${CMAKE_CURRENT_LIST_FILE} PATH) + + +if (NOT _kdeBootStrapping) +  # this file contains all dependencies of all libraries of kdelibs, Alex +  include(${kde_cmake_module_dir}/KDELibsDependencies.cmake) +endif (NOT _kdeBootStrapping) + +# this macro implements some very special logic how to deal with the cache +# by default the various install locations inherit their value from theit "parent" variable +# so if you set CMAKE_INSTALL_PREFIX, then EXEC_INSTALL_PREFIX, PLUGIN_INSTALL_DIR will +# calculate their value by appending subdirs to CMAKE_INSTALL_PREFIX +# this would work completely without using the cache. +# but if somebody wants e.g. a different EXEC_INSTALL_PREFIX this value has to go into +# the cache, otherwise it will be forgotten on the next cmake run. +# Once a variable is in the cache, it doesn't depend on its "parent" variables +# anymore and you can only change it by editing it directly. +# this macro helps in this regard, because as long as you don't set one of the +# variables explicitely to some location, it will always calculate its value from its +# parents. So modifying CMAKE_INSTALL_PREFIX later on will have the desired effect. +# But once you decide to set e.g. EXEC_INSTALL_PREFIX to some special location +# this will go into the cache and it will no longer depend on CMAKE_INSTALL_PREFIX. +# +# additionally if installing to the same location as kdelibs, the other install +# directories are reused from the installed kdelibs +macro(_SET_FANCY _var _value _comment) +   set(predefinedvalue "${_value}") +   if ("${CMAKE_INSTALL_PREFIX}" STREQUAL "${KDE4_INSTALL_DIR}" AND DEFINED KDE4_${_var}) +      set(predefinedvalue "${KDE4_${_var}}") +   endif ("${CMAKE_INSTALL_PREFIX}" STREQUAL "${KDE4_INSTALL_DIR}" AND DEFINED KDE4_${_var}) + +   if (NOT DEFINED ${_var}) +      set(${_var} ${predefinedvalue}) +   else (NOT DEFINED ${_var}) +      set(${_var} "${${_var}}" CACHE PATH "${_comment}") +   endif (NOT DEFINED ${_var}) +endmacro(_SET_FANCY) + +if (WIN32) +    # use relative install prefix to avoid hardcoded install pathes in cmake_install.cmake files +   _set_fancy(EXEC_INSTALL_PREFIX  ""                                        "Base directory for executables and libraries") +   _set_fancy(SHARE_INSTALL_PREFIX "share"                                   "Base directory for files which go to share/") +   _set_fancy(BIN_INSTALL_DIR      "bin"                                     "The install dir for executables (default ${EXEC_INSTALL_PREFIX}/bin)") +   _set_fancy(SBIN_INSTALL_DIR     "sbin"                                    "The install dir for system executables (default ${EXEC_INSTALL_PREFIX}/sbin)") +   _set_fancy(LIB_INSTALL_DIR      "lib${LIB_SUFFIX}"                        "The subdirectory relative to the install prefix where libraries will be installed (default is ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX})") +   _set_fancy(LIBEXEC_INSTALL_DIR  "${BIN_INSTALL_DIR}"                      "The subdirectory relative to the install prefix where libraries will be installed (default is ${BIN_INSTALL_DIR})") +   _set_fancy(INCLUDE_INSTALL_DIR  "include"                                 "The subdirectory to the header prefix") +else (WIN32) +   _set_fancy(EXEC_INSTALL_PREFIX  "${CMAKE_INSTALL_PREFIX}"                 "Base directory for executables and libraries") +   _set_fancy(SHARE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/share"           "Base directory for files which go to share/") +   _set_fancy(BIN_INSTALL_DIR      "${EXEC_INSTALL_PREFIX}/bin"              "The install dir for executables (default ${EXEC_INSTALL_PREFIX}/bin)") +   _set_fancy(SBIN_INSTALL_DIR     "${EXEC_INSTALL_PREFIX}/sbin"             "The install dir for system executables (default ${EXEC_INSTALL_PREFIX}/sbin)") +   _set_fancy(LIB_INSTALL_DIR      "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" "The subdirectory relative to the install prefix where libraries will be installed (default is ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX})") +   _set_fancy(LIBEXEC_INSTALL_DIR  "${LIB_INSTALL_DIR}/kde4/libexec"         "The subdirectory relative to the install prefix where libraries will be installed (default is ${LIB_INSTALL_DIR}/kde4/libexec)") +   _set_fancy(INCLUDE_INSTALL_DIR  "${CMAKE_INSTALL_PREFIX}/include"         "The subdirectory to the header prefix") +endif (WIN32) + +_set_fancy(PLUGIN_INSTALL_DIR       "${LIB_INSTALL_DIR}/kde4"              "The subdirectory relative to the install prefix where plugins will be installed (default is ${LIB_INSTALL_DIR}/kde4)") +_set_fancy(CONFIG_INSTALL_DIR       "${SHARE_INSTALL_PREFIX}/config"       "The config file install dir") +_set_fancy(DATA_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/apps"         "The parent directory where applications can install their data") +_set_fancy(HTML_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/doc/HTML"     "The HTML install dir for documentation") +_set_fancy(ICON_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/icons"        "The icon install dir (default ${SHARE_INSTALL_PREFIX}/share/icons/)") +_set_fancy(KCFG_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/config.kcfg"  "The install dir for kconfig files") +_set_fancy(LOCALE_INSTALL_DIR       "${SHARE_INSTALL_PREFIX}/locale"       "The install dir for translations") +_set_fancy(MIME_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/mimelnk"      "The install dir for the mimetype desktop files") + +# To help with the migration issue, this uses set instead of _set_fancy, temporarily. +# (Otherwise all modules would keep installing into the old dirs) +# This can be reverted starting from May 2007 +set(SERVICES_INSTALL_DIR     "${SHARE_INSTALL_PREFIX}/kde4/services") +set(SERVICETYPES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/kde4/servicetypes") +#_set_fancy(SERVICES_INSTALL_DIR     "${SHARE_INSTALL_PREFIX}/kde4/services"     "The install dir for service (desktop, protocol, ...) files") +#_set_fancy(SERVICETYPES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/kde4/servicetypes" "The install dir for servicestypes desktop files") + +_set_fancy(SOUND_INSTALL_DIR        "${SHARE_INSTALL_PREFIX}/sounds"       "The install dir for sound files") +_set_fancy(TEMPLATES_INSTALL_DIR    "${SHARE_INSTALL_PREFIX}/templates"    "The install dir for templates (Create new file...)") +_set_fancy(WALLPAPER_INSTALL_DIR    "${SHARE_INSTALL_PREFIX}/wallpapers"   "The install dir for wallpapers") +_set_fancy(KCONF_UPDATE_INSTALL_DIR "${DATA_INSTALL_DIR}/kconf_update"     "The kconf_update install dir") + # this one shouldn't be used anymore +_set_fancy(APPLNK_INSTALL_DIR       "${SHARE_INSTALL_PREFIX}/applnk"       "Is this still used ?") +_set_fancy(AUTOSTART_INSTALL_DIR    "${SHARE_INSTALL_PREFIX}/autostart"    "The install dir for autostart files") + +_set_fancy(XDG_APPS_DIR             "${SHARE_INSTALL_PREFIX}/applications/kde4"    "The XDG apps dir") +_set_fancy(XDG_DIRECTORY_DIR        "${SHARE_INSTALL_PREFIX}/desktop-directories" "The XDG directory") + +_set_fancy(SYSCONF_INSTALL_DIR      "${CMAKE_INSTALL_PREFIX}/etc"          "The kde sysconfig install dir (default /etc)") +_set_fancy(MAN_INSTALL_DIR          "${CMAKE_INSTALL_PREFIX}/man"          "The kde man install dir (default ${CMAKE_INSTALL_PREFIX}/man/)") +_set_fancy(INFO_INSTALL_DIR         "${CMAKE_INSTALL_PREFIX}/info"         "The kde info install dir (default ${CMAKE_INSTALL_PREFIX}/info)") +_set_fancy(DBUS_INTERFACES_DIR      "${SHARE_INSTALL_PREFIX}/dbus-1/interfaces" "The kde dbus interfaces install dir (default  ${SHARE_INSTALL_PREFIX}/dbus-1/interfaces)") +_set_fancy(DBUS_SERVICES_DIR      "${SHARE_INSTALL_PREFIX}/dbus-1/services" "The kde dbus services install dir (default  ${SHARE_INSTALL_PREFIX}/dbus-1/services)") + +################################# + + +# the following are directories where stuff will be installed to + + +option(KDE4_ENABLE_FINAL "Enable final all-in-one compilation") +option(KDE4_BUILD_TESTS  "Build the tests") + +if( KDE4_ENABLE_FINAL) +   add_definitions(-DKDE_USE_FINAL) +endif(KDE4_ENABLE_FINAL) + +#Position-Independent-Executable is a feature of Binutils, Libc, and GCC that creates an executable +#which is something between a shared library and a normal executable. +#Programs compiled with these features appear as ?shared object? with the file command. +#info from "http://www.linuxfromscratch.org/hlfs/view/unstable/glibc/chapter02/pie.html" +option(KDE4_ENABLE_FPIE  "Enable platform supports PIE linking") + +#now try to find some kde stuff + +if (_kdeBootStrapping) +   set(KDE4_INCLUDE_DIR ${CMAKE_SOURCE_DIR}) +   set(KDE4_KDECORE_LIBS ${QT_QTCORE_LIBRARY} kdecore) +   set(KDE4_KDEUI_LIBS ${KDE4_KDECORE_LIBS} kdeui) +   set(KDE4_KIO_LIBS ${KDE4_KDEUI_LIBS} kio) +   set(KDE4_KPARTS_LIBS ${KDE4_KIO_LIBS} kparts) +   set(KDE4_KUTILS_LIBS ${KDE4_KIO_LIBS} kutils) +   set(KDE4_KDE3SUPPORT_LIBS ${KDE4_KIO_LIBS} kde3support) +   set(KDE4_KDEFX_LIBS ${KDE4_KDEFX_LIBS} kdefx) +   set(KDE4_SOLID_LIBS ${KDE4_KDECORE_LIBS} solid) +   set(KDE4_PHONON_LIBS ${QT_QTDBUS_LIBRARY} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} phonon) +   set(KDE4_KAUDIODEVICELIST_LIBS ${KDE4_SOLID_LIBS} kaudiodevicelist) +   set(KDE4_KFILE_LIBS ${KDE4_KDE3SUPPORT_LIBS} kfile) +   set(KDE4_KHTML_LIBS ${KDE4_KPARTS_LIBS} khtml) + +   set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) + +   if (WIN32) +      set(LIBRARY_OUTPUT_PATH  ${EXECUTABLE_OUTPUT_PATH} ) +      # CMAKE_CFG_INTDIR is the output subdirectory created e.g. by XCode and MSVC +      set(KDE4_KCFGC_EXECUTABLE       ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler ) +      set(KDE4_MEINPROC_EXECUTABLE    ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/meinproc4 ) +      set(KDE4_MAKEKDEWIDGETS_EXECUTABLE    ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/makekdewidgets ) +   else (WIN32) +      set(LIBRARY_OUTPUT_PATH  ${CMAKE_BINARY_DIR}/lib ) +      set(KDE4_KCFGC_EXECUTABLE       ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler.shell ) +      set(KDE4_MEINPROC_EXECUTABLE    ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/meinproc4.shell ) +      set(KDE4_MAKEKDEWIDGETS_EXECUTABLE    ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/makekdewidgets.shell ) +   endif (WIN32) + +   set(KDE4_LIB_DIR ${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}) + +   # when building kdelibs, make the kcfg rules depend on the binaries... +   set( _KDE4_KCONFIG_COMPILER_DEP kconfig_compiler) +   set( _KDE4_MAKEKDEWIDGETS_DEP makekdewidgets) +   set( _KDE4_MEINPROC_EXECUTABLE_DEP meinproc4) + +   set(KDE4_INSTALLED_VERSION_OK TRUE) + +else (_kdeBootStrapping) + +  # ... but NOT otherwise +   set( _KDE4_KCONFIG_COMPILER_DEP) +   set( _KDE4_MAKEKDEWIDGETS_DEP) +   set( _KDE4_MEINPROC_EXECUTABLE_DEP) + +   # Check the version of kde. KDE4_KDECONFIG_EXECUTABLE was set by FindKDE4 +   exec_program(${KDE4_KDECONFIG_EXECUTABLE} ARGS "--version" OUTPUT_VARIABLE kdeconfig_output ) + +   string(REGEX MATCH "KDE: [0-9]+\\.[0-9]+\\.[0-9]+" KDEVERSION "${kdeconfig_output}") +   if (KDEVERSION) + +      string(REGEX REPLACE "^KDE: " "" KDEVERSION "${KDEVERSION}") + +      # we need at least this version: +      if (NOT KDE_MIN_VERSION) +         set(KDE_MIN_VERSION "3.9.0") +      endif (NOT KDE_MIN_VERSION) + +      #message(STATUS "KDE_MIN_VERSION=${KDE_MIN_VERSION}  found ${KDEVERSION}") + +      macro_ensure_version( ${KDE_MIN_VERSION} ${KDEVERSION} KDE4_INSTALLED_VERSION_OK ) + +   else (KDEVERSION) +      message(FATAL_ERROR "Couldn't parse KDE version string from the kde4-config output:\n${kdeconfig_output}") +   endif (KDEVERSION) + + +   set(LIBRARY_OUTPUT_PATH  ${CMAKE_BINARY_DIR}/lib ) + +   # this file contains all dependencies of all libraries of kdelibs, Alex +   include(${kde_cmake_module_dir}/KDELibsDependencies.cmake) + +   find_library(KDE4_KDEFAKES_LIBRARY NAMES kdefakes PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KDEFAKES_LIBS ${kdefakes_LIB_DEPENDS} ${KDE4_KDEFAKES_LIBRARY} ) + +   find_library(KDE4_KDECORE_LIBRARY NAMES kdecore PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KDECORE_LIBS ${kdecore_LIB_DEPENDS} ${KDE4_KDECORE_LIBRARY} ) + +   find_library(KDE4_KDEFX_LIBRARY NAMES kdefx PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KDEFX_LIBS ${kdefx_LIB_DEPENDS} ${KDE4_KDEFX_LIBRARY} ) + +   find_library(KDE4_KDEUI_LIBRARY NAMES kdeui PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KDEUI_LIBS ${kdeui_LIB_DEPENDS} ${KDE4_KDEUI_LIBRARY} ) + +   find_library(KDE4_KIO_LIBRARY NAMES kio PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KIO_LIBS ${kio_LIB_DEPENDS} ${KDE4_KIO_LIBRARY} ) + +   find_library(KDE4_KPARTS_LIBRARY NAMES kparts PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KPARTS_LIBS ${kparts_LIB_DEPENDS} ${KDE4_KPARTS_LIBRARY} ) + +   find_library(KDE4_KUTILS_LIBRARY NAMES kutils PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KUTILS_LIBS ${kutils_LIB_DEPENDS} ${KDE4_KUTILS_LIBRARY} ) + +   find_library(KDE4_KDE3SUPPORT_LIBRARY NAMES kde3support PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KDE3SUPPORT_LIBS ${kde3support_LIB_DEPENDS} ${KDE4_KDE3SUPPORT_LIBRARY} ) + +   find_library(KDE4_KFILE_LIBRARY NAMES kfile PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KFILE_LIBS ${kfile_LIB_DEPENDS} ${KDE4_KFILE_LIBRARY} ) + +   find_library(KDE4_KHTML_LIBRARY NAMES khtml PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KHTML_LIBS ${khtml_LIB_DEPENDS} ${KDE4_KHTML_LIBRARY} ) + +   find_library(KDE4_KJS_LIBRARY NAMES kjs PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KJS_LIBS ${kjs_LIB_DEPENDS} ${KDE4_KJS_LIBRARY} ) + +   find_library(KDE4_KNEWSTUFF2_LIBRARY NAMES knewstuff2 PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KNEWSTUFF2_LIBS ${knewstuff2_LIB_DEPENDS} ${KDE4_KNEWSTUFF2_LIBRARY} ) + +   find_library(KDE4_KDEPRINT_LIBRARY NAMES kdeprint PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KDEPRINT_LIBS ${kdeprint_LIB_DEPENDS} ${KDE4_KDEPRINT_LIBRARY} ) + +   if (UNIX) +      find_library(KDE4_KDESU_LIBRARY NAMES kdesu PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +      set(KDE4_KDESU_LIBS ${kdesu_LIB_DEPENDS} ${KDE4_KDESU_LIBRARY} ) +   endif (UNIX) + +   find_library(KDE4_KDNSSD_LIBRARY NAMES kdnssd PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KDNSSD_LIBS ${kdnssd_LIB_DEPENDS} ${KDE4_KDNSSD_LIBRARY} ) + +   find_library(KDE4_PHONON_LIBRARY NAMES phonon PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_PHONON_LIBS ${phonon_LIB_DEPENDS} ${KDE4_PHONON_LIBRARY} ) + +   find_library(KDE4_KAUDIODEVICELIST_LIBRARY NAMES kaudiodevicelist PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KAUDIODEVICELIST_LIBS ${kaudiodevicelist_LIB_DEPENDS} ${KDE4_KAUDIODEVICELIST_LIBRARY} ) + +   find_library(KDE4_SOLID_LIBRARY NAMES solid PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_SOLID_LIBS ${solid_LIB_DEPENDS} ${KDE4_SOLID_LIBRARY} ) + +   find_library(KDE4_THREADWEAVER_LIBRARY NAMES threadweaver PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_THREADWEAVER_LIBRARIES ${threadweaver_LIB_DEPENDS} ${KDE4_THREADWEAVER_LIBRARY} ) + +   find_library(KDE4_KNOTIFYCONFIG_LIBRARY NAMES knotifyconfig PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KNOTIFYCONFIG_LIBS ${knotifyconfig_LIB_DEPENDS} ${KDE4_KNOTIFYCONFIG_LIBRARY} ) + +   find_library(KDE4_KROSSCORE_LIBRARY NAMES krosscore PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KROSSCORE_LIBS ${krosscore_LIB_DEPENDS} ${KDE4_KROSSCORE_LIBRARY} ) +   find_library(KDE4_KROSSUI_LIBRARY NAMES krossui PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KROSSUI_LIBS ${krossui_LIB_DEPENDS} ${KDE4_KROSSCORE_LIBS} ${KDE4_KROSSUI_LIBRARY} ) + +   find_library(KDE4_KTEXTEDITOR_LIBRARY NAMES ktexteditor PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   set(KDE4_KTEXTEDITOR_LIBS ${ktexteditor_LIB_DEPENDS} ${KDE4_KTEXTEDITOR_LIBRARY} ) + +   # Can't do that, it's not always compiled. +   #find_library(KDE4_KNEPOMUK_LIBRARY NAMES knepomuk PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   #set(KDE4_KNEPOMUK_LIBS ${knepomuk_LIB_DEPENDS} ${KDE4_KNEPOMUK_LIBRARY} ) + +   # Can't do that, it's not always compiled. See FindKMetaData.cmake +   #find_library(KDE4_KMETADATA_LIBRARY NAMES kmetadata PATHS ${KDE4_LIB_INSTALL_DIR} NO_DEFAULT_PATH ) +   #set(KDE4_KMETADATA_LIBS ${kmetadata_LIB_DEPENDS} ${KDE4_KMETADATA_LIBRARY} ) + +   get_filename_component(KDE4_LIB_DIR ${KDE4_KDECORE_LIBRARY} PATH ) + +   # kpassworddialog.h is new with KDE4 +   # KDE4_INCLUDE_INSTALL_DIR is defined by KDELibsDependencies.cmake +   find_path(KDE4_INCLUDE_DIR kpassworddialog.h ${KDE4_INCLUDE_INSTALL_DIR} NO_DEFAULT_PATH ) + +   # at first look in LIBEXEC_INSTALL_DIR and no default paths, +   # if this didn't succeed, the second call makes cmake search again, but in the standard paths +   find_program(KDE4_KCFGC_EXECUTABLE NAME kconfig_compiler PATHS ${KDE4_BIN_INSTALL_DIR} NO_DEFAULT_PATH ) +   find_program(KDE4_KCFGC_EXECUTABLE NAME kconfig_compiler ) + +   find_program(KDE4_MEINPROC_EXECUTABLE NAME meinproc4 PATHS ${KDE4_BIN_INSTALL_DIR} NO_DEFAULT_PATH ) +   find_program(KDE4_MEINPROC_EXECUTABLE NAME meinproc4 ) + +   find_program(KDE4_MAKEKDEWIDGETS_EXECUTABLE NAME makekdewidgets PATHS ${KDE4_BIN_INSTALL_DIR} NO_DEFAULT_PATH ) +   find_program(KDE4_MAKEKDEWIDGETS_EXECUTABLE NAME makekdewidgets ) + +endif (_kdeBootStrapping) + + +#####################  and now the platform specific stuff  ############################ + +# Set a default build type for single-configuration +# CMake generators if no build type is set. +if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) +   set(CMAKE_BUILD_TYPE RelWithDebInfo) +endif (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + + +if (WIN32) + +   if(CYGWIN) +      message(FATAL_ERROR "Support for Cygwin NOT yet implemented, please edit FindKDE4.cmake to enable it") +   endif(CYGWIN) + +   find_package(KDEWIN32 REQUIRED) + +   # limit win32 packaging to kdelibs at now  +   # don't know if package name, version and notes are always available  +   if(_kdeBootStrapping) +      find_package(KDEWIN_Packager) +	  if (KDEWIN_PACKAGER_FOUND) +         KDEWIN_PACKAGER("kdelibs" "${KDE_VERSION}" "KDE base library" "") +      endif (KDEWIN_PACKAGER_FOUND) + +      include(Win32Macros) +      addExplorerWrapper("kdelibs") +   endif(_kdeBootStrapping) + +   set( _KDE4_PLATFORM_INCLUDE_DIRS ${KDEWIN32_INCLUDES}) + +   # if we are compiling kdelibs, add KDEWIN32_LIBRARIES explicitely, +   # otherwise they come from KDELibsDependencies.cmake, Alex +   if (_kdeBootStrapping) +      set( KDE4_KDECORE_LIBS ${KDE4_KDECORE_LIBS} ${KDEWIN32_LIBRARIES} ) +   endif (_kdeBootStrapping) + +   # windows, mingw +   if(MINGW) +      #hmmm, something special to do here ? +   endif(MINGW) + +   # windows, microsoft compiler +   if(MSVC) +      set( _KDE4_PLATFORM_DEFINITIONS -DKDE_FULL_TEMPLATE_EXPORT_INSTANTIATION -DWIN32_LEAN_AND_MEAN -DUNICODE ) +      # C4250: 'class1' : inherits 'class2::member' via dominance +      set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -wd4250" ) +      # C4251: 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' +      set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -wd4251" ) +      # C4396: 'identifier' : 'function' the inline specifier cannot be used when a friend declaration refers to a specialization of a function template +      set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -wd4396" ) +      if(CMAKE_COMPILER_2005) +         # to avoid a lot of deprecated warnings +         add_definitions( -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS ) +         # 'identifier' : no suitable definition provided for explicit template instantiation request +         set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -wd4661" ) +      endif(CMAKE_COMPILER_2005) +   endif(MSVC) + + +   # for visual studio IDE set the path correctly for custom commands +   # maybe under windows bat-files should be generated for running apps during the build +   if(MSVC_IDE) +     get_filename_component(PERL_LOCATION "${PERL_EXECUTABLE}" PATH) +     file(TO_NATIVE_PATH "${PERL_LOCATION}" PERL_PATH_WINDOWS) +     file(TO_NATIVE_PATH "${QT_BINARY_DIR}" QT_BIN_DIR_WINDOWS) +     set(CMAKE_MSVCIDE_RUN_PATH "${PERL_PATH_WINDOWS}\;${QT_BIN_DIR_WINDOWS}" +       CACHE STATIC "MSVC IDE Run path" FORCE) +   endif(MSVC_IDE) + +endif (WIN32) + + +# also use /usr/local by default under UNIX, including Mac OS X +if (UNIX) +   option(KDE4_USE_ALWAYS_FULL_RPATH "If set to TRUE, also libs and plugins will be linked with the full RPATH, which will usually make them work better, but make install will take longer." OFF) + +   link_directories(/usr/local/lib) +   set( _KDE4_PLATFORM_INCLUDE_DIRS /usr/local/include ) + +   # the rest is RPATH handling +   # here the defaults are set +   # which are partly overwritten in kde4_handle_rpath_for_library() +   # and kde4_handle_rpath_for_executable(), both located in KDE4Macros.cmake, Alex +   if (APPLE) +      set(CMAKE_INSTALL_NAME_DIR ${LIB_INSTALL_DIR}) +   else (APPLE) +      # add our LIB_INSTALL_DIR to the RPATH and use the RPATH figured out by cmake when compiling +      set(CMAKE_INSTALL_RPATH ${LIB_INSTALL_DIR} ) +      set(CMAKE_SKIP_BUILD_RPATH TRUE) +      set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) +      set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +   endif (APPLE) +endif (UNIX) + + +if (Q_WS_X11) +   # Done by FindQt4.cmake already +   #find_package(X11 REQUIRED) +   # UNIX has already set _KDE4_PLATFORM_INCLUDE_DIRS, so append +   set(_KDE4_PLATFORM_INCLUDE_DIRS ${_KDE4_PLATFORM_INCLUDE_DIRS} ${X11_INCLUDE_DIR} ) +endif (Q_WS_X11) + + +# This will need to be modified later to support either Qt/X11 or Qt/Mac builds +if (APPLE) + +  set ( _KDE4_PLATFORM_DEFINITIONS -D__APPLE_KDE__ ) + +  # we need to set MACOSX_DEPLOYMENT_TARGET to (I believe) at least 10.2 or maybe 10.3 to allow +  # -undefined dynamic_lookup; in the future we should do this programmatically +  # hmm... why doesn't this work? +  set (ENV{MACOSX_DEPLOYMENT_TARGET} 10.3) + +  # "-undefined dynamic_lookup" means we don't care about missing symbols at link-time by default +  # this is bad, but unavoidable until there is the equivalent of libtool -no-undefined implemented +  # or perhaps it already is, and I just don't know where to look  ;) + +  set (CMAKE_SHARED_LINKER_FLAGS "-single_module -multiply_defined suppress ${CMAKE_SHARED_LINKER_FLAGS}") +  set (CMAKE_MODULE_LINKER_FLAGS "-multiply_defined suppress ${CMAKE_MODULE_LINKER_FLAGS}") +  #set(CMAKE_SHARED_LINKER_FLAGS "-single_module -undefined dynamic_lookup -multiply_defined suppress") +  #set(CMAKE_MODULE_LINKER_FLAGS "-undefined dynamic_lookup -multiply_defined suppress") + +  # we profile... +  if(CMAKE_BUILD_TYPE_TOLOWER MATCHES profile) +    set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fprofile-arcs -ftest-coverage") +    set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage") +  endif(CMAKE_BUILD_TYPE_TOLOWER MATCHES profile) + +  # removed -Os, was there a special reason for using -Os instead of -O2 ?, Alex +  # optimization flags are set below for the various build types +  set (CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -fno-common") +  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common") +endif (APPLE) + + +if (CMAKE_SYSTEM_NAME MATCHES Linux) +   if (CMAKE_COMPILER_IS_GNUCXX) +      set ( _KDE4_PLATFORM_DEFINITIONS -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE) +      set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}") +      set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}") +      # we profile... +      if(CMAKE_BUILD_TYPE_TOLOWER MATCHES profile) +        set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fprofile-arcs -ftest-coverage") +        set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage") +      endif(CMAKE_BUILD_TYPE_TOLOWER MATCHES profile) +   endif (CMAKE_COMPILER_IS_GNUCXX) +   if (CMAKE_C_COMPILER MATCHES "icc") +      set ( _KDE4_PLATFORM_DEFINITIONS -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE) +      set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}") +      set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}") +   endif (CMAKE_C_COMPILER MATCHES "icc") +endif (CMAKE_SYSTEM_NAME MATCHES Linux) + +if (CMAKE_SYSTEM_NAME MATCHES BSD) +   set ( _KDE4_PLATFORM_DEFINITIONS -D_GNU_SOURCE ) +   set ( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -lc") +   set ( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -lc") +endif (CMAKE_SYSTEM_NAME MATCHES BSD) + +# compiler specific stuff, maybe this should be done differently, Alex + +if (MSVC) +   set (KDE4_ENABLE_EXCEPTIONS -EHsc) +endif(MSVC) + +if (MINGW) +   set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--export-all-symbols") +   set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--export-all-symbols") +endif (MINGW) + +if (CMAKE_COMPILER_IS_GNUCXX) +   set (KDE4_ENABLE_EXCEPTIONS -fexceptions) +   # Select flags. +   set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g") +   set(CMAKE_CXX_FLAGS_RELEASE        "-O2") +   set(CMAKE_CXX_FLAGS_DEBUG          "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline") +   set(CMAKE_CXX_FLAGS_DEBUGFULL      "-g3 -fno-inline") +   set(CMAKE_CXX_FLAGS_PROFILE        "-g3 -fno-inline -ftest-coverage -fprofile-arcs") +   set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g") +   set(CMAKE_C_FLAGS_RELEASE          "-O2") +   set(CMAKE_C_FLAGS_DEBUG            "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline") +   set(CMAKE_C_FLAGS_DEBUGFULL        "-g3 -fno-inline") +   set(CMAKE_C_FLAGS_PROFILE          "-g3 -fno-inline -ftest-coverage -fprofile-arcs") + +   if (CMAKE_SYSTEM_NAME MATCHES Linux) +     set ( CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -Wno-long-long -std=iso9899:1990 -Wundef -Wcast-align -Werror-implicit-function-declaration -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common") +     set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -fno-check-new -fno-common") +     add_definitions (-D_BSD_SOURCE) +   endif (CMAKE_SYSTEM_NAME MATCHES Linux) + + +   check_cxx_compiler_flag(-fPIE HAVE_FPIE_SUPPORT) +   if(KDE4_ENABLE_FPIE) +       if(HAVE_FPIE_SUPPORT) +        set (KDE4_CXX_FPIE_FLAGS "-fPIE") +        set (KDE4_PIE_LDFLAGS "-pie") +       else(HAVE_FPIE_SUPPORT) +        MESSAGE(STATUS "Your compiler doesn't support PIE flag") +       endif(HAVE_FPIE_SUPPORT) +   endif(KDE4_ENABLE_FPIE) +   # save a little by making local statics not threadsafe +   check_cxx_compiler_flag(-fno-threadsafe-statics __KDE_HAVE_NO_THREADSAFE_STATICS) +   if (__KDE_HAVE_NO_THREADSAFE_STATICS) +       # currently disabled for Alpha1 due to what appears +       # to be a compiler bug +       # see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31806 +       #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-threadsafe-statics") +   endif (__KDE_HAVE_NO_THREADSAFE_STATICS) + +   # visibility support +   check_cxx_compiler_flag(-fvisibility=hidden __KDE_HAVE_GCC_VISIBILITY) + +   # get the gcc version +   exec_program(${CMAKE_C_COMPILER} ARGS --version OUTPUT_VARIABLE _gcc_version_info) + +   string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}") +   # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the patch level, handle this here: +   if (NOT _gcc_version) +      string (REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0" _gcc_version "${_gcc_version_info}") +   endif (NOT _gcc_version) + +   macro_ensure_version("4.1.0" "${_gcc_version}" GCC_IS_NEWER_THAN_4_1) +   macro_ensure_version("4.2.0" "${_gcc_version}" GCC_IS_NEWER_THAN_4_2) + +   set(_GCC_COMPILED_WITH_BAD_ALLOCATOR FALSE) +   if (GCC_IS_NEWER_THAN_4_1) +      exec_program(${CMAKE_C_COMPILER} ARGS -v OUTPUT_VARIABLE _gcc_alloc_info) +      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) +      set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden") +      set (KDE4_C_FLAGS "-fvisibility=hidden") + +      if (GCC_IS_NEWER_THAN_4_2) +          set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden") +      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) +      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) + +endif (CMAKE_COMPILER_IS_GNUCXX) + +if (CMAKE_C_COMPILER MATCHES "icc") +   set (KDE4_ENABLE_EXCEPTIONS -fexceptions) +   # Select flags. +   set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g") +   set(CMAKE_CXX_FLAGS_RELEASE        "-O2") +   set(CMAKE_CXX_FLAGS_DEBUG          "-O2 -g -0b0 -noalign") +   set(CMAKE_CXX_FLAGS_DEBUGFULL      "-g -Ob0 -noalign") +   set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g") +   set(CMAKE_C_FLAGS_RELEASE          "-O2") +   set(CMAKE_C_FLAGS_DEBUG            "-O2 -g -Ob0 -noalign") +   set(CMAKE_C_FLAGS_DEBUGFULL        "-g -Ob0 -noalign") + +   set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS}   -ansi -Wpointer-arith -fno-common") +   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ansi -Wpointer-arith -fno-exceptions -fno-common") + +   # visibility support +   set(__KDE_HAVE_ICC_VISIBILITY) +#   check_cxx_compiler_flag(-fvisibility=hidden __KDE_HAVE_ICC_VISIBILITY) +#   if (__KDE_HAVE_ICC_VISIBILITY) +#      set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden") +#   endif (__KDE_HAVE_ICC_VISIBILITY) + +endif (CMAKE_C_COMPILER MATCHES "icc") + +# we prefer to use a different postfix for debug libs only on Windows +# does not work atm +if (WIN32) +   SET(CMAKE_DEBUG_POSTFIX "") +endif (WIN32) + +###########    end of platform specific stuff  ########################## + + +# KDE4Macros.cmake contains all the KDE specific macros +include(${kde_cmake_module_dir}/KDE4Macros.cmake) + + +# decide whether KDE4 has been found +set(KDE4_FOUND FALSE) +if (KDE4_INCLUDE_DIR AND KDE4_LIB_DIR AND KDE4_KCFGC_EXECUTABLE AND KDE4_INSTALLED_VERSION_OK) +   set(KDE4_FOUND TRUE) +endif (KDE4_INCLUDE_DIR AND KDE4_LIB_DIR AND KDE4_KCFGC_EXECUTABLE AND KDE4_INSTALLED_VERSION_OK) + + +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.0 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 library dir: ${KDE4_LIB_DIR}") +       else(KDE4_LIB_DIR) +          message(STATUS "ERROR: unable to find KDE 4 core library") +       endif(KDE4_LIB_DIR) +   endif (NOT _kdeBootStrapping) + +   if(KDE4_KCFGC_EXECUTABLE) +      message(STATUS "Found KDE4 kconfig_compiler preprocessor: ${KDE4_KCFGC_EXECUTABLE}") +   else(KDE4_KCFGC_EXECUTABLE) +      message(STATUS "Didn't find the KDE4 kconfig_compiler preprocessor") +   endif(KDE4_KCFGC_EXECUTABLE) +endmacro (KDE4_PRINT_RESULTS) + + +if (KDE4Internal_FIND_REQUIRED AND NOT KDE4_FOUND) +   #bail out if something wasn't found +   kde4_print_results() +   if (NOT KDE4_INSTALLED_VERSION_OK) +     message(FATAL_ERROR "ERROR: the installed kdelibs version ${KDEVERSION} is too old, at least version ${KDE_MIN_VERSION} is required") +   endif (NOT KDE4_INSTALLED_VERSION_OK) + +   if (NOT KDE4_KCFGC_EXECUTABLE) +     message(FATAL_ERROR "ERROR: could not detect a usable kconfig-compiler") +   endif (NOT KDE4_KCFGC_EXECUTABLE) + +   message(FATAL_ERROR "ERROR: could NOT find everything required for compiling KDE 4 programs") +endif (KDE4Internal_FIND_REQUIRED AND NOT KDE4_FOUND) + + +if (NOT KDE4Internal_FIND_QUIETLY) +   kde4_print_results() +endif (NOT KDE4Internal_FIND_QUIETLY) + +#add the found Qt and KDE include directories to the current include path +#the ${KDE4_INCLUDE_DIR}/KDE directory is for forwarding includes, eg. #include <KMainWindow> +set(KDE4_INCLUDES ${QT_INCLUDES} ${KDE4_INCLUDE_DIR} ${KDE4_INCLUDE_DIR}/KDE ${_KDE4_PLATFORM_INCLUDE_DIRS} ) + +set(KDE4_DEFINITIONS ${_KDE4_PLATFORM_DEFINITIONS} -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS ) + +if (NOT _kde4_uninstall_rule_created) +   set(_kde4_uninstall_rule_created TRUE) + +   configure_file("${kde_cmake_module_dir}/kde4_cmake_uninstall.cmake.in" "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake" @ONLY) + +   add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake") + +endif (NOT _kde4_uninstall_rule_created) | 
