Warning, /maui/mauikit-imagetools/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2020 Carl Schwan <carl@carlschwan.eu> 0002 # 0003 # SPDX-License-Identifier: BSD-2-Clause 0004 0005 cmake_minimum_required(VERSION 3.16) 0006 0007 option(BUILD_WITH_QT5 "Use Qt 5" OFF) 0008 option(BUILD_WITH_QT6 "Use Qt 6" OFF) 0009 0010 if(BUILD_WITH_QT5) 0011 set(QT_MAJOR_VERSION 5) 0012 elseif(BUILD_WITH_QT6) 0013 set(QT_MAJOR_VERSION 6) 0014 else() 0015 set(QT_MAJOR_VERSION 5) 0016 endif() 0017 0018 if (QT_MAJOR_VERSION STREQUAL "6") 0019 set(REQUIRED_QT_VERSION 6.4) 0020 set(REQUIRED_KF_VERSION 5.240.0) 0021 set(KF_MAJOR_VERSION 6) 0022 set(MAUI_MAJOR_VERSION 4) 0023 0024 set(MAUIKIT_VERSION 4.0.0) 0025 0026 else() 0027 set(REQUIRED_QT_VERSION 5.15.2) 0028 set(REQUIRED_KF_VERSION 5.91.0) 0029 set(KF_MAJOR_VERSION 5) 0030 set(MAUI_MAJOR_VERSION 3) 0031 0032 set(MAUIKIT_VERSION 3.1.0) 0033 endif() 0034 0035 set(CMAKE_CXX_STANDARD 11) 0036 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0037 0038 set(CMAKE_INCLUDE_CURRENT_DIR ON) 0039 0040 set(AUTOMOC_MOC_OPTIONS -Muri=org.mauikit.imagetools) 0041 0042 project(ImageTools LANGUAGES CXX VERSION ${MAUIKIT_VERSION}) 0043 0044 find_package(ECM ${REQUIRED_KF_VERSION} NO_MODULE) 0045 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) 0046 0047 include(GenerateExportHeader) 0048 include(GNUInstallDirs) 0049 include(FeatureSummary) 0050 include(CMakePackageConfigHelpers) 0051 0052 include(KDEInstallDirs) 0053 include(KDECMakeSettings) 0054 include(KDECompilerSettings) 0055 include(KDEPackageAppTemplates) 0056 include(KDEClangFormat) 0057 0058 include(ECMSetupVersion) 0059 include(ECMGenerateQmlTypes) 0060 include(ECMGenerateHeaders) 0061 include(ECMFindQmlModule) 0062 include(ECMQmlModule) 0063 include(ECMSourceVersionControl) 0064 0065 option(QUICK_COMPILER "Use QtQuick compiler to improve performance" TRUE) 0066 0067 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core Quick Qml Sql Positioning) 0068 find_package(LibExiv2 0.21 REQUIRED) 0069 #find_package(ImageMagick) 0070 0071 if(ANDROID) 0072 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} COMPONENTS AndroidExtras) 0073 endif() 0074 0075 find_package(KF${KF_MAJOR_VERSION} ${REQUIRED_KF_VERSION} REQUIRED COMPONENTS I18n CoreAddons) 0076 find_package(MauiKit${MAUI_MAJOR_VERSION} REQUIRED) 0077 0078 ecm_find_qmlmodule(org.kde.kquickimageeditor 1.0) 0079 0080 find_package(KQuickImageEditor COMPONENTS) 0081 set_package_properties(KQuickImageEditor PROPERTIES 0082 TYPE REQUIRED 0083 DESCRIPTION "Simple image editor for QtQuick applications" 0084 URL "https://invent.kde.org/libraries/kquickimageeditor/" 0085 PURPOSE "Add image editing capability to image attachments") 0086 0087 if (QT_MAJOR_VERSION STREQUAL "5") 0088 if(QUICK_COMPILER) 0089 find_package(Qt5QuickCompiler) 0090 set_package_properties(Qt5QuickCompiler PROPERTIES 0091 DESCRIPTION "Compile QML at build time" 0092 TYPE OPTIONAL) 0093 endif() 0094 else() 0095 find_package(Qt6 REQUIRED COMPONENTS Core5Compat) 0096 endif() 0097 0098 if(${ECM_SOURCE_UNDER_VERSION_CONTROL}) 0099 execute_process( 0100 COMMAND git rev-parse --abbrev-ref HEAD 0101 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} 0102 OUTPUT_VARIABLE GIT_BRANCH 0103 OUTPUT_STRIP_TRAILING_WHITESPACE) 0104 0105 # Get the latest abbreviated commit hash of the working branch 0106 execute_process( 0107 COMMAND git log -1 --format=%h 0108 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} 0109 OUTPUT_VARIABLE GIT_COMMIT_HASH 0110 OUTPUT_STRIP_TRAILING_WHITESPACE) 0111 0112 add_definitions(-DGIT_COMMIT_HASH="${GIT_COMMIT_HASH}") 0113 add_definitions(-DGIT_BRANCH="${GIT_BRANCH}") 0114 else() 0115 add_definitions(-DGIT_COMMIT_HASH="${PROJECT_VERSION}") 0116 add_definitions(-DGIT_BRANCH="Stable") 0117 endif() 0118 0119 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/MauiKitImageTools${MAUI_MAJOR_VERSION}") 0120 0121 ecm_setup_version(${PROJECT_VERSION} 0122 VARIABLE_PREFIX ImageTools 0123 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/imagetools_version.h" 0124 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/MauiKitImageTools${MAUI_MAJOR_VERSION}ConfigVersion.cmake" 0125 SOVERSION ${PROJECT_VERSION_MAJOR}) 0126 0127 configure_package_config_file( 0128 "${CMAKE_CURRENT_SOURCE_DIR}/MauiKitImageToolsConfig.cmake.in.${QT_MAJOR_VERSION}" 0129 "${CMAKE_CURRENT_BINARY_DIR}/MauiKitImageTools${MAUI_MAJOR_VERSION}Config.cmake" 0130 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0131 PATH_VARS CMAKE_INSTALL_PREFIX) 0132 0133 install(FILES 0134 "${CMAKE_CURRENT_BINARY_DIR}/MauiKitImageTools${MAUI_MAJOR_VERSION}ConfigVersion.cmake" 0135 "${CMAKE_CURRENT_BINARY_DIR}/MauiKitImageTools${MAUI_MAJOR_VERSION}Config.cmake" 0136 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0137 COMPONENT Devel) 0138 0139 install(EXPORT MauiKitImageTools${MAUI_MAJOR_VERSION}Targets 0140 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0141 FILE MauiKitImageTools${MAUI_MAJOR_VERSION}Targets.cmake 0142 NAMESPACE MauiKit${MAUI_MAJOR_VERSION}::) 0143 0144 0145 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/imagetools_version.h" 0146 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/MauiKit${MAUI_MAJOR_VERSION}/FileBrowsing 0147 COMPONENT Devel) 0148 0149 kde_enable_exceptions() 0150 0151 add_definitions(-DTRANSLATION_DOMAIN="mauikitimagetools") 0152 ki18n_install(po) 0153 0154 add_subdirectory(src) 0155 0156 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) 0157 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0158 0159 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)