generic: move stuff from KDE4Internal module to KDELibs4Config

large-scale changes to the build system, nothing a user sees tho - it is
all under the hood

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2023-06-17 09:11:52 +03:00
parent fd808fe0e8
commit 36c910c653
42 changed files with 408 additions and 562 deletions

View file

@ -30,11 +30,10 @@ endif()
# enter bootstrap mode
set(_kdeBootStrapping TRUE)
set(KDE4_INCLUDE_DIR ${kdelibs_SOURCE_DIR})
set(KDE4_TARGET_PREFIX KDE4::)
set(KDE4_KCFGC_EXECUTABLE kconfig_compiler${CMAKE_EXECUTABLE_SUFFIX})
set(KDE4_MAKEKDEWIDGETS_EXECUTABLE makekdewidgets${CMAKE_EXECUTABLE_SUFFIX})
set(KDE4_LIB_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR})
set(KDE4_INSTALLED_VERSION_OK TRUE)
set(KDE4_ENABLE_EXCEPTIONS "-fexceptions -UQT_NO_EXCEPTIONS")
set(KDE_DEFAULT_HOME ".katana" CACHE STRING "The default home directory" )
set(KDE4_EXEC_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "KDE installation prefix")
@ -47,7 +46,7 @@ set(KDE4_INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}" CACHE PATH "KDE
set(KDE4_PLUGIN_INSTALL_DIR "${KDE4_LIB_INSTALL_DIR}/kde4" CACHE PATH "KDE plugins installation directory")
set(KDE4_IMPORTS_INSTALL_DIR "${KDE4_PLUGIN_INSTALL_DIR}/imports" CACHE PATH "KDE imports installation directory")
set(KDE4_CONFIG_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/config" CACHE PATH "KDE config installation directory")
set(KDE4_DATA_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/apps" CACHE PATH "KDE data installation directory")
set(KDE4_DATA_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}" CACHE PATH "KDE data installation directory")
set(KDE4_ICON_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/icons" CACHE PATH "KDE icon installation directory")
set(KDE4_KCFG_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/config.kcfg" CACHE PATH "KDE kcfg installation directory")
set(KDE4_LOCALE_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/translations/kde4" CACHE PATH "KDE locale installation directory")
@ -65,20 +64,53 @@ set(KDE4_DBUS_INTERFACES_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/dbus-1/interf
set(KDE4_DBUS_SERVICES_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/dbus-1/services" CACHE PATH "KDE D-Bus services installation directory")
set(KDE4_DBUS_SYSTEM_SERVICES_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/dbus-1/system-services" CACHE PATH "KDE D-Bus system services installation directory")
set(KDE4_DEFINITIONS
-DQT_NO_CAST_TO_ASCII
-DQT_DEPRECATED_WARNINGS
)
set(_kde_libraries
kmediaplayer
kcmutils
kdeclarative
kdecore
kdeui
kexiv2
kpasswdstore
kpowermanager
kdnssd
karchive
kemail
kfile
kidletime
kio
knotifyconfig
kparts
kpty
ktexteditor
plasma
solid
)
foreach(_lib ${_kde_libraries})
string(TOUPPER ${_lib} _upperlib)
set(KDE4_${_upperlib}_LIBS ${_lib})
endforeach()
configure_file(
"${CMAKE_SOURCE_DIR}/cmake/modules/kde4_exec.sh.in"
"${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/kde4_exec.sh"
@ONLY
)
file(
COPY "${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/kde4_exec.sh"
DESTINATION "${CMAKE_BINARY_DIR}"
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ WORLD_READ
)
################# now find all used packages #################
find_package(KDE4Internal REQUIRED)
include(KDE4Defaults)
# X11 Session Management (SM) is required
# X11_SM_FOUND is set in FindX11, which is required by KDE4Internal
if(NOT X11_SM_FOUND)
message(FATAL_ERROR "The X11 Session Management (SM) development package could not be found")
endif(NOT X11_SM_FOUND)
if(NOT X11_XSync_FOUND AND NOT X11_Xscreensaver_FOUND)
message(FATAL_ERROR "Neither the XSync (libXext) nor XScreensaver (libXss) development package was found")
endif(NOT X11_XSync_FOUND AND NOT X11_Xscreensaver_FOUND)
include(KDE4Macros)
if(ENABLE_TESTING)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
@ -138,6 +170,16 @@ set_package_properties(CURL PROPERTIES
PURPOSE "E-mail library and KIO HTTP(S) slave"
)
# X11 Session Management (SM) is required
# X11_SM_FOUND is set in FindX11, which is required by KDE4Internal
if(NOT X11_SM_FOUND)
message(FATAL_ERROR "The X11 Session Management (SM) development package could not be found")
endif()
if(NOT X11_XSync_FOUND AND NOT X11_Xscreensaver_FOUND)
message(FATAL_ERROR "Neither the XSync (libXext) nor XScreensaver (libXss) development package was found")
endif()
# optional features
kde4_bool_to_01(X11_XTest_FOUND HAVE_XTEST)
kde4_bool_to_01(X11_Xcursor_FOUND HAVE_XCURSOR)
@ -467,8 +509,16 @@ add_subdirectory( solid )
################# write kdelibs package config files which will be installed #################
configure_file(KDE4Config.cmake ${CMAKE_CURRENT_BINARY_DIR}/KDE4Config.cmake @ONLY)
configure_file(KDE4Version.cmake ${CMAKE_CURRENT_BINARY_DIR}/KDE4Version.cmake @ONLY)
configure_file(
KDELibs4Config.cmake
${CMAKE_CURRENT_BINARY_DIR}/KDELibs4Config.cmake
@ONLY
)
configure_file(
KDELibs4ConfigVersion.cmake
${CMAKE_CURRENT_BINARY_DIR}/KDELibs4ConfigVersion.cmake
@ONLY
)
################# install files #################
@ -481,22 +531,22 @@ install(
# ${KDE4_SHARE_INSTALL_PREFIX}/cmake/KDE4
install(
FILES
${CMAKE_CURRENT_BINARY_DIR}/KDE4Config.cmake
${CMAKE_CURRENT_BINARY_DIR}/KDE4Version.cmake
DESTINATION ${KDE4_DATA_INSTALL_DIR}/cmake/modules
${CMAKE_CURRENT_BINARY_DIR}/KDELibs4Config.cmake
${CMAKE_CURRENT_BINARY_DIR}/KDELibs4ConfigVersion.cmake
DESTINATION ${KDE4_DATA_INSTALL_DIR}/cmake/KDELibs4
)
install(
EXPORT kdelibsLibraryTargets
NAMESPACE ${KDE4_TARGET_PREFIX}
FILE KDELibs4LibraryTargets.cmake
DESTINATION ${KDE4_DATA_INSTALL_DIR}/cmake/modules
DESTINATION ${KDE4_DATA_INSTALL_DIR}/cmake/KDELibs4
)
install(
EXPORT kdelibsToolsTargets
NAMESPACE ${KDE4_TARGET_PREFIX}
FILE KDELibs4ToolsTargets.cmake
DESTINATION ${KDE4_DATA_INSTALL_DIR}/cmake/modules
DESTINATION ${KDE4_DATA_INSTALL_DIR}/cmake/KDELibs4
)
feature_summary(WHAT ALL

View file

@ -1,31 +0,0 @@
set(KDE_DEFAULT_HOME "@KDE_DEFAULT_HOME@")
set(KDE4_TARGET_PREFIX "@KDE4_TARGET_PREFIX@")
set(KDE4_INSTALL_DIR "@CMAKE_INSTALL_PREFIX@")
set(KDE4_EXEC_INSTALL_PREFIX "@KDE4_EXEC_INSTALL_PREFIX@")
set(KDE4_SHARE_INSTALL_PREFIX "@KDE4_SHARE_INSTALL_PREFIX@")
set(KDE4_BIN_INSTALL_DIR "@KDE4_BIN_INSTALL_DIR@")
set(KDE4_SBIN_INSTALL_DIR "@KDE4_SBIN_INSTALL_DIR@")
set(KDE4_LIB_INSTALL_DIR "@KDE4_LIB_INSTALL_DIR@")
set(KDE4_LIBEXEC_INSTALL_DIR "@KDE4_LIBEXEC_INSTALL_DIR@")
set(KDE4_INCLUDE_INSTALL_DIR "@KDE4_INCLUDE_INSTALL_DIR@")
set(KDE4_PLUGIN_INSTALL_DIR "@KDE4_PLUGIN_INSTALL_DIR@")
set(KDE4_IMPORTS_INSTALL_DIR "@KDE4_IMPORTS_INSTALL_DIR@")
set(KDE4_CONFIG_INSTALL_DIR "@KDE4_CONFIG_INSTALL_DIR@")
set(KDE4_DATA_INSTALL_DIR "@KDE4_DATA_INSTALL_DIR@")
set(KDE4_ICON_INSTALL_DIR "@KDE4_ICON_INSTALL_DIR@")
set(KDE4_KCFG_INSTALL_DIR "@KDE4_KCFG_INSTALL_DIR@")
set(KDE4_LOCALE_INSTALL_DIR "@KDE4_LOCALE_INSTALL_DIR@")
set(KDE4_SERVICES_INSTALL_DIR "@KDE4_SERVICES_INSTALL_DIR@")
set(KDE4_SERVICETYPES_INSTALL_DIR "@KDE4_SERVICETYPES_INSTALL_DIR@")
set(KDE4_SOUND_INSTALL_DIR "@KDE4_SOUND_INSTALL_DIR@")
set(KDE4_TEMPLATES_INSTALL_DIR "@KDE4_TEMPLATES_INSTALL_DIR@")
set(KDE4_WALLPAPER_INSTALL_DIR "@KDE4_WALLPAPER_INSTALL_DIR@")
set(KDE4_AUTOSTART_INSTALL_DIR "@KDE4_AUTOSTART_INSTALL_DIR@")
set(KDE4_XDG_APPS_INSTALL_DIR "@KDE4_XDG_APPS_INSTALL_DIR@")
set(KDE4_XDG_DIRECTORY_INSTALL_DIR "@KDE4_XDG_DIRECTORY_INSTALL_DIR@")
set(KDE4_XDG_MIME_INSTALL_DIR "@KDE4_XDG_MIME_INSTALL_DIR@")
set(KDE4_SYSCONF_INSTALL_DIR "@KDE4_SYSCONF_INSTALL_DIR@")
set(KDE4_DBUS_INTERFACES_INSTALL_DIR "@KDE4_DBUS_INTERFACES_INSTALL_DIR@")
set(KDE4_DBUS_SERVICES_INSTALL_DIR "@KDE4_DBUS_SERVICES_INSTALL_DIR@")
set(KDE4_DBUS_SYSTEM_SERVICES_INSTALL_DIR "@KDE4_DBUS_SYSTEM_SERVICES_INSTALL_DIR@")

View file

@ -1,5 +0,0 @@
set(KDE_VERSION_MAJOR "@KDE_VERSION_MAJOR@")
set(KDE_VERSION_MINOR "@KDE_VERSION_MINOR@")
set(KDE_VERSION_RELEASE "@KDE_VERSION_RELEASE@")
set(KDE_VERSION "@KDE_VERSION@")
set(KDE_VERSION_STRING "@KDE_VERSION_STRING@")

233
KDELibs4Config.cmake Normal file
View file

@ -0,0 +1,233 @@
# - Find the KDE4 include and library dirs, KDE preprocessors and define a some macros
#
# This module defines the following variables:
#
# KDELIBS4_FOUND - set to TRUE if everything required for building KDE software has been found
#
# KDE4_DEFINITIONS - compiler definitions required for compiling KDE software
# KDE4_INCLUDES - all include directories required for KDE, i.e.
# KDE4_INCLUDE_INSTALL_DIR, but also the Katie and X11 include directories
# KDE4_LIB_INSTALL_DIR - the directory where libraries from kdelibs are installed
# KDE4_LIBEXEC_INSTALL_DIR - the directory where libexec executables from kdelibs are installed
# KDE4_INCLUDE_INSTALL_DIR - the directory where headers from kdelibs are installed
# KDE4_BIN_INSTALL_DIR - the directory where executables from kdelibs are installed
# KDE4_SBIN_INSTALL_DIR - the directory where system executables from kdelibs are installed
# KDE4_DATA_INSTALL_DIR - the parent directory where kdelibs applications install their data
# KDE4_CONFIG_INSTALL_DIR - the directory where config files from kdelibs are installed
# KDE4_ICON_INSTALL_DIR - the directory where icons from kdelibs are
# KDE4_IMPORTS_INSTALL_DIR - the directory where imports from kdelibs are
# KDE4_KCFG_INSTALL_DIR - the directory where kconfig files from kdelibs are installed
# KDE4_LOCALE_INSTALL_DIR - the directory where translations from kdelibs are installed
# KDE4_MIME_INSTALL_DIR - the directory where mimetype desktop files from kdelibs are installed
# KDE4_SOUND_INSTALL_DIR - the directory where sound files from kdelibs are installed
# KDE4_TEMPLATES_INSTALL_DIR - the directory where templates (Create new file...) from kdelibs are installed
# KDE4_WALLPAPER_INSTALL_DIR - the directory where wallpapers from kdelibs are installed
# KDE4_AUTOSTART_INSTALL_DIR - the directory where autostart from kdelibs are installed
# KDE4_XDG_APPS_INSTALL_DIR - the XDG apps dir from kdelibs
# KDE4_XDG_DIRECTORY_INSTALL_DIR - the XDG directory from kdelibs
# KDE4_XDG_MIME_INSTALL_DIR - the XDG mimetypes install dir from kdelibs
# KDE4_SYSCONF_INSTALL_DIR - the directory where sysconfig files from kdelibs are installed
# KDE4_SERVICES_INSTALL_DIR - the directory where service (desktop, protocol, ...) files from kdelibs are installed
# KDE4_SERVICETYPES_INSTALL_DIR - the directory where servicestypes desktop files from kdelibs are installed
# KDE4_DBUS_INTERFACES_DIR - the directory where dbus interfaces from kdelibs are installed
# KDE4_DBUS_SERVICES_INSTALL_DIR - the directory where dbus service files from kdelibs are installed
# KDE4_DBUS_SYSTEM_SERVICES_INSTALL_DIR - the directory where dbus system services from kdelibs are installed
#
# The following variables are defined for the various tools required to
# compile KDE software:
#
# KDE4_KCFGC_EXECUTABLE - the kconfig_compiler executable
# KDE4_MAKEKDEWIDGETS_EXECUTABLE - the makekdewidgets executable
#
# The following variables contain all of the depending libraries:
#
# KDE4_KDECORE_LIBS - the kdecore library and all depending libraries
# KDE4_KDEUI_LIBS - the kdeui library and all depending libraries
# KDE4_KIO_LIBS - the kio library and all depending libraries
# KDE4_KPARTS_LIBS - the kparts library and all depending libraries
# KDE4_KIDLETIME_LIBS - the kidletime library and all depending libraries
# KDE4_KCMUTILS_LIBS - the kcmutils library and all depending libraries
# KDE4_KFILE_LIBS - the kfile library and all depending libraries
# KDE4_KPTY_LIBS - the kpty 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_KTEXTEDITOR_LIBS - the ktexteditor library and all depending libraries
# KDE4_PLASMA_LIBS - the plasma library and all depending librairies
# KDE4_KEXIV2_LIBS - the kexiv2 library and all depending libraries
# KDE4_KMEDIAPLAYER_LIBS - the kmediaplayer library and all depending libraries
# KDE4_KPASSWDSTORE_LIBS - the kpasswdstore library and all depending libraries
# KDE4_KPOWERMANAGER_LIBS - the kpowermanager library and all depending libraries
# KDE4_KDNSSD_LIBS - the kdnssd library and all depending libraries
# KDE4_KARCHIVE_LIBS - the karchive library and all depending libraries
#
# This module allows to depend on a particular minimum version of kdelibs.
# To acomplish that one should use the appropriate cmake syntax for
# find_package. For example to depend on kdelibs >= 4.23.0 one should use
#
# find_package(KDELibs4 4.23.0 REQUIRED)
#
# Copyright (c) 2006-2009, 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.
# Only do something if it hasn't been found yet
if(NOT KDELIBS4_FOUND)
set(KDELIBS4_FOUND TRUE)
set(KDE4_DEFINITIONS "@KDE4_DEFINITIONS@")
set(KDE_DEFAULT_HOME "@KDE_DEFAULT_HOME@")
set(KDE4_TARGET_PREFIX "@KDE4_TARGET_PREFIX@")
set(KDE4_ENABLE_EXCEPTIONS "@KDE4_ENABLE_EXCEPTIONS@")
set(KDE4_INSTALL_DIR "@CMAKE_INSTALL_PREFIX@")
set(KDE4_EXEC_INSTALL_PREFIX "@KDE4_EXEC_INSTALL_PREFIX@")
set(KDE4_SHARE_INSTALL_PREFIX "@KDE4_SHARE_INSTALL_PREFIX@")
set(KDE4_BIN_INSTALL_DIR "@KDE4_BIN_INSTALL_DIR@")
set(KDE4_SBIN_INSTALL_DIR "@KDE4_SBIN_INSTALL_DIR@")
set(KDE4_LIB_INSTALL_DIR "@KDE4_LIB_INSTALL_DIR@")
set(KDE4_LIBEXEC_INSTALL_DIR "@KDE4_LIBEXEC_INSTALL_DIR@")
set(KDE4_INCLUDE_INSTALL_DIR "@KDE4_INCLUDE_INSTALL_DIR@")
set(KDE4_PLUGIN_INSTALL_DIR "@KDE4_PLUGIN_INSTALL_DIR@")
set(KDE4_IMPORTS_INSTALL_DIR "@KDE4_IMPORTS_INSTALL_DIR@")
set(KDE4_CONFIG_INSTALL_DIR "@KDE4_CONFIG_INSTALL_DIR@")
set(KDE4_DATA_INSTALL_DIR "@KDE4_DATA_INSTALL_DIR@")
set(KDE4_ICON_INSTALL_DIR "@KDE4_ICON_INSTALL_DIR@")
set(KDE4_KCFG_INSTALL_DIR "@KDE4_KCFG_INSTALL_DIR@")
set(KDE4_LOCALE_INSTALL_DIR "@KDE4_LOCALE_INSTALL_DIR@")
set(KDE4_SERVICES_INSTALL_DIR "@KDE4_SERVICES_INSTALL_DIR@")
set(KDE4_SERVICETYPES_INSTALL_DIR "@KDE4_SERVICETYPES_INSTALL_DIR@")
set(KDE4_SOUND_INSTALL_DIR "@KDE4_SOUND_INSTALL_DIR@")
set(KDE4_TEMPLATES_INSTALL_DIR "@KDE4_TEMPLATES_INSTALL_DIR@")
set(KDE4_WALLPAPER_INSTALL_DIR "@KDE4_WALLPAPER_INSTALL_DIR@")
set(KDE4_AUTOSTART_INSTALL_DIR "@KDE4_AUTOSTART_INSTALL_DIR@")
set(KDE4_XDG_APPS_INSTALL_DIR "@KDE4_XDG_APPS_INSTALL_DIR@")
set(KDE4_XDG_DIRECTORY_INSTALL_DIR "@KDE4_XDG_DIRECTORY_INSTALL_DIR@")
set(KDE4_XDG_MIME_INSTALL_DIR "@KDE4_XDG_MIME_INSTALL_DIR@")
set(KDE4_SYSCONF_INSTALL_DIR "@KDE4_SYSCONF_INSTALL_DIR@")
set(KDE4_DBUS_INTERFACES_INSTALL_DIR "@KDE4_DBUS_INTERFACES_INSTALL_DIR@")
set(KDE4_DBUS_SERVICES_INSTALL_DIR "@KDE4_DBUS_SERVICES_INSTALL_DIR@")
set(KDE4_DBUS_SYSTEM_SERVICES_INSTALL_DIR "@KDE4_DBUS_SYSTEM_SERVICES_INSTALL_DIR@")
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
set(KDE4_DEFINITIONS "${KDE4_DEFINITIONS} -DNDEBUG")
endif()
find_package(Katie QUIET REQUIRED 4.13.0)
find_package(X11 QUIET REQUIRED)
# add the found Katie and KDE include directories to the current include path
# the ${KDE4_INCLUDE_INSTALL_DIR}/KDE directory is for forwarding includes, e.g.
# #include <KMainWindow>
set(KDE4_INCLUDES
${KDE4_INCLUDE_INSTALL_DIR}
${KDE4_INCLUDE_INSTALL_DIR}/KDE
${QT_INCLUDES}
${X11_INCLUDE_DIR}
)
# add some more default search paths
set(CMAKE_SYSTEM_INCLUDE_PATH
${CMAKE_SYSTEM_INCLUDE_PATH}
"${KDE4_INCLUDE_INSTALL_DIR}"
)
set(CMAKE_SYSTEM_PROGRAM_PATH
${CMAKE_SYSTEM_PROGRAM_PATH}
"${KDE4_BIN_INSTALL_DIR}"
)
set(CMAKE_SYSTEM_LIBRARY_PATH
${CMAKE_SYSTEM_LIBRARY_PATH}
"${KDE4_LIB_INSTALL_DIR}"
)
set(kde_cmake_module_dir "${KDE4_DATA_INSTALL_DIR}/cmake/modules")
# get the directory of the current file, used later on in the file
get_filename_component(kdelibs4_config_dir ${CMAKE_CURRENT_LIST_FILE} PATH)
# allow searching cmake modules in the kde install locations
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${kde_cmake_module_dir}")
# KDELibs4ConfigVersion.cmake contains KDE version
include(${kdelibs4_config_dir}/KDELibs4ConfigVersion.cmake)
# KDE4Defaults.cmake contains KDE defaults
include(${kdelibs4_config_dir}/KDE4Defaults.cmake)
# Now include the file with the imported tools (executable targets).
# This export-file is generated and installed by the toplevel CMakeLists.txt of kdelibs.
# Having the libs and tools in two separate files should help with cross compiling.
include(${kdelibs4_config_dir}/KDELibs4ToolsTargets.cmake)
set(KDE4_KCFGC_EXECUTABLE ${KDE4_TARGET_PREFIX}kconfig_compiler)
set(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${KDE4_TARGET_PREFIX}makekdewidgets)
set(_kde_libraries
kmediaplayer
kcmutils
kdeclarative
kdecore
kdeui
kexiv2
kpasswdstore
kpowermanager
kdnssd
karchive
kemail
kfile
kidletime
kio
knotifyconfig
kparts
kpty
ktexteditor
plasma
solid
)
foreach(_lib ${_kde_libraries})
string(TOUPPER ${_lib} _upperlib)
set(KDE4_${_upperlib}_LIBS ${KDE4_TARGET_PREFIX}${_lib})
endforeach()
# This file contains the exported library target from kdelibs (new with cmake 2.6.x), e.g.
# the library target "kdeui" is exported as "KDE4::kdeui". The "KDE4::" is used as
# "namespace" to separate the imported targets from "normal" targets, it is stored in
# KDE4_TARGET_PREFIX, which is set in KDELibsDependencies.cmake .
# This export-file is generated and installed by the toplevel CMakeLists.txt of kdelibs.
# Include it to "import" the libraries from kdelibs into the current projects as targets.
# This makes setting the _LIBS variables actually a bit superfluos, since e.g. the kdeui
# library could now also be used just as "KDE4::kdeui" and still have all their dependent
# libraries handled correctly. But to keep compatibility and not to change behaviour we
# set all these variables anyway as seen below. Alex
include(${kdelibs4_config_dir}/KDELibs4LibraryTargets.cmake)
# KDE4Macros.cmake contains all the KDE specific macros
include(${kdelibs4_config_dir}/KDE4Macros.cmake)
configure_file(
"${kde_cmake_module_dir}/kde4_exec.sh.in"
"${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/kde4_exec.sh"
@ONLY
)
file(
COPY "${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/kde4_exec.sh"
DESTINATION "${CMAKE_BINARY_DIR}"
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ WORLD_READ
)
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
COMMAND "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake"
)
endif()
if(NOT KDELIBS4_FIND_QUIETLY)
message(STATUS "Found KDE version: ${KDE_VERSION}")
endif()
endif()

View file

@ -0,0 +1,21 @@
set(KDE_VERSION_MAJOR "@KDE_VERSION_MAJOR@")
set(KDE_VERSION_MINOR "@KDE_VERSION_MINOR@")
set(KDE_VERSION_RELEASE "@KDE_VERSION_RELEASE@")
set(KDE_VERSION "@KDE_VERSION@")
set(KDE_VERSION_STRING "@KDE_VERSION_STRING@")
# Compatibility with find_package() query and version requirement
set(PACKAGE_VERSION "${KDE_VERSION}")
set(PACKAGE_VERSION_MAJOR "${KDE_VERSION_MAJOR}")
set(PACKAGE_VERSION_MINOR "${KDE_VERSION_MINOR}")
set(PACKAGE_VERSION_PATCH "${KDE_VERSION_RELEASE}")
# Check whether the requested PACKAGE_FIND_VERSION is compatible
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
set(PACKAGE_VERSION_COMPATIBLE TRUE)
if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
set(PACKAGE_VERSION_EXACT TRUE)
endif()
endif()

View file

@ -1,7 +1,5 @@
## install the cmake files
set(module_install_dir ${KDE4_DATA_INSTALL_DIR}/cmake/modules)
# This variable doesn't actually do anything, but it's probably a good idea
# to have it around, so there is a place where the modules which are not installed
# are listed explicitly:
@ -18,6 +16,7 @@ set(cmakeFilesDontInstall
FindLibJPEG.cmake
FindOpenJPEG.cmake
FindWebP.cmake
FindExiv2.cmake
)
# Explicitly list all files which will be installed.
@ -29,15 +28,12 @@ set(cmakeFiles
cmake-modules-styleguide.txt
FindDjVuLibre.cmake
FindEPub.cmake
FindExiv2.cmake
FindFFmpegThumbnailer.cmake
FindFontconfig.cmake
FindGettextPO.cmake
FindGLIB2.cmake
FindGMP.cmake
FindGphoto2.cmake
FindKDE4Internal.cmake
FindKDE4Workspace.cmake
FindKmod.cmake
FindLibATASmart.cmake
FindLibDeflate.cmake
@ -65,8 +61,16 @@ set(cmakeFiles
FindXCB.cmake
kde4_cmake_uninstall.cmake.in
kde4_exec.sh.in
KDE4Defaults.cmake
KDE4Macros.cmake
)
install(FILES ${cmakeFiles} DESTINATION ${module_install_dir})
install(
FILES ${cmakeFiles}
DESTINATION ${KDE4_DATA_INSTALL_DIR}/cmake/modules
)
install(
FILES
KDE4Defaults.cmake
KDE4Macros.cmake
DESTINATION ${KDE4_DATA_INSTALL_DIR}/cmake/KDELibs4
)

View file

@ -1,373 +0,0 @@
# - 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(). In general, this is not necessary.
# KDE4_LIB_INSTALL_DIR - the directory where libraries from kdelibs are installed
# KDE4_LIBEXEC_INSTALL_DIR - the directory where libexec executables from kdelibs are installed
# KDE4_BIN_INSTALL_DIR - the directory where executables from kdelibs are installed
# KDE4_SBIN_INSTALL_DIR - the directory where system executables from kdelibs are installed
# KDE4_DATA_INSTALL_DIR - the parent directory where kdelibs applications install their data
# KDE4_CONFIG_INSTALL_DIR - the directory where config files from kdelibs are installed
# KDE4_ICON_INSTALL_DIR - the directory where icons from kdelibs are
# KDE4_IMPORTS_INSTALL_DIR - the directory where imports from kdelibs are
# KDE4_KCFG_INSTALL_DIR - the directory where kconfig files from kdelibs are installed
# KDE4_LOCALE_INSTALL_DIR - the directory where translations from kdelibs are installed
# KDE4_MIME_INSTALL_DIR - the directory where mimetype desktop files from kdelibs are installed
# KDE4_SOUND_INSTALL_DIR - the directory where sound files from kdelibs are installed
# KDE4_TEMPLATES_INSTALL_DIR - the directory where templates (Create new file...) from kdelibs are installed
# KDE4_WALLPAPER_INSTALL_DIR - the directory where wallpapers from kdelibs are installed
# KDE4_AUTOSTART_INSTALL_DIR - the directory where autostart from kdelibs are installed
# KDE4_XDG_APPS_INSTALL_DIR - the XDG apps dir from kdelibs
# KDE4_XDG_DIRECTORY_INSTALL_DIR - the XDG directory from kdelibs
# KDE4_XDG_MIME_INSTALL_DIR - the XDG mimetypes install dir from kdelibs
# KDE4_SYSCONF_INSTALL_DIR - the directory where sysconfig files from kdelibs are installed
# KDE4_SERVICES_INSTALL_DIR - the directory where service (desktop, protocol, ...) files from kdelibs are installed
# KDE4_SERVICETYPES_INSTALL_DIR - the directory where servicestypes desktop files from kdelibs are installed
# KDE4_DBUS_INTERFACES_DIR - the directory where dbus interfaces from kdelibs are installed
# KDE4_DBUS_SERVICES_INSTALL_DIR - the directory where dbus service files from kdelibs are installed
# KDE4_DBUS_SYSTEM_SERVICES_INSTALL_DIR - the directory where dbus system services from kdelibs are installed
#
# The following variables are defined for the various tools required to
# compile KDE software:
#
# KDE4_KCFGC_EXECUTABLE - the kconfig_compiler executable
# KDE4_MAKEKDEWIDGETS_EXECUTABLE - the makekdewidgets executable
#
# The following variables contain all of the depending libraries:
#
# KDE4_KDECORE_LIBS - the kdecore library and all depending libraries
# KDE4_KDEUI_LIBS - the kdeui library and all depending libraries
# KDE4_KIO_LIBS - the kio library and all depending libraries
# KDE4_KPARTS_LIBS - the kparts library and all depending libraries
# KDE4_KIDLETIME_LIBS - the kidletime library and all depending libraries
# KDE4_KCMUTILS_LIBS - the kcmutils library and all depending libraries
# KDE4_KFILE_LIBS - the kfile library and all depending libraries
# KDE4_KPTY_LIBS - the kpty 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_KTEXTEDITOR_LIBS - the ktexteditor library and all depending libraries
# KDE4_PLASMA_LIBS - the plasma library and all depending librairies
# KDE4_KEXIV2_LIBS - the kexiv2 library and all depending libraries
# KDE4_KMEDIAPLAYER_LIBS - the kmediaplayer library and all depending libraries
# KDE4_KPASSWDSTORE_LIBS - the kpasswdstore library and all depending libraries
# KDE4_KPOWERMANAGER_LIBS - the kpowermanager library and all depending libraries
# KDE4_KDNSSD_LIBS - the kdnssd library and all depending libraries
# KDE4_KARCHIVE_LIBS - the karchive library and all depending libraries
#
# The variable INSTALL_TARGETS_DEFAULT_ARGS can be used when installing libraries
# or executables into the default locations.
# The INSTALL_TARGETS_DEFAULT_ARGS variable should be used when libraries are installed.
# It should also be used when installing applications.
# The variable MUST NOT be used for installing plugins.
# It also MUST NOT be used for executables which are intended to go into sbin/ or libexec/.
#
# Usage is like this:
# install(TARGETS kdecore kdeui ${INSTALL_TARGETS_DEFAULT_ARGS})
#
# This module allows to depend on a particular minimum version of kdelibs.
# To acomplish that one should use the appropriate cmake syntax for
# find_package. For example to depend on kdelibs >= 4.23.0 one should use
#
# find_package(KDE4 4.23.0 REQUIRED)
#
# In earlier versions of KDE you could use the variable KDE_MIN_VERSION to
# have such a dependency. This variable is deprecated with KDE 4.2.0, but
# will still work to make the module backwards-compatible.
# Copyright (c) 2006-2009, 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.
# this is required by cmake >=2.6
cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)
# CMP0000: don't require cmake_minimum_version() directly in the top level
# CMakeLists.txt, FindKDE4Internal.cmake is good enough
cmake_policy(SET CMP0000 OLD)
# CMP0003: add the link paths to the link command as with cmake 2.4
cmake_policy(SET CMP0003 OLD)
if(NOT CMAKE_VERSION VERSION_LESS "3.3.0")
# CMP0003: enable symbols visibility preset for all targets
cmake_policy(SET CMP0063 NEW)
endif()
if(NOT CMAKE_VERSION VERSION_LESS "3.10.0")
cmake_policy(SET CMP0071 OLD)
endif()
# Only do something if it hasn't been found yet
if(NOT KDE4_FOUND)
# 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)
# We may only search for other packages with "REQUIRED" if we are required ourselves.
# This file can be processed either (usually) included in FindKDE4.cmake or
# (when building kdelibs) directly via FIND_PACKAGE(KDE4Internal), that's why
# we have to check for both KDE4_FIND_REQUIRED and KDE4Internal_FIND_REQUIRED.
if(KDE4_FIND_REQUIRED OR KDE4Internal_FIND_REQUIRED)
set(_REQ_STRING_KDE4 REQUIRED)
endif()
find_package(Katie ${_REQ_STRING_KDE4} 4.13.0)
find_package(X11 REQUIRED)
# Used in configure_file() and install(EXPORT)
set(KDE4_TARGET_PREFIX KDE4::)
####################### #now try to find some kde stuff ################################
if(NOT _kdeBootStrapping)
# These files contain information about the installed kdelibs
include(${kde_cmake_module_dir}/KDE4Config.cmake)
include(${kde_cmake_module_dir}/KDE4Version.cmake)
# Check the version of KDE. It must be at least KDE_MIN_VERSION as set by the user.
# KDE_VERSION is set in KDE4Version.cmake since KDE 4.17.x.
set(KDE4_INSTALLED_VERSION_OK FALSE)
if(NOT "${KDE_VERSION}" VERSION_LESS "${KDE_MIN_VERSION}")
set(KDE4_INSTALLED_VERSION_OK TRUE)
endif()
# KDE4_LIB_INSTALL_DIR and KDE4_INCLUDE_INSTALL_DIR are set in KDE4Config.cmake,
# use them to set the KDE4_LIB_DIR and KDE4_INCLUDE_DIR "public interface" variables
set(KDE4_LIB_DIR ${KDE4_LIB_INSTALL_DIR})
set(KDE4_INCLUDE_DIR ${KDE4_INCLUDE_INSTALL_DIR})
# Now include the file with the imported tools (executable targets).
# This export-file is generated and installed by the toplevel CMakeLists.txt of kdelibs.
# Having the libs and tools in two separate files should help with cross compiling.
include(${kde_cmake_module_dir}/KDELibs4ToolsTargets.cmake)
set(KDE4_KCFGC_EXECUTABLE ${KDE4_TARGET_PREFIX}kconfig_compiler)
set(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${KDE4_TARGET_PREFIX}makekdewidgets)
# allow searching cmake modules in the kde install locations
set(kde_modules_install_dir "${KDE4_DATA_INSTALL_DIR}/cmake/modules")
if(EXISTS "${kde_modules_install_dir}")
string(TOLOWER "${kde_modules_install_dir}" _apath)
# ignore already added pathes, case insensitive
foreach(adir ${CMAKE_MODULE_PATH})
string(TOLOWER "${adir}" _adir)
if(NOT "${_adir}" STREQUAL "${_apath}")
message(STATUS "Adding ${kde_modules_install_dir} to CMAKE_MODULE_PATH")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${kde_modules_install_dir}")
endif()
endforeach()
endif()
# This file contains the exported library target from kdelibs (new with cmake 2.6.x), e.g.
# the library target "kdeui" is exported as "KDE4::kdeui". The "KDE4::" is used as
# "namespace" to separate the imported targets from "normal" targets, it is stored in
# KDE4_TARGET_PREFIX, which is set in KDELibsDependencies.cmake .
# This export-file is generated and installed by the toplevel CMakeLists.txt of kdelibs.
# Include it to "import" the libraries from kdelibs into the current projects as targets.
# This makes setting the _LIBS variables actually a bit superfluos, since e.g. the kdeui
# library could now also be used just as "KDE4::kdeui" and still have all their dependent
# libraries handled correctly. But to keep compatibility and not to change behaviour we
# set all these variables anyway as seen below. Alex
include(${kde_cmake_module_dir}/KDELibs4LibraryTargets.cmake)
endif(NOT _kdeBootStrapping)
# Set the various KDE4_FOO_LIBS variables.
# In bootstrapping mode KDE4_TARGET_PREFIX is empty, so e.g. KDE4_KDECORE_LIBS
# will be simply set to "kdecore".
set(_kde_libraries
kmediaplayer
kcmutils
kdeclarative
kdecore
kdeui
kexiv2
kpasswdstore
kpowermanager
kdnssd
karchive
kemail
kfile
kidletime
kio
knotifyconfig
kparts
kpty
ktexteditor
plasma
solid
)
foreach(_lib ${_kde_libraries})
string(TOUPPER ${_lib} _upperlib)
if(_kdeBootStrapping)
set(KDE4_${_upperlib}_LIBS ${_lib})
else()
set(KDE4_${_upperlib}_LIBS ${KDE4_TARGET_PREFIX}${_lib})
endif()
endforeach()
##################### provide some options ##########################################
configure_file(
"${kde_cmake_module_dir}/kde4_exec.sh.in"
"${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/kde4_exec.sh"
@ONLY
)
file(
COPY "${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/kde4_exec.sh"
DESTINATION "${CMAKE_BINARY_DIR}"
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ WORLD_READ
)
if(ENABLE_TESTING)
enable_testing()
endif()
##################### some more settings ##########################################
# For more documentation see above.
# The COMPONENT Devel argument has the effect that static libraries belong to the
# "Devel" install component. If we use this also for all install() commands
# for header files, it will be possible to install
# -everything: make install OR cmake -P cmake_install.cmake
# -only the development files: cmake -DCOMPONENT=Devel -P cmake_install.cmake
# -everything except the development files: cmake -DCOMPONENT=Unspecified -P cmake_install.cmake
# This can then also be used for packaging with cpack.
set(INSTALL_TARGETS_DEFAULT_ARGS
RUNTIME DESTINATION "${KDE4_BIN_INSTALL_DIR}"
LIBRARY DESTINATION "${KDE4_LIB_INSTALL_DIR}"
ARCHIVE DESTINATION "${KDE4_LIB_INSTALL_DIR}"
COMPONENT Devel
)
############## add some more default search paths ###############
set(CMAKE_SYSTEM_INCLUDE_PATH
${CMAKE_SYSTEM_INCLUDE_PATH}
"${KDE4_INCLUDE_INSTALL_DIR}"
)
set(CMAKE_SYSTEM_PROGRAM_PATH
${CMAKE_SYSTEM_PROGRAM_PATH}
"${KDE4_BIN_INSTALL_DIR}"
)
set(CMAKE_SYSTEM_LIBRARY_PATH
${CMAKE_SYSTEM_LIBRARY_PATH}
"${KDE4_LIB_INSTALL_DIR}"
)
# mostly for compilers (e.g. Clang) and linkers (e.g. LLDB) with no clue what
# default search path is
include_directories(${KDE4_INCLUDE_INSTALL_DIR})
link_directories(${KDE4_LIB_INSTALL_DIR})
######################################################
# and now the platform specific stuff
######################################################
if(WIN32 OR CYGWIN OR APPLE)
message(FATAL_ERROR "Windows/Cygwin/Apple is NOT supported.")
endif()
############################################################
# compiler specific settings
############################################################
set(KDE4_ENABLE_EXCEPTIONS "-fexceptions -UQT_NO_EXCEPTIONS")
########### 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)
set(KDE4Internal_FOUND TRUE) # for feature_summary
endif()
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.23 include dir: ${KDE4_INCLUDE_DIR}")
else()
message(STATUS "ERROR: unable to find the KDE 4 headers")
endif()
if(KDE4_LIB_DIR)
message(STATUS "Found KDE 4.23 library dir: ${KDE4_LIB_DIR}")
else()
message(STATUS "ERROR: unable to find the KDE 4 core library")
endif()
endif()
if(KDE4_KCFGC_EXECUTABLE)
message(STATUS "Found the KDE4 kconfig_compiler preprocessor: ${KDE4_KCFGC_EXECUTABLE}")
else()
message(STATUS "Didn't find the KDE4 kconfig_compiler preprocessor")
endif()
endmacro()
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 ${KDE_VERSION} is too old, at least version ${KDE_MIN_VERSION} is required")
endif()
if(NOT KDE4_KCFGC_EXECUTABLE)
message(FATAL_ERROR "ERROR: could not detect a usable kconfig_compiler")
endif()
message(FATAL_ERROR "ERROR: could NOT find everything required for compiling KDE 4 programs")
endif()
if(NOT KDE4Internal_FIND_QUIETLY)
kde4_print_results()
endif()
# add the found Katie 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
${KDE4_INCLUDE_DIR}
${KDE4_INCLUDE_DIR}/KDE
${QT_INCLUDES}
${X11_INCLUDE_DIR}
)
set(KDE4_DEFINITIONS
-DQT_NO_CAST_TO_ASCII
-DQT_DEPRECATED_WARNINGS
)
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
set(KDE4_DEFINITIONS "${KDE4_DEFINITIONS} -DNDEBUG")
endif()
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
COMMAND "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake"
)
endif()
endif(NOT KDE4_FOUND)

View file

@ -1,41 +0,0 @@
# Find if we installed kdebase/workspaces.
# Once done this will define
#
# KDE4WORKSPACE_FOUND - system has KDE workspace installed
# KDE4WORKSPACE_INCLUDE_DIR - the KDE workspace include directory
#
# It also sets variables for the following libraries:
# KDE4WORKSPACE_TASKMANAGER_LIBRARY, KDE4WORKSPACE_TASKMANAGER_LIBS
# KDE4WORKSPACE_KWORKSPACE_LIBRARY, KDE4WORKSPACE_KWORKSPACE_LIBS
# KDE4WORKSPACE_PROCESSUI_LIBRARY, KDE4WORKSPACE_PROCESSUI_LIBS
# KDE4WORKSPACE_LSOFUI_LIBRARY, KDE4WORKSPACE_LSOFUI_LIBS
# KDE4WORKSPACE_PLASMACLOCK_LIBRARY, KDE4WORKSPACE_PLASMACLOCK_LIBS
# KDE4WORKSPACE_KSCREENSAVER_LIBRARY, KDE4WORKSPACE_KSCREENSAVER_LIBS
# KDE4WORKSPACE_WEATHERION_LIBRARY, KDE4WORKSPACE_WEATHERION_LIBS
# KDE4WORKSPACE_KWINEFFECTS_LIBRARY, KDE4WORKSPACE_KWINEFFECTS_LIBS
# KDE4WORKSPACE_KDECORATIONS_LIBRARY, KDE4WORKSPACE_KDECORATIONS_LIBS
# KDE4WORKSPACE_KSGRD_LIBRARY, KDE4WORKSPACE_KSGRD_LIBS
# KDE4WORKSPACE_KONQ_LIBRARY, KDE4WORKSPACE_KONQ_LIBS
#
# Copyright (c) 2008, Alexander Neundorf, <neundorf@kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
# The find_package() call below loads the file KDE4WorkspaceConfig.cmake file.
# This file is created and installed by kdebase/workspace/CMakeLists.txt
# It contains settings for all install location of kdebase/workspace, as e.g.
# KDE4WORKSPACE_INCLUDE_DIR, and also variables for all libraries.
# See kdebase/workspace/CMakeLists.txt and kdebase/workspace/KDE4WorkspaceConfig.cmake.in
# for details. Alex
find_package(KDE4 REQUIRED)
set(_KDE4Workspace_FIND_QUIETLY ${KDE4Workspace_FIND_QUIETLY})
find_package(KDE4Workspace QUIET NO_MODULE PATHS ${CMAKE_MODULE_PATH} )
set(KDE4Workspace_FIND_QUIETLY ${_KDE4Workspace_FIND_QUIETLY})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(KDE4Workspace DEFAULT_MSG KDE4Workspace_CONFIG )

View file

@ -1,3 +1,20 @@
# this is required by cmake >=2.6
cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)
# CMP0000: don't require cmake_minimum_version() directly in the top level
# CMakeLists.txt, FindKDE4Internal.cmake is good enough
cmake_policy(SET CMP0000 OLD)
# CMP0003: add the link paths to the link command as with cmake 2.4
cmake_policy(SET CMP0003 OLD)
if(NOT CMAKE_VERSION VERSION_LESS "3.3.0")
# CMP0003: enable symbols visibility preset for all targets
cmake_policy(SET CMP0063 NEW)
endif()
if(NOT CMAKE_VERSION VERSION_LESS "3.10.0")
cmake_policy(SET CMP0071 OLD)
endif()
# let cmake handle mocking and UI compiling
# since cmake 2.8.6
set(CMAKE_AUTOMOC ON)
@ -40,3 +57,7 @@ set(CMAKE_UNITY_BUILD_BATCH_SIZE 200)
# libraries
set(GENERIC_LIB_VERSION "4.23")
set(GENERIC_LIB_SOVERSION "4")
if(ENABLE_TESTING)
enable_testing()
endif()

View file

@ -362,7 +362,6 @@ install(
KSpellDictionaryComboBox
KSpellConfigWidget
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/KDE
COMPONENT Devel
)
install(
@ -370,7 +369,6 @@ install(
KAccelGen/Deref
KAccelGen/Deref_Key
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/KDE/KAccelGen
COMPONENT Devel
)
install(
@ -404,7 +402,6 @@ install(
KIO/Task
KIO/TransferJob
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/KDE/KIO
COMPONENT Devel
)
install(
@ -424,7 +421,6 @@ install(
KParts/ReadWritePart
KParts/StatusBarExtension
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/KDE/KParts
COMPONENT Devel
)
@ -434,7 +430,6 @@ install(
KSettings/Dispatcher
KSettings/PluginPage
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/KDE/KSettings
COMPONENT Devel
)
install(
@ -477,7 +472,6 @@ install(
KTextEditor/VariableInterface
KTextEditor/View
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/KDE/KTextEditor
COMPONENT Devel
)
@ -506,7 +500,6 @@ install(
Solid/StorageVolume
Solid/Graphic
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/KDE/Solid
COMPONENT Devel
)
install(
@ -579,5 +572,4 @@ install(
Plasma/Wallpaper
Plasma/WindowEffects
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/KDE/Plasma
COMPONENT Devel
)

View file

@ -49,7 +49,7 @@ set_target_properties(ktexteditor PROPERTIES
install(
TARGETS ktexteditor
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
########### install files ###############
@ -102,7 +102,6 @@ install(
recoveryinterface.h
messageinterface.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/ktexteditor
COMPONENT Devel
)
install(

View file

@ -1,7 +1,7 @@
project(tetest)
find_package(KDE4 REQUIRED)
include(KDE4Defaults)
find_package(KDELibs4 REQUIRED)
include_directories(${QT_INCLUDES} ${KDE4_INCLUDES})
add_definitions(${QT_DEFINITIONS} ${KDE_DEFINITIONS})

View file

@ -55,11 +55,10 @@ install(
kdeclarative.h
${CMAKE_CURRENT_BINARY_DIR}/kdeclarative_export.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
install(
TARGETS kdeclarative
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)

View file

@ -184,7 +184,7 @@ set_target_properties(kdecore PROPERTIES
install(
TARGETS kdecore
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
########### next target ###############
@ -199,7 +199,10 @@ add_executable(kde4-config kde-config.cpp )
target_link_libraries(kde4-config ${KDE4_KDECORE_LIBS})
install(TARGETS kde4-config ${INSTALL_TARGETS_DEFAULT_ARGS})
install(
TARGETS kde4-config
DESTINATION ${KDE4_BIN_INSTALL_DIR}
)
########### install files ###############
@ -291,7 +294,6 @@ install(
util/qtest_kde.h
${CMAKE_CURRENT_BINARY_DIR}/kdeversion.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
install(
@ -314,5 +316,4 @@ install(
dbus_policy.stub
dbus_service.stub
DESTINATION ${KDE4_DATA_INSTALL_DIR}/kauth
COMPONENT Devel
)

View file

@ -8,5 +8,5 @@ target_link_libraries(kconfig_compiler
install(
TARGETS kconfig_compiler
EXPORT kdelibsToolsTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_BIN_INSTALL_DIR}
)

View file

@ -310,7 +310,7 @@ static const struct ResourcesTblData {
const char* const type;
const char* const relativename;
} ResourcesTbl[] = {
{ "data\0", "share/apps\0" },
{ "data\0", "share\0" },
{ "icon\0", "share/icons\0" },
{ "config\0", "share/config\0" },
{ "pixmap\0", "share/pixmaps\0" },

View file

@ -24,12 +24,14 @@ set(kded_SRCS
${CMAKE_CURRENT_BINARY_DIR}/org.kde.kded.xml
)
add_executable(kded4 ${kded_SRCS})
target_link_libraries(kded4 ${KDE4_KIO_LIBS} ${X11_LIBRARIES})
install(TARGETS kded4 ${INSTALL_TARGETS_DEFAULT_ARGS})
install(
TARGETS kded4
DESTINATION ${KDE4_BIN_INSTALL_DIR}
)
qt4_generate_dbus_interface(kdedadaptor.h org.kde.kded.xml)
install(
@ -66,7 +68,10 @@ target_link_libraries(kbuildsycoca4
${QT_QTXML_LIBRARY}
)
install(TARGETS kbuildsycoca4 ${INSTALL_TARGETS_DEFAULT_ARGS})
install(
TARGETS kbuildsycoca4
DESTINATION ${KDE4_BIN_INSTALL_DIR}
)
########### install files ###############

View file

@ -377,7 +377,7 @@ generate_export_header(kdeui)
install(
TARGETS kdeui
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
install(
@ -392,10 +392,8 @@ install(
)
install(
FILES
xmlgui/ui_standards.rc
DESTINATION
${KDE4_CONFIG_INSTALL_DIR}/ui
FILES xmlgui/ui_standards.rc
DESTINATION ${KDE4_CONFIG_INSTALL_DIR}/ui
)
install(
@ -589,7 +587,6 @@ install(
util/fixx11h.h
util/kkeyserver_x11.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
# KDE 5 remove this
@ -598,7 +595,6 @@ install(
widgets/kratingpainter.h
widgets/kratingwidget.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/nepomuk
COMPONENT Devel
)
install(

View file

@ -1,7 +1,6 @@
project(krichtexteditor)
find_package(KDE4 REQUIRED)
include(KDE4Defaults)
find_package(KDELibs4 REQUIRED)
include_directories(${KDE4_INCLUDES})
add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})

View file

@ -1800,8 +1800,6 @@ void KLineEdit::setClickMessage( const QString &msg )
update();
}
void KLineEdit::setPasswordMode(bool b)
{
if(b)

View file

@ -22,7 +22,7 @@ target_link_libraries(makekdewidgets ${KDE4_KDECORE_LIBS})
install(
TARGETS makekdewidgets
EXPORT kdelibsToolsTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_BIN_INSTALL_DIR}
)
########### next target ###############

View file

@ -58,7 +58,7 @@ set_target_properties(kfile PROPERTIES
install(
TARGETS kfile
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
generate_export_header(kfile)
@ -79,7 +79,6 @@ install(
knameandurlinputdialog.h
${CMAKE_CURRENT_BINARY_DIR}/kfile_export.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
############ module used by KFileDialog ##########

View file

@ -38,7 +38,10 @@ target_link_libraries(klauncher4
kde4_add_dbus_service(org.kde.klauncher.service.in)
install(TARGETS klauncher4 DESTINATION ${KDE4_BIN_INSTALL_DIR})
install(
TARGETS klauncher4
DESTINATION ${KDE4_BIN_INSTALL_DIR}
)
install(
FILES

View file

@ -155,7 +155,7 @@ set_target_properties(kio PROPERTIES
install(
TARGETS kio
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
install(
@ -202,7 +202,6 @@ install(
kio/skipdialog.h
kio/udsentry.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/kio
COMPONENT Devel
)
install(
@ -253,7 +252,6 @@ install(
bookmarks/kbookmarkmenu.h
bookmarks/kbookmarkdialog.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
install(

View file

@ -54,8 +54,7 @@
* \code
* project(filetypethumbcreator)
*
* find_package(KDE4 REQUIRED)
* include (KDE4Defaults)
* find_package(KDELibs4 REQUIRED)
*
* set(filetypethumbnail_SRCS filetypethumbnail.cpp)
*

View file

@ -10,7 +10,7 @@ target_link_libraries(kmailservice ${KDE4_KDECORE_LIBS})
install(
TARGETS kmailservice
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_BIN_INSTALL_DIR}
)
install(
PROGRAMS kmailservice.desktop
@ -25,7 +25,7 @@ target_link_libraries(ktelnetservice ${KDE4_KDEUI_LIBS})
install(
TARGETS ktelnetservice
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_BIN_INSTALL_DIR}
)
install(
PROGRAMS ktelnetservice.desktop

View file

@ -36,7 +36,7 @@ set_target_properties(knotifyconfig PROPERTIES
install(
TARGETS knotifyconfig
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
########### install files ###############
@ -48,5 +48,4 @@ install(
${CMAKE_CURRENT_BINARY_DIR}/knotifyconfig_export.h
knotifyconfigwidget.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)

View file

@ -38,7 +38,7 @@ set_target_properties(kparts PROPERTIES
install(
TARGETS kparts
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
########### install files ###############
@ -64,5 +64,4 @@ install(
factory.h
statusbarextension.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/kparts
COMPONENT Devel
)

View file

@ -25,7 +25,7 @@ set_target_properties(kpty PROPERTIES
install(
TARGETS kpty
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
generate_export_header(kpty)
@ -37,7 +37,6 @@ install(
kptydevice.h
kptyprocess.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
########### next target ###############

View file

@ -77,13 +77,12 @@ install(
${CMAKE_CURRENT_BINARY_DIR}/kidletime_export.h
kidletime/kidletime.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
install(
TARGETS kidletime
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
########### kcmutils ###############
@ -127,7 +126,6 @@ install(
kpluginselector.h
kcmodulecontainer.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
install(
@ -136,11 +134,10 @@ install(
ksettings/dialog.h
ksettings/pluginpage.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/ksettings
COMPONENT Devel
)
install(
TARGETS kcmutils
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)

View file

@ -54,13 +54,12 @@ install(
kcompressor.h
kdecompressor.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
install(
TARGETS karchive
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
if(ENABLE_TESTING)

View file

@ -31,11 +31,10 @@ install(
${CMAKE_CURRENT_BINARY_DIR}/kdnssd_export.h
kdnssd.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
install(
TARGETS kdnssd
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)

View file

@ -35,11 +35,10 @@ install(
kemaildialog.h
kemailsettings.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
install(
TARGETS kemail
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)

View file

@ -36,13 +36,12 @@ install(
${CMAKE_CURRENT_BINARY_DIR}/kexiv2_export.h
kexiv2.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
install(
TARGETS kexiv2
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
if(ENABLE_TESTING)

View file

@ -39,13 +39,12 @@ install(
kmediaplayer.h
kmediawidget.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
install(
TARGETS kmediaplayer
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
add_subdirectory(kded)

View file

@ -37,13 +37,12 @@ install(
kpasswdstore.h
kpasswdroulettedialog.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
install(
TARGETS kpasswdstore
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
add_subdirectory(kded)

View file

@ -29,13 +29,12 @@ install(
${CMAKE_CURRENT_BINARY_DIR}/kpowermanager_export.h
kpowermanager.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
COMPONENT Devel
)
install(
TARGETS kpowermanager
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
add_subdirectory(kded)

View file

@ -175,7 +175,7 @@ set_target_properties(plasma PROPERTIES
install(
TARGETS plasma
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
########### install files ###############
@ -226,7 +226,6 @@ install(
wallpaper.h
${CMAKE_CURRENT_BINARY_DIR}/plasma_export.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/plasma
COMPONENT Devel
)
install(
@ -258,7 +257,6 @@ install(
widgets/treeview.h
widgets/textedit.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/plasma/widgets
COMPONENT Devel
)
install(
@ -266,14 +264,12 @@ install(
scripting/appletscript.h
scripting/scriptengine.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/plasma/scripting
COMPONENT Devel
)
install(
FILES
animations/animation.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/plasma/animations
COMPONENT Devel
)

View file

@ -1,7 +1,6 @@
project(plasma-containmentactions-test)
find_package(KDE4 REQUIRED)
include(KDE4Defaults)
find_package(KDELibs4 REQUIRED)
include_directories(
${CMAKE_SOURCE_DIR}

View file

@ -1,7 +1,6 @@
project(plasma_testengine_dataengine)
find_package(KDE4 REQUIRED)
include(KDE4Defaults)
find_package(KDELibs4 REQUIRED)
include_directories(
${CMAKE_SOURCE_DIR}

View file

@ -210,7 +210,7 @@ set_target_properties(solid PROPERTIES
install(
TARGETS solid
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
DESTINATION ${KDE4_LIB_INSTALL_DIR}
)
install(
@ -250,5 +250,4 @@ install(
video.h
graphic.h
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/solid
COMPONENT Devel
)

View file

@ -128,7 +128,6 @@ namespace Solid
Modem
};
private:
/**
* Creates a new AudioInterface object.