2014-11-13 01:04:59 +02:00
|
|
|
project(kdelibs)
|
|
|
|
|
2023-06-10 22:52:22 +03:00
|
|
|
include(GNUInstallDirs)
|
2022-10-02 16:51:51 +03:00
|
|
|
include(GenerateExportHeader)
|
|
|
|
include(FeatureSummary)
|
|
|
|
|
2014-11-13 01:04:59 +02:00
|
|
|
# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
|
|
|
|
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
|
|
|
|
|
|
|
|
################# set KDE specific information #################
|
|
|
|
|
2015-10-29 08:11:13 +02:00
|
|
|
set(KDE_VERSION_MAJOR 4)
|
2023-08-09 23:13:36 +03:00
|
|
|
set(KDE_VERSION_MINOR 24)
|
2015-10-29 08:11:13 +02:00
|
|
|
set(KDE_VERSION_RELEASE 0)
|
2021-02-03 06:38:21 +02:00
|
|
|
set(KDE_VERSION "${KDE_VERSION_MAJOR}.${KDE_VERSION_MINOR}.${KDE_VERSION_RELEASE}")
|
2015-10-29 08:11:13 +02:00
|
|
|
set(KDE_VERSION_STRING "${KDE_VERSION}")
|
2014-11-13 01:04:59 +02:00
|
|
|
|
2015-10-31 05:45:34 +02:00
|
|
|
execute_process(
|
|
|
|
COMMAND git rev-parse --short HEAD
|
|
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
|
|
OUTPUT_VARIABLE git_revision
|
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
|
|
ERROR_QUIET
|
|
|
|
RESULT_VARIABLE _unused
|
|
|
|
)
|
|
|
|
if(git_revision)
|
|
|
|
set(KDE_VERSION_STRING "${KDE_VERSION_STRING} (${git_revision})")
|
|
|
|
endif()
|
|
|
|
|
2023-06-10 22:52:22 +03:00
|
|
|
# enter bootstrap mode
|
|
|
|
set(_kdeBootStrapping TRUE)
|
|
|
|
|
2023-06-17 09:11:52 +03:00
|
|
|
set(KDE4_TARGET_PREFIX KDE4::)
|
2023-06-10 22:52:22 +03:00
|
|
|
set(KDE4_KCFGC_EXECUTABLE kconfig_compiler${CMAKE_EXECUTABLE_SUFFIX})
|
|
|
|
set(KDE4_MAKEKDEWIDGETS_EXECUTABLE makekdewidgets${CMAKE_EXECUTABLE_SUFFIX})
|
2023-06-17 09:11:52 +03:00
|
|
|
set(KDE4_ENABLE_EXCEPTIONS "-fexceptions -UQT_NO_EXCEPTIONS")
|
2023-06-10 22:52:22 +03:00
|
|
|
|
2015-10-29 08:11:13 +02:00
|
|
|
set(KDE_DEFAULT_HOME ".katana" CACHE STRING "The default home directory" )
|
2023-06-10 22:52:22 +03:00
|
|
|
set(KDE4_EXEC_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "KDE installation prefix")
|
|
|
|
set(KDE4_SHARE_INSTALL_PREFIX "${CMAKE_INSTALL_FULL_DATADIR}" CACHE PATH "KDE shared data installation prefix")
|
|
|
|
set(KDE4_BIN_INSTALL_DIR "${CMAKE_INSTALL_FULL_BINDIR}" CACHE PATH "KDE binaries installation directory")
|
|
|
|
set(KDE4_SBIN_INSTALL_DIR "${CMAKE_INSTALL_FULL_SBINDIR}" CACHE PATH "KDE system binaries installation directory")
|
|
|
|
set(KDE4_LIB_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBDIR}" CACHE PATH "KDE libraries installation directory")
|
|
|
|
set(KDE4_LIBEXEC_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBEXECDIR}/kde4" CACHE PATH "KDE libraries executables installation directory")
|
|
|
|
set(KDE4_INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}" CACHE PATH "KDE headers installation directory")
|
|
|
|
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")
|
2023-06-17 09:11:52 +03:00
|
|
|
set(KDE4_DATA_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}" CACHE PATH "KDE data installation directory")
|
2023-06-10 22:52:22 +03:00
|
|
|
set(KDE4_ICON_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/icons" CACHE PATH "KDE icon installation directory")
|
2023-06-13 06:33:53 +03:00
|
|
|
set(KDE4_LOCALE_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/translations/kde4" CACHE PATH "KDE locale installation directory")
|
2023-06-10 22:52:22 +03:00
|
|
|
set(KDE4_SERVICES_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/kde4/services" CACHE PATH "KDE services installation directory")
|
|
|
|
set(KDE4_SERVICETYPES_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/kde4/servicetypes" CACHE PATH "KDE service types installation directory")
|
|
|
|
set(KDE4_SOUND_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/sounds" CACHE PATH "KDE sounds installation directory")
|
|
|
|
set(KDE4_TEMPLATES_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/templates" CACHE PATH "KDE templates installation directory")
|
|
|
|
set(KDE4_WALLPAPER_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/wallpapers" CACHE PATH "KDE wallpapers installation directory")
|
|
|
|
set(KDE4_AUTOSTART_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/autostart" CACHE PATH "KDE autostart installation directory")
|
|
|
|
set(KDE4_XDG_APPS_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/applications/kde4" CACHE PATH "KDE XDG applications installation directory")
|
|
|
|
set(KDE4_XDG_DIRECTORY_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/desktop-directories" CACHE PATH "KDE XDG directories installation directory")
|
|
|
|
set(KDE4_XDG_MIME_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/mime/packages" CACHE PATH "KDE XDG MIME packages installation directory")
|
|
|
|
set(KDE4_SYSCONF_INSTALL_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}" CACHE PATH "KDE system config installation directory")
|
|
|
|
set(KDE4_DBUS_INTERFACES_INSTALL_DIR "${KDE4_SHARE_INSTALL_PREFIX}/dbus-1/interfaces" CACHE PATH "KDE D-Bus interfaces installation directory")
|
|
|
|
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")
|
2014-11-13 01:04:59 +02:00
|
|
|
|
2023-06-17 09:11:52 +03:00
|
|
|
set(KDE4_DEFINITIONS
|
|
|
|
-DQT_NO_CAST_TO_ASCII
|
|
|
|
-DQT_DEPRECATED_WARNINGS
|
|
|
|
)
|
|
|
|
|
2023-06-23 06:57:48 +03:00
|
|
|
include(KDE4Defaults)
|
|
|
|
include(KDE4Macros)
|
|
|
|
|
2023-06-26 03:50:43 +03:00
|
|
|
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
|
|
add_definitions(-DNDEBUG)
|
|
|
|
endif()
|
|
|
|
|
2023-06-17 09:11:52 +03:00
|
|
|
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
|
|
|
|
)
|
|
|
|
|
2014-11-13 01:04:59 +02:00
|
|
|
################# now find all used packages #################
|
|
|
|
|
2022-05-18 18:06:37 +03:00
|
|
|
if(ENABLE_TESTING)
|
|
|
|
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
|
|
|
find_package(Threads)
|
|
|
|
set_package_properties(Threads PROPERTIES
|
|
|
|
DESCRIPTION "Platform dependent threads implementation"
|
|
|
|
TYPE REQUIRED
|
2023-06-17 05:36:10 +03:00
|
|
|
PURPOSE "Required for asynchorouns functions and methods execution"
|
2022-05-18 18:06:37 +03:00
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
2023-06-17 05:36:10 +03:00
|
|
|
# required packages
|
2023-08-28 20:35:10 +03:00
|
|
|
find_package(Katie 4.14.0)
|
2023-06-17 05:36:10 +03:00
|
|
|
set_package_properties(Katie PROPERTIES
|
|
|
|
DESCRIPTION "C++ toolkit derived from the Qt 4.8 framework"
|
2023-08-20 20:01:46 +03:00
|
|
|
URL "https://bitbucket.org/smil3y/workspace/projects/KATANA"
|
2023-06-17 05:36:10 +03:00
|
|
|
TYPE REQUIRED
|
|
|
|
)
|
|
|
|
|
|
|
|
find_package(X11)
|
|
|
|
set_package_properties(X11 PROPERTIES
|
|
|
|
DESCRIPTION "Open source implementation of the X Window System"
|
|
|
|
URL "https://xorg.freedesktop.org/wiki/"
|
|
|
|
TYPE REQUIRED
|
|
|
|
)
|
|
|
|
|
2022-10-17 16:36:39 +03:00
|
|
|
find_package(LibDeflate)
|
2022-10-17 23:23:00 +03:00
|
|
|
set_package_properties(LibDeflate PROPERTIES
|
2022-10-17 16:36:39 +03:00
|
|
|
DESCRIPTION "Heavily optimized library for DEFLATE/zlib/gzip compression and decompression"
|
|
|
|
URL "https://github.com/ebiggers/libdeflate"
|
2015-10-29 08:11:13 +02:00
|
|
|
TYPE REQUIRED
|
2022-10-17 16:36:39 +03:00
|
|
|
PURPOSE "Compression and decompression of DEFLATE/zlib/gzip format"
|
2015-10-29 08:11:13 +02:00
|
|
|
)
|
2014-11-13 01:04:59 +02:00
|
|
|
|
2022-05-27 18:47:54 +03:00
|
|
|
find_package(SharedMimeInfo 0.91)
|
2015-11-01 05:10:05 +02:00
|
|
|
set_package_properties(SharedMimeInfo PROPERTIES
|
|
|
|
DESCRIPTION "Shared Mime Info"
|
|
|
|
URL "http://freedesktop.org/wiki/Software/shared-mime-info"
|
|
|
|
TYPE REQUIRED
|
|
|
|
PURPOSE "Allows KDE applications to determine file types"
|
|
|
|
)
|
|
|
|
|
2017-12-11 11:51:36 +00:00
|
|
|
find_package(ENCHANT 1.4.0)
|
2016-08-11 23:26:12 +00:00
|
|
|
set_package_properties(ENCHANT PROPERTIES
|
|
|
|
DESCRIPTION "Generic spell checking library"
|
2023-06-10 21:35:53 +03:00
|
|
|
URL "https://www.abisource.com/projects/enchant/"
|
2016-08-11 23:26:12 +00:00
|
|
|
TYPE REQUIRED
|
|
|
|
PURPOSE "Spell checking support via Enchant"
|
|
|
|
)
|
|
|
|
|
2022-04-10 23:43:08 +03:00
|
|
|
# v7.43.0+ required for CURL_AT_LEAST_VERSION() macro
|
|
|
|
find_package(CURL 7.43.0)
|
2022-03-29 16:20:47 +03:00
|
|
|
set_package_properties(CURL PROPERTIES
|
2022-02-19 16:40:06 +02:00
|
|
|
DESCRIPTION "Command line tool and library for transferring data with URLs"
|
|
|
|
URL "https://curl.se/"
|
|
|
|
TYPE REQUIRED
|
2024-03-24 01:26:52 +02:00
|
|
|
PURPOSE "E-mail library and KIO slave"
|
2022-02-19 16:40:06 +02:00
|
|
|
)
|
|
|
|
|
2023-06-18 00:16:00 +03:00
|
|
|
# X11 Session Management (SM) is required, X11_SM_FOUND is set in FindX11
|
2023-06-17 09:11:52 +03:00
|
|
|
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()
|
|
|
|
|
2016-05-14 10:07:58 +00:00
|
|
|
# optional features
|
2023-06-10 22:04:39 +03:00
|
|
|
kde4_bool_to_01(X11_Xcursor_FOUND HAVE_XCURSOR)
|
|
|
|
kde4_bool_to_01(X11_Xfixes_FOUND HAVE_XFIXES)
|
|
|
|
kde4_bool_to_01(X11_Xscreensaver_FOUND HAVE_XSCREENSAVER)
|
|
|
|
kde4_bool_to_01(X11_XSync_FOUND HAVE_XSYNC)
|
|
|
|
|
|
|
|
add_feature_info("X Cursor Extension (Xcursor)" HAVE_XCURSOR "Support for loading cursors depending on theme")
|
|
|
|
add_feature_info("X Fixes Extension (libXfixes)" HAVE_XFIXES "Support for damage/fixes cursor and window management")
|
|
|
|
add_feature_info("X Screensaver Extension (libXss)" HAVE_XSCREENSAVER "Support for KIdleTime (fallback mode)")
|
|
|
|
add_feature_info("X Sync Extension (libXext)" HAVE_XSYNC "Efficient operation of KIdleTime")
|
2014-11-13 01:04:59 +02:00
|
|
|
|
2023-06-17 05:36:10 +03:00
|
|
|
# optional packages
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(MPV 0.23.0)
|
2016-05-14 10:07:58 +00:00
|
|
|
set_package_properties(MPV PROPERTIES
|
|
|
|
DESCRIPTION "A fork of mplayer2 and MPlayer"
|
|
|
|
URL "https://mpv.io/"
|
|
|
|
TYPE RECOMMENDED
|
|
|
|
PURPOSE "Media preview, sound notifications, etc."
|
|
|
|
)
|
|
|
|
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(ACL)
|
2023-06-17 05:36:10 +03:00
|
|
|
set_package_properties(ACL PROPERTIES
|
2020-02-19 17:12:33 +00:00
|
|
|
DESCRIPTION "Support for manipulating access control lists"
|
|
|
|
URL "ftp://oss.sgi.com/projects/xfs/cmd_tars"
|
|
|
|
TYPE RECOMMENDED
|
|
|
|
PURPOSE "KIO and KIO slaves"
|
|
|
|
)
|
|
|
|
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(Avahi)
|
2021-03-26 21:09:16 +02:00
|
|
|
set_package_properties(Avahi PROPERTIES
|
|
|
|
DESCRIPTION "Facilities for service discovery on a local network (DNSSD)"
|
2022-05-05 16:35:55 +03:00
|
|
|
URL "https://avahi.org/"
|
2021-03-26 21:09:16 +02:00
|
|
|
TYPE OPTIONAL
|
2023-06-17 05:36:10 +03:00
|
|
|
PURPOSE "Multicast DNS/DNS-SD service discovery"
|
2021-03-26 21:09:16 +02:00
|
|
|
)
|
|
|
|
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(BZip2)
|
2021-03-26 21:09:16 +02:00
|
|
|
set_package_properties(BZip2 PROPERTIES
|
2023-06-17 05:36:10 +03:00
|
|
|
DESCRIPTION "A high-quality data compression program"
|
2021-03-26 21:09:16 +02:00
|
|
|
URL "http://www.bzip.org"
|
|
|
|
TYPE RECOMMENDED
|
2023-06-17 05:36:10 +03:00
|
|
|
PURPOSE "Support for BZip2 compressed files"
|
2021-03-26 21:09:16 +02:00
|
|
|
)
|
|
|
|
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(LibLZMA)
|
2021-03-26 21:09:16 +02:00
|
|
|
set_package_properties(LibLZMA PROPERTIES
|
2023-06-17 05:36:10 +03:00
|
|
|
DESCRIPTION "Free general-purpose data compression software with a high compression ratio"
|
2022-09-29 19:18:30 +03:00
|
|
|
URL "https://tukaani.org/xz/"
|
2021-03-26 21:09:16 +02:00
|
|
|
TYPE OPTIONAL
|
2023-06-17 05:36:10 +03:00
|
|
|
PURPOSE "Support for XZ and LZMA compressed files"
|
2021-03-26 21:09:16 +02:00
|
|
|
)
|
|
|
|
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(WebP)
|
2021-03-26 21:09:16 +02:00
|
|
|
set_package_properties(WebP PROPERTIES
|
|
|
|
DESCRIPTION "A new image format for the Web"
|
|
|
|
URL "https://developers.google.com/speed/webp"
|
2022-10-11 19:38:58 +03:00
|
|
|
PURPOSE "Support for WebP image format"
|
|
|
|
TYPE OPTIONAL
|
|
|
|
)
|
|
|
|
|
|
|
|
kde4_optional_find_package(LibRaw)
|
|
|
|
set_package_properties(LibRaw PROPERTIES
|
|
|
|
DESCRIPTION "Simple and unified interface for extracting out of RAW files"
|
|
|
|
URL "https://www.libraw.org/"
|
|
|
|
PURPOSE "Support for RAW image format"
|
2022-10-11 22:58:13 +03:00
|
|
|
TYPE OPTIONAL
|
|
|
|
)
|
|
|
|
|
|
|
|
kde4_optional_find_package(LibJPEG)
|
|
|
|
set_package_properties(LibJPEG PROPERTIES
|
|
|
|
DESCRIPTION "JPEG image codec that uses SIMD instructions"
|
|
|
|
URL "https://libjpeg-turbo.org/"
|
|
|
|
PURPOSE "Support for JPEG image format"
|
2021-03-26 21:09:16 +02:00
|
|
|
TYPE OPTIONAL
|
|
|
|
)
|
|
|
|
|
2022-10-12 00:42:06 +03:00
|
|
|
kde4_optional_find_package(OpenJPEG)
|
|
|
|
set_package_properties(OpenJPEG PROPERTIES
|
|
|
|
DESCRIPTION "Open-source JPEG 2000 codec written in C language"
|
|
|
|
URL "https://www.openjpeg.org/"
|
|
|
|
PURPOSE "Support for JPEG 2000 image format"
|
|
|
|
TYPE OPTIONAL
|
|
|
|
)
|
2022-10-28 00:58:56 +03:00
|
|
|
|
|
|
|
kde4_optional_find_package(TIFF)
|
|
|
|
set_package_properties(TIFF PROPERTIES
|
|
|
|
DESCRIPTION "TIFF Library and Utilities"
|
|
|
|
URL "http://www.libtiff.org/"
|
|
|
|
PURPOSE "Support for TIFF image format"
|
|
|
|
TYPE OPTIONAL
|
|
|
|
)
|
|
|
|
|
2021-03-26 21:09:16 +02:00
|
|
|
# v143+ required for udev_monitor_filter_add_match_subsystem_devtype()
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(UDev 143)
|
2021-03-26 21:09:16 +02:00
|
|
|
set_package_properties(UDev PROPERTIES
|
|
|
|
DESCRIPTION "UDev support for Solid"
|
|
|
|
URL "http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
|
|
|
|
PURPOSE "Allows Solid to use UDev to provide information about devices on Linux"
|
|
|
|
TYPE OPTIONAL
|
|
|
|
)
|
|
|
|
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(Devinfo)
|
2021-07-05 09:26:28 +00:00
|
|
|
set_package_properties(Devinfo PROPERTIES
|
|
|
|
DESCRIPTION "Devinfo support for Solid"
|
|
|
|
URL "https://www.freebsd.org/cgi/man.cgi?query=devinfo&sektion=3"
|
|
|
|
PURPOSE "Allows Solid to use Devinfo to provide information about devices on FreeBSD"
|
|
|
|
TYPE OPTIONAL
|
|
|
|
)
|
|
|
|
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(LibCDIO)
|
2021-06-08 21:18:36 +03:00
|
|
|
set_package_properties(LibCDIO PROPERTIES
|
|
|
|
DESCRIPTION "GNU Compact Disc Input and Control Library"
|
|
|
|
URL "https://www.gnu.org/software/libcdio/"
|
|
|
|
PURPOSE "Allows Solid to use libcdio to provide information about CD-ROM devices on Linux"
|
|
|
|
TYPE OPTIONAL
|
|
|
|
)
|
|
|
|
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(Exiv2 0.21)
|
2021-08-01 19:06:00 +03:00
|
|
|
set_package_properties(Exiv2 PROPERTIES
|
|
|
|
DESCRIPTION "Image metadata library and tools"
|
|
|
|
URL "http://www.exiv2.org"
|
|
|
|
TYPE RECOMMENDED
|
|
|
|
PURPOSE "Exiv2 metadata extraction and image rotation based on the data"
|
|
|
|
)
|
|
|
|
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(FFmpeg)
|
2022-04-14 08:04:46 +03:00
|
|
|
set_package_properties(FFmpeg PROPERTIES
|
|
|
|
DESCRIPTION "A complete, cross-platform solution to record, convert and stream audio and video"
|
|
|
|
URL "https://ffmpeg.org/"
|
|
|
|
TYPE RECOMMENDED
|
|
|
|
PURPOSE "Video metadata extraction"
|
|
|
|
)
|
|
|
|
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(Taglib)
|
2022-04-14 11:09:20 +03:00
|
|
|
set_package_properties(Taglib PROPERTIES
|
|
|
|
DESCRIPTION "TagLib Audio Meta-Data Library"
|
|
|
|
URL "https://taglib.org/"
|
|
|
|
TYPE RECOMMENDED
|
|
|
|
PURPOSE "Audio metadata extraction"
|
|
|
|
)
|
|
|
|
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(EPub)
|
2022-04-16 03:37:38 +03:00
|
|
|
set_package_properties(EPub PROPERTIES
|
|
|
|
DESCRIPTION "A library for reading EPub documents"
|
|
|
|
URL "https://sourceforge.net/projects/ebook-tools/"
|
|
|
|
TYPE RECOMMENDED
|
|
|
|
PURPOSE "eBook metadata extraction"
|
|
|
|
)
|
|
|
|
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(Poppler)
|
2022-04-17 04:05:30 +03:00
|
|
|
set_package_properties(Poppler PROPERTIES
|
|
|
|
DESCRIPTION "PDF rendering library"
|
|
|
|
URL "https://poppler.freedesktop.org/"
|
|
|
|
TYPE RECOMMENDED
|
|
|
|
PURPOSE "PDF metadata extraction"
|
|
|
|
)
|
|
|
|
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(LibSpectre)
|
2022-05-13 02:46:32 +03:00
|
|
|
set_package_properties(LibSpectre PROPERTIES
|
|
|
|
DESCRIPTION "Small library for rendering Postscript documents"
|
|
|
|
URL "https://www.freedesktop.org/wiki/Software/libspectre/"
|
|
|
|
TYPE RECOMMENDED
|
|
|
|
PURPOSE "Postscript metadata extraction"
|
|
|
|
)
|
|
|
|
|
2022-10-06 20:51:32 +03:00
|
|
|
kde4_optional_find_package(Freetype)
|
|
|
|
set_package_properties(Freetype PROPERTIES
|
|
|
|
DESCRIPTION "Freely available software library to render fonts"
|
|
|
|
URL "https://www.freetype.org"
|
|
|
|
TYPE RECOMMENDED
|
|
|
|
PURPOSE "Fonts metadata extraction"
|
|
|
|
)
|
|
|
|
|
2022-12-13 06:45:19 +02:00
|
|
|
kde4_optional_find_package(DjVuLibre)
|
|
|
|
set_package_properties(DjVuLibre PROPERTIES
|
|
|
|
DESCRIPTION "Open source DjVu library"
|
|
|
|
URL "https://djvu.sourceforge.net/"
|
|
|
|
TYPE RECOMMENDED
|
|
|
|
PURPOSE "DjVu metadata extraction"
|
|
|
|
)
|
|
|
|
|
2022-10-02 13:14:13 +03:00
|
|
|
kde4_optional_find_package(OpenSSL)
|
2022-04-04 19:44:39 +03:00
|
|
|
set_package_properties(OpenSSL PROPERTIES
|
|
|
|
DESCRIPTION "Robust, commercial-grade, full-featured toolkit for general-purpose cryptography and secure communication"
|
|
|
|
URL "https://www.openssl.org/"
|
|
|
|
TYPE RECOMMENDED
|
|
|
|
PURPOSE "Store password securely"
|
|
|
|
)
|
|
|
|
|
2022-10-06 15:50:40 +03:00
|
|
|
kde4_optional_find_package(LibArchive 3.0.3)
|
|
|
|
set_package_properties(LibArchive PROPERTIES
|
|
|
|
DESCRIPTION "Multi-format archive and compression library"
|
|
|
|
URL "https://libarchive.org/"
|
2022-10-06 20:11:16 +03:00
|
|
|
TYPE RECOMMENDED
|
2022-10-06 15:50:40 +03:00
|
|
|
PURPOSE "Archives in TAR, ZIP and other formats"
|
2022-09-29 15:01:16 +03:00
|
|
|
)
|
|
|
|
|
2020-02-19 17:12:33 +00:00
|
|
|
################# configure checks and create the configured files #################
|
|
|
|
|
|
|
|
include(ConfigureChecks.cmake)
|
|
|
|
|
|
|
|
# now create config headers
|
|
|
|
configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
|
|
|
configure_file(config-acl.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-acl.h)
|
|
|
|
configure_file(config-prefix.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-prefix.h)
|
|
|
|
configure_file(config-pty.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-pty.h)
|
|
|
|
configure_file(kdemacros.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/kdemacros.h)
|
|
|
|
|
2014-11-13 01:04:59 +02:00
|
|
|
#########################################################################
|
|
|
|
|
|
|
|
add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
|
|
|
|
|
|
|
|
################# setup the include directories #################
|
|
|
|
|
|
|
|
# for including config.h and for includes like <kparts/foo.h>
|
2015-09-01 01:05:33 +03:00
|
|
|
include_directories(
|
|
|
|
${CMAKE_SOURCE_DIR}
|
|
|
|
${CMAKE_BINARY_DIR}
|
|
|
|
${CMAKE_SOURCE_DIR}/interfaces
|
|
|
|
)
|
2014-11-13 01:04:59 +02:00
|
|
|
|
|
|
|
# Those variables for are only valid inside of kdelibs, of course.
|
|
|
|
# Use the one variable for the lib you depend upon.
|
|
|
|
# E.g. kdeui uses ${KDE4_KDECORE_INCLUDES}. Something that depends on kparts uses ${KDE4_KPARTS_INCLUDES}.
|
|
|
|
|
2022-10-30 05:06:41 +02:00
|
|
|
# kdecore depends on Katie
|
2015-09-01 01:05:33 +03:00
|
|
|
set(KDE4_KDECORE_INCLUDES
|
|
|
|
${KDE4_KDECORE_INCLUDES}
|
|
|
|
${CMAKE_SOURCE_DIR}/kdecore
|
|
|
|
${CMAKE_BINARY_DIR}/kdecore
|
|
|
|
${CMAKE_SOURCE_DIR}/kdecore/config
|
|
|
|
${CMAKE_SOURCE_DIR}/kdecore/date
|
|
|
|
${CMAKE_SOURCE_DIR}/kdecore/io
|
|
|
|
${CMAKE_SOURCE_DIR}/kdecore/jobs
|
|
|
|
${CMAKE_SOURCE_DIR}/kdecore/kernel
|
|
|
|
${CMAKE_SOURCE_DIR}/kdecore/services
|
|
|
|
${CMAKE_SOURCE_DIR}/kdecore/localization
|
|
|
|
${CMAKE_SOURCE_DIR}/kdecore/sycoca
|
|
|
|
${CMAKE_SOURCE_DIR}/kdecore/text
|
|
|
|
${CMAKE_SOURCE_DIR}/kdecore/util
|
2016-04-27 18:43:11 +00:00
|
|
|
${CMAKE_BINARY_DIR}/kdecore
|
2015-09-01 01:05:33 +03:00
|
|
|
${QT_INCLUDES}
|
2023-06-17 23:16:41 +03:00
|
|
|
${X11_INCLUDE_DIR}
|
2015-09-01 01:05:33 +03:00
|
|
|
)
|
|
|
|
|
2014-11-13 01:04:59 +02:00
|
|
|
# kdeui depends on kdecore
|
2015-09-01 01:05:33 +03:00
|
|
|
set(KDE4_KDEUI_INCLUDES
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/actions
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/colors
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/config
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/dialogs
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/findreplace
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/fonts
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/icons
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/itemviews
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/jobs
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/kernel
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/notifications
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/paged
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/shortcuts
|
2023-06-08 21:33:16 +03:00
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/spell
|
2015-09-01 01:05:33 +03:00
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/util
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/widgets
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/windowmanagement
|
|
|
|
${CMAKE_SOURCE_DIR}/kdeui/xmlgui
|
2016-04-27 18:43:11 +00:00
|
|
|
${CMAKE_BINARY_DIR}/kdeui
|
2015-09-01 01:05:33 +03:00
|
|
|
${KDE4_KDECORE_INCLUDES}
|
|
|
|
)
|
2014-11-13 01:04:59 +02:00
|
|
|
|
|
|
|
# kio depends on kdeui
|
2015-09-01 01:05:33 +03:00
|
|
|
set(KDE4_KIO_INCLUDES
|
|
|
|
${CMAKE_SOURCE_DIR}/kio
|
|
|
|
${CMAKE_SOURCE_DIR}/kio/bookmarks
|
|
|
|
${CMAKE_SOURCE_DIR}/kio/kio
|
|
|
|
${CMAKE_SOURCE_DIR}/kio/kfile
|
2016-04-27 18:43:11 +00:00
|
|
|
${CMAKE_BINARY_DIR}/kio
|
2015-09-01 01:05:33 +03:00
|
|
|
${KDE4_KDEUI_INCLUDES}
|
|
|
|
)
|
2014-11-13 01:04:59 +02:00
|
|
|
|
|
|
|
# kpty
|
2015-09-01 01:05:33 +03:00
|
|
|
set(KDE4_KPTY_INCLUDES
|
|
|
|
${CMAKE_SOURCE_DIR}/kpty
|
2016-04-27 18:43:11 +00:00
|
|
|
${CMAKE_BINARY_DIR}/kpty
|
2015-09-01 01:05:33 +03:00
|
|
|
${KDE4_KIO_INCLUDES}
|
|
|
|
)
|
2014-11-13 01:04:59 +02:00
|
|
|
|
|
|
|
# kparts depends on kio
|
2015-09-01 01:05:33 +03:00
|
|
|
set(KDE4_KPARTS_INCLUDES
|
|
|
|
${CMAKE_SOURCE_DIR}/kparts
|
2016-04-27 18:43:11 +00:00
|
|
|
${CMAKE_BINARY_DIR}/kparts
|
2015-09-01 01:05:33 +03:00
|
|
|
${KDE4_KIO_INCLUDES}
|
|
|
|
)
|
2014-11-13 01:04:59 +02:00
|
|
|
|
|
|
|
################# list the subdirectories #################
|
|
|
|
|
|
|
|
add_subdirectory( cmake )
|
2015-10-29 13:57:28 +02:00
|
|
|
|
|
|
|
add_subdirectory( includes )
|
|
|
|
add_subdirectory( interfaces )
|
2014-11-13 01:04:59 +02:00
|
|
|
add_subdirectory( kdecore )
|
2015-08-26 07:41:39 +03:00
|
|
|
add_subdirectory( kded )
|
2015-10-29 13:57:28 +02:00
|
|
|
add_subdirectory( kdeui )
|
|
|
|
add_subdirectory( kdewidgets )
|
|
|
|
add_subdirectory( kimgio )
|
|
|
|
add_subdirectory( kinit )
|
|
|
|
add_subdirectory( kio )
|
2015-08-26 07:41:39 +03:00
|
|
|
add_subdirectory( kioslave )
|
|
|
|
add_subdirectory( kparts )
|
2015-10-29 13:57:28 +02:00
|
|
|
add_subdirectory( kpty )
|
2015-08-26 07:41:39 +03:00
|
|
|
add_subdirectory( kutils )
|
|
|
|
add_subdirectory( licenses )
|
|
|
|
add_subdirectory( mimetypes )
|
2014-11-13 01:04:59 +02:00
|
|
|
add_subdirectory( plasma )
|
2015-10-29 13:57:28 +02:00
|
|
|
add_subdirectory( solid )
|
2014-11-13 01:04:59 +02:00
|
|
|
|
2015-10-29 08:11:13 +02:00
|
|
|
################# write kdelibs package config files which will be installed #################
|
2014-11-13 01:04:59 +02:00
|
|
|
|
2023-06-17 09:11:52 +03:00
|
|
|
configure_file(
|
2023-08-14 20:35:36 +03:00
|
|
|
KDELibs4Config.cmake.in
|
2023-06-17 09:11:52 +03:00
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/KDELibs4Config.cmake
|
|
|
|
@ONLY
|
|
|
|
)
|
|
|
|
configure_file(
|
2023-08-14 20:35:36 +03:00
|
|
|
KDELibs4ConfigVersion.cmake.in
|
2023-06-17 09:11:52 +03:00
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/KDELibs4ConfigVersion.cmake
|
|
|
|
@ONLY
|
|
|
|
)
|
2014-11-13 01:04:59 +02:00
|
|
|
|
|
|
|
################# install files #################
|
|
|
|
|
2015-10-29 08:11:13 +02:00
|
|
|
install(
|
|
|
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/kdemacros.h
|
2021-02-26 20:15:41 +02:00
|
|
|
DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}
|
2015-10-29 08:11:13 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
install(
|
|
|
|
FILES
|
2023-06-17 09:11:52 +03:00
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/KDELibs4Config.cmake
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/KDELibs4ConfigVersion.cmake
|
|
|
|
DESTINATION ${KDE4_DATA_INSTALL_DIR}/cmake/KDELibs4
|
2015-10-29 08:11:13 +02:00
|
|
|
)
|
2014-11-13 01:04:59 +02:00
|
|
|
|
2015-10-29 08:11:13 +02:00
|
|
|
install(
|
2023-06-17 23:57:38 +03:00
|
|
|
EXPORT kdelibsTargets
|
2015-09-01 01:05:33 +03:00
|
|
|
NAMESPACE ${KDE4_TARGET_PREFIX}
|
2023-06-17 23:57:38 +03:00
|
|
|
FILE KDELibs4Targets.cmake
|
2023-06-17 09:11:52 +03:00
|
|
|
DESTINATION ${KDE4_DATA_INSTALL_DIR}/cmake/KDELibs4
|
2015-09-01 01:05:33 +03:00
|
|
|
)
|
|
|
|
|
2023-06-17 19:25:56 +03:00
|
|
|
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
|