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