Warning, /maui/mauikit-texteditor/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.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 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 set(AUTOMOC_MOC_OPTIONS -Muri=org.mauikit.texteditor)
0043 
0044 project(TextEditor LANGUAGES CXX VERSION ${MAUIKIT_VERSION})
0045 
0046 find_package(ECM ${REQUIRED_KF_VERSION} NO_MODULE)
0047 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH})
0048 
0049 include(GenerateExportHeader)
0050 include(GNUInstallDirs)
0051 include(FeatureSummary)
0052 include(CMakePackageConfigHelpers)
0053 
0054 include(KDEInstallDirs)
0055 include(KDECMakeSettings)
0056 include(KDECompilerSettings)
0057 include(KDEPackageAppTemplates)
0058 include(KDEClangFormat)
0059 
0060 include(ECMSetupVersion)
0061 include(ECMGenerateQmlTypes)
0062 include(ECMGenerateHeaders)
0063 include(ECMFindQmlModule)
0064 include(ECMQmlModule)
0065 include(ECMSourceVersionControl)
0066 
0067 option(QUICK_COMPILER "Use QtQuick compiler to improve performance" TRUE)
0068 
0069 if(ANDROID)
0070     find_package(Qt${QT_MAJOR_VERSION} REQUIRED COMPONENTS AndroidExtras)
0071 endif()
0072 
0073 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS
0074     Core
0075     Qml
0076     Quick)
0077 
0078 find_package(KF${KF_MAJOR_VERSION} ${REQUIRED_KF_VERSION} REQUIRED COMPONENTS
0079     SyntaxHighlighting
0080     I18n
0081     CoreAddons)
0082 
0083 find_package(MauiKit${MAUI_MAJOR_VERSION} ${MAUIKIT_VERSION})
0084 
0085 if (QT_MAJOR_VERSION STREQUAL "5")
0086     if(QUICK_COMPILER)
0087         find_package(Qt5QuickCompiler)
0088         set_package_properties(Qt5QuickCompiler PROPERTIES
0089             DESCRIPTION "Compile QML at build time"
0090             TYPE OPTIONAL)
0091     endif()
0092 endif()
0093 
0094 if(${ECM_SOURCE_UNDER_VERSION_CONTROL})
0095     execute_process(
0096         COMMAND git rev-parse --abbrev-ref HEAD
0097         WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0098         OUTPUT_VARIABLE GIT_BRANCH
0099         OUTPUT_STRIP_TRAILING_WHITESPACE)
0100 
0101     # Get the latest abbreviated commit hash of the working branch
0102     execute_process(
0103         COMMAND git log -1 --format=%h
0104         WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0105         OUTPUT_VARIABLE GIT_COMMIT_HASH
0106         OUTPUT_STRIP_TRAILING_WHITESPACE)
0107 
0108     add_definitions(-DGIT_COMMIT_HASH="${GIT_COMMIT_HASH}")
0109     add_definitions(-DGIT_BRANCH="${GIT_BRANCH}")
0110 
0111 else()
0112     add_definitions(-DGIT_COMMIT_HASH="${PROJECT_VERSION}")
0113     add_definitions(-DGIT_BRANCH="Stable")
0114 endif()
0115 
0116 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/MauiKitTextEditor${MAUI_MAJOR_VERSION}")
0117 
0118 ecm_setup_version(${PROJECT_VERSION}
0119     VARIABLE_PREFIX TextEditor
0120     VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/texteditor_version.h"
0121     PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/MauiKitTextEditor${MAUI_MAJOR_VERSION}ConfigVersion.cmake"
0122     SOVERSION ${PROJECT_VERSION_MAJOR})
0123 
0124 configure_package_config_file(
0125     "${CMAKE_CURRENT_SOURCE_DIR}/MauiKitTextEditorConfig.cmake.in.${QT_MAJOR_VERSION}"
0126     "${CMAKE_CURRENT_BINARY_DIR}/MauiKitTextEditor${MAUI_MAJOR_VERSION}Config.cmake"
0127     INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0128     PATH_VARS CMAKE_INSTALL_PREFIX)
0129 
0130 install(FILES
0131     "${CMAKE_CURRENT_BINARY_DIR}/MauiKitTextEditor${MAUI_MAJOR_VERSION}ConfigVersion.cmake"
0132     "${CMAKE_CURRENT_BINARY_DIR}/MauiKitTextEditor${MAUI_MAJOR_VERSION}Config.cmake"
0133     DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0134     COMPONENT Devel)
0135 
0136 install(EXPORT MauiKitTextEditor${MAUI_MAJOR_VERSION}Targets
0137     DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0138     FILE MauiKitTextEditor${MAUI_MAJOR_VERSION}Targets.cmake
0139     NAMESPACE MauiKit${MAUI_MAJOR_VERSION}::)
0140 
0141 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/texteditor_version.h"
0142     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/MauiKit${MAUI_MAJOR_VERSION}/TextEditor
0143     COMPONENT Devel)
0144 
0145 add_definitions(-DTRANSLATION_DOMAIN="mauikittexteditor")
0146 ki18n_install(po)
0147 
0148 add_subdirectory(src)
0149 
0150 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0151 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0152 
0153 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)