Warning, /maui/mauikit-documents/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2020 Camilo Higuita <milo.h@aol.com> 0002 # 0003 # SPDX-License-Identifier: GPL-3.0-or-later 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.95.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 17) 0036 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0037 0038 set(CMAKE_INCLUDE_CURRENT_DIR ON) 0039 set(CMAKE_AUTOMOC ON) 0040 set(CMAKE_AUTORCC ON) 0041 0042 if(POLICY CMP0063) 0043 cmake_policy (SET CMP0063 NEW) 0044 endif(POLICY CMP0063) 0045 0046 set(AUTOMOC_MOC_OPTIONS -Muri=org.mauikit.documents) 0047 0048 project(Documents LANGUAGES CXX VERSION ${MAUIKIT_VERSION}) 0049 0050 find_package(ECM ${REQUIRED_KF_VERSION} NO_MODULE) 0051 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) 0052 0053 include(GenerateExportHeader) 0054 include(GNUInstallDirs) 0055 include(FeatureSummary) 0056 include(CMakePackageConfigHelpers) 0057 0058 include(KDEInstallDirs) 0059 include(KDECMakeSettings) 0060 include(KDECompilerSettings) 0061 include(KDEPackageAppTemplates) 0062 include(KDEClangFormat) 0063 0064 include(ECMSetupVersion) 0065 include(ECMGenerateQmlTypes) 0066 include(ECMGenerateHeaders) 0067 include(ECMFindQmlModule) 0068 include(ECMQmlModule) 0069 include(ECMQtDeclareLoggingCategory) 0070 include(ECMSourceVersionControl) 0071 0072 option(QUICK_COMPILER "Use QtQuick compiler to improve performance" TRUE) 0073 0074 if(ANDROID) 0075 find_package(Qt${QT_MAJOR_VERSION} REQUIRED COMPONENTS AndroidExtras) 0076 find_package(Gradle REQUIRED) 0077 endif() 0078 0079 if(UNIX AND NOT ANDROID) 0080 find_package(KF${KF_MAJOR_VERSION} ${REQUIRED_KF_VERSION} REQUIRED COMPONENTS Config) 0081 endif() 0082 0083 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS 0084 Core 0085 Quick 0086 Concurrent) 0087 0088 find_package(KF${KF_MAJOR_VERSION} ${REQUIRED_KF5_VERSION} REQUIRED COMPONENTS 0089 I18n 0090 CoreAddons) 0091 0092 find_package(MauiKit${MAUI_MAJOR_VERSION} ${MAUIKIT_VERSION}) 0093 0094 if (QT_MAJOR_VERSION STREQUAL "5") 0095 if(QUICK_COMPILER) 0096 find_package(Qt5QuickCompiler) 0097 set_package_properties(Qt5QuickCompiler PROPERTIES 0098 DESCRIPTION "Compile QML at build time" 0099 TYPE OPTIONAL) 0100 endif() 0101 endif() 0102 0103 if(${ECM_SOURCE_UNDER_VERSION_CONTROL}) 0104 execute_process( 0105 COMMAND git rev-parse --abbrev-ref HEAD 0106 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} 0107 OUTPUT_VARIABLE GIT_BRANCH 0108 OUTPUT_STRIP_TRAILING_WHITESPACE) 0109 0110 # Get the latest abbreviated commit hash of the working branch 0111 execute_process( 0112 COMMAND git log -1 --format=%h 0113 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} 0114 OUTPUT_VARIABLE GIT_COMMIT_HASH 0115 OUTPUT_STRIP_TRAILING_WHITESPACE) 0116 0117 add_definitions(-DGIT_COMMIT_HASH="${GIT_COMMIT_HASH}") 0118 add_definitions(-DGIT_BRANCH="${GIT_BRANCH}") 0119 0120 else() 0121 add_definitions(-DGIT_COMMIT_HASH="${PROJECT_VERSION}") 0122 add_definitions(-DGIT_BRANCH="Stable") 0123 endif() 0124 0125 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/MauiKitDocuments${MAUI_MAJOR_VERSION}") 0126 0127 ecm_setup_version(${PROJECT_VERSION} 0128 VARIABLE_PREFIX Documents 0129 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/documents_version.h" 0130 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/MauiKitDocuments${MAUI_MAJOR_VERSION}ConfigVersion.cmake" 0131 SOVERSION ${PROJECT_VERSION_MAJOR}) 0132 0133 configure_package_config_file( 0134 "${CMAKE_CURRENT_SOURCE_DIR}/MauiKitDocumentsConfig.cmake.in.${QT_MAJOR_VERSION}" 0135 "${CMAKE_CURRENT_BINARY_DIR}/MauiKitDocuments${MAUI_MAJOR_VERSION}Config.cmake" 0136 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0137 PATH_VARS CMAKE_INSTALL_PREFIX) 0138 0139 install(FILES 0140 "${CMAKE_CURRENT_BINARY_DIR}/MauiKitDocuments${MAUI_MAJOR_VERSION}ConfigVersion.cmake" 0141 "${CMAKE_CURRENT_BINARY_DIR}/MauiKitDocuments${MAUI_MAJOR_VERSION}Config.cmake" 0142 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0143 COMPONENT Devel) 0144 0145 install(EXPORT MauiKitDocuments${MAUI_MAJOR_VERSION}Targets 0146 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0147 FILE MauiKitDocuments${MAUI_MAJOR_VERSION}Targets.cmake 0148 NAMESPACE MauiKit${MAUI_MAJOR_VERSION}::) 0149 0150 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/documents_version.h" 0151 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/MauiKit${MAUI_MAJOR_VERSION}/Documents 0152 COMPONENT Devel) 0153 0154 add_definitions(-DTRANSLATION_DOMAIN="mauikitdocuments") 0155 ki18n_install(po) 0156 0157 add_subdirectory(src) 0158 0159 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) 0160 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0161 0162 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)