Warning, /graphics/digikam/project/bundles/3rdparty/ext_kf6/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # Script to build KF5 Frameworks.
0002 #
0003 # Copyright (c) 2015-2024 by Gilles Caulier  <caulier dot gilles at gmail dot com>
0004 #
0005 # Redistribution and use is allowed according to the terms of the BSD license.
0006 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
0007 #
0008 
0009 set(EXTPREFIX_frameworks "${EXTPREFIX}")
0010 
0011 function(InstallKF6Component
0012          name
0013          version
0014          argoptions
0015          patch)
0016 
0017         if(${name} STREQUAL "libksane")
0018             set(giturl "https://invent.kde.org/graphics/${name}.git")
0019         elseif(${name} STREQUAL "ksanecore")
0020             set(giturl "https://invent.kde.org/libraries/${name}.git")
0021         elseif(${name} STREQUAL "qca")
0022             set(giturl "https://invent.kde.org/libraries/${name}.git")
0023         elseif(${name} STREQUAL "phonon")
0024             set(giturl "https://invent.kde.org/libraries/${name}.git")
0025         elseif(${name} STREQUAL "plasma-wayland-protocols")
0026             set(giturl "https://invent.kde.org/libraries/${name}.git")
0027         elseif(${name} STREQUAL "breeze")
0028             set(giturl "https://invent.kde.org/plasma/${name}.git")
0029         else()
0030             set(giturl "https://invent.kde.org/frameworks/${name}.git")
0031         endif()
0032 
0033         message(STATUS "--------------------------------")
0034         message(STATUS "KDE component    : ${name}")
0035         message(STATUS "Component version: ${version}")
0036         message(STATUS "Component Git Url: ${giturl}")
0037         message(STATUS "Configure options: ${argoptions}")
0038         message(STATUS "Patch to apply   : ${patch}")
0039 
0040         if(NOT "${patch}" STREQUAL "")
0041             set(patch "${PATCH_COMMAND};-p1;-i;${CMAKE_CURRENT_SOURCE_DIR}/${patch}")
0042         endif()
0043 
0044         ExternalProject_Add(ext_${name}
0045                             DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
0046                             GIT_REPOSITORY ${giturl}
0047                             GIT_TAG ${version}
0048 
0049                             PATCH_COMMAND ${patch}
0050 
0051                             INSTALL_DIR ${EXTPREFIX_frameworks}
0052                             CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks}
0053                                        -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE}
0054                                        ${GLOBAL_PROFILE}
0055                                        -DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX}
0056                                        -DBUILD_TESTING=OFF
0057                                        "${argoptions}"
0058                                        -Wno-dev
0059                             UPDATE_COMMAND ""
0060                             ALWAYS 0
0061         )
0062 
0063 endfunction()
0064 
0065 if(MSVC)
0066     set(BreezeIconsOptions -DBINARY_ICONS_RESOURCE=OFF -DSKIP_INSTALL_ICONS=OFF -DWITH_ICON_GENERATION=OFF)
0067     set(Ki18nIsoCodesPatch ki18n-disable-isocodes.patch)
0068 else()
0069     set(BreezeIconsOptions -DBINARY_ICONS_RESOURCE=ON)
0070 endif()
0071 
0072 if(NOT APPLE AND NOT MINGW AND NOT WIN32)
0073     set(AppImageServicePatch kservice-sycoca.patch)
0074 endif()
0075 
0076 set(MarbleQtOnlyOptions -DWITH_DESIGNER_PLUGIN=OFF -DBUILD_MARBLE_TESTS=OFF -DBUILD_MARBLE_TOOLS=OFF -DBUILD_MARBLE_EXAMPLES=OFF -DBUILD_MARBLE_APPS=OFF -DBUILD_WITH_DBUS=OFF -DQTONLY=ON -DBUILD_TESTING=OFF)
0077 set(BreezeOptions -DBUILD_QT6=ON -DBUILD_QT5=OFF -DWITH_DECORATIONS=OFF -DWITH_WALLPAPERS=OFF)
0078 
0079 set(Qt6CommonOptions -DQT_MAJOR_VERSION=6 -DBUILD_WITH_QT6=ON)
0080 
0081 InstallKF6Component(extra-cmake-modules      ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0082 InstallKF6Component(plasma-wayland-protocols ${KDE_VERSION} "${Qt6CommonOptions}"                                    "wayland-proto-ecm-version.patch")
0083 InstallKF6Component(kconfig                  ${KDE_VERSION} "${Qt6CommonOptions};-DKCONFIG_USE_QML=OFF"              "")
0084 InstallKF6Component(breeze-icons             ${KDE_VERSION} "${Qt6CommonOptions};${BreezeIconsOptions}"              "breeze-icons-dropsvg-rccprefix.patch")
0085 InstallKF6Component(solid                    ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0086 InstallKF6Component(kcoreaddons              ${KDE_VERSION} "${Qt6CommonOptions};-DKCOREADDONS_USE_QML=OFF"          "")
0087 InstallKF6Component(threadweaver             ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0088 InstallKF6Component(kwindowsystem            ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0089 InstallKF6Component(karchive                 ${KDE_VERSION} "${Qt6CommonOptions};-DWITH_LIBZSTD=OFF"                 "")
0090 InstallKF6Component(kdbusaddons              ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0091 InstallKF6Component(ki18n                    ${KDE_VERSION} "${Qt6CommonOptions}"                                    "${Ki18nIsoCodesPatch}")
0092 InstallKF6Component(kcrash                   ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0093 InstallKF6Component(kcodecs                  ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0094 InstallKF6Component(kauth                    ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0095 InstallKF6Component(kguiaddons               ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0096 InstallKF6Component(kwidgetsaddons           ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0097 InstallKF6Component(kitemviews               ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0098 InstallKF6Component(kcompletion              ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0099 InstallKF6Component(kcolorscheme             ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0100 InstallKF6Component(kconfigwidgets           ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0101 InstallKF6Component(kiconthemes              ${KDE_VERSION} "${Qt6CommonOptions};-DKICONTHEMES_USE_QTQUICK=OFF"      "")
0102 InstallKF6Component(kservice                 ${KDE_VERSION} "${Qt6CommonOptions}"                                    "${AppImageServicePatch}")
0103 InstallKF6Component(kglobalaccel             ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0104 InstallKF6Component(kcalendarcore            ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0105 InstallKF6Component(kxmlgui                  ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0106 InstallKF6Component(kbookmarks               ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0107 InstallKF6Component(kimageformats            ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0108 InstallKF6Component(knotifyconfig            ${KDE_VERSION} "${Qt6CommonOptions}"                                    "knotifyconfig-disable-phonon.patch")
0109 InstallKF6Component(knotifications           ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0110 InstallKF6Component(kjobwidgets              ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0111 InstallKF6Component(sonnet                   ${KDE_VERSION} "${Qt6CommonOptions};-DSONNET_USE_QML=OFF"               "sonnet-hunspell-version.patch")
0112 InstallKF6Component(ktextwidgets             ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0113 InstallKF6Component(kio                      ${KDE_VERSION} "${Qt6CommonOptions}"                                    "kio-drop-deps.patch")
0114 InstallKF6Component(kinit                    ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0115 InstallKF6Component(kdoctools                ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0116 InstallKF6Component(phonon                   ${KDE_VERSION} "${Qt6CommonOptions};-DPHONON_BUILD_QT5=OFF"             "")
0117 InstallKF6Component(ksanecore                ${KDE_VERSION} "${Qt6CommonOptions};-DQT_MAJOR_VERSION=6"               "")
0118 InstallKF6Component(libksane                 ${KDE_VERSION} "${Qt6CommonOptions};-DQT_MAJOR_VERSION=6"               "")
0119 InstallKF6Component(kfilemetadata            ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0120 InstallKF6Component(qca                      ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0121 InstallKF6Component(kwallet                  ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0122 InstallKF6Component(kpackage                 ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0123 InstallKF6Component(attica                   ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0124 InstallKF6Component(knewstuff                ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0125 InstallKF6Component(kitemmodels              ${KDE_VERSION} "${Qt6CommonOptions}"                                    "kitemmodels-drop-qml.patch")
0126 InstallKF6Component(kparts                   ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0127 InstallKF6Component(krunner                  ${KDE_VERSION} "${Qt6CommonOptions}"                                    "")
0128 InstallKF6Component(breeze                   ${KDE_VERSION} "${Qt6CommonOptions};${BreezeOptions}"                   "breeze-common-rules.patch")