Warning, /maui/mauikit-terminal/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.terminal) 0043 0044 project(Terminal 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 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS 0070 Core 0071 Quick 0072 Widgets) 0073 0074 find_package(KF${KF_MAJOR_VERSION} ${REQUIRED_KF_VERSION} REQUIRED COMPONENTS 0075 I18n 0076 CoreAddons 0077 Config) 0078 0079 find_package(MauiKit${MAUI_MAJOR_VERSION} ${MAUIKIT_VERSION}) 0080 0081 if (QT_MAJOR_VERSION STREQUAL "5") 0082 if(QUICK_COMPILER) 0083 find_package(Qt5QuickCompiler) 0084 set_package_properties(Qt5QuickCompiler PROPERTIES 0085 DESCRIPTION "Compile QML at build time" 0086 TYPE OPTIONAL) 0087 endif() 0088 endif() 0089 0090 if(${ECM_SOURCE_UNDER_VERSION_CONTROL}) 0091 execute_process( 0092 COMMAND git rev-parse --abbrev-ref HEAD 0093 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} 0094 OUTPUT_VARIABLE GIT_BRANCH 0095 OUTPUT_STRIP_TRAILING_WHITESPACE) 0096 0097 # Get the latest abbreviated commit hash of the working branch 0098 execute_process( 0099 COMMAND git log -1 --format=%h 0100 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} 0101 OUTPUT_VARIABLE GIT_COMMIT_HASH 0102 OUTPUT_STRIP_TRAILING_WHITESPACE) 0103 0104 add_definitions(-DGIT_COMMIT_HASH="${GIT_COMMIT_HASH}") 0105 add_definitions(-DGIT_BRANCH="${GIT_BRANCH}") 0106 0107 else() 0108 add_definitions(-DGIT_COMMIT_HASH="${PROJECT_VERSION}") 0109 add_definitions(-DGIT_BRANCH="Stable") 0110 endif() 0111 0112 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/MauiKitTerminal${MAUI_MAJOR_VERSION}") 0113 0114 ecm_setup_version(${PROJECT_VERSION} 0115 VARIABLE_PREFIX Terminal 0116 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/terminal_version.h" 0117 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/MauiKitTerminal${MAUI_MAJOR_VERSION}ConfigVersion.cmake" 0118 SOVERSION ${PROJECT_VERSION_MAJOR}) 0119 0120 configure_package_config_file( 0121 "${CMAKE_CURRENT_SOURCE_DIR}/MauiKitTerminalConfig.cmake.in.${QT_MAJOR_VERSION}" 0122 "${CMAKE_CURRENT_BINARY_DIR}/MauiKitTerminal${MAUI_MAJOR_VERSION}Config.cmake" 0123 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0124 PATH_VARS CMAKE_INSTALL_PREFIX) 0125 0126 install(FILES 0127 "${CMAKE_CURRENT_BINARY_DIR}/MauiKitTerminal${MAUI_MAJOR_VERSION}ConfigVersion.cmake" 0128 "${CMAKE_CURRENT_BINARY_DIR}/MauiKitTerminal${MAUI_MAJOR_VERSION}Config.cmake" 0129 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0130 COMPONENT Devel) 0131 0132 install(EXPORT MauiKitTerminal${MAUI_MAJOR_VERSION}Targets 0133 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0134 FILE MauiKitTerminal${MAUI_MAJOR_VERSION}Targets.cmake 0135 NAMESPACE MauiKit${MAUI_MAJOR_VERSION}::) 0136 0137 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/terminal_version.h" 0138 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/MauiKit${MAUI_MAJOR_VERSION}/Terminal 0139 COMPONENT Devel) 0140 0141 add_definitions(-DTRANSLATION_DOMAIN="mauikitterminal") 0142 ki18n_install(po) 0143 0144 #add_subdirectory(src/lib) 0145 add_subdirectory(src) 0146 0147 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) 0148 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0149 0150 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)