Warning, /maui/nota/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # Copyright 2018-2020 Camilo Higuita <milo.h@aol.com>
0002 # Copyright 2018-2020 Nitrux Latinoamericana S.C.
0003 #
0004 # SPDX-License-Identifier: GPL-3.0-or-later
0005
0006 cmake_minimum_required(VERSION 3.16)
0007
0008 set(NOTA_VERSION 3.1.0)
0009 add_compile_definitions(APP_COPYRIGHT_NOTICE="© 2019-2024 Maui Development Team")
0010
0011 project(nota VERSION ${NOTA_VERSION})
0012
0013 set(CMAKE_CXX_STANDARD 17)
0014 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0015
0016 set(CMAKE_INCLUDE_CURRENT_DIR ON)
0017
0018 set(CMAKE_AUTOUIC ON)
0019 set(CMAKE_AUTOMOC ON)
0020 set(CMAKE_AUTORCC ON)
0021
0022 set(REQUIRED_QT_VERSION 5.14.0)
0023 set(REQUIRED_KF5_VERSION 5.60)
0024 set(REQUIRED_MAUI_VERSION 3.0.0)
0025
0026 if(ANDROID)
0027 set(ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android_files)
0028 set(ANDROID_ABIS "armeabi-v7a")
0029 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/android_files/version.gradle.in ${CMAKE_BINARY_DIR}/version.gradle)
0030 endif()
0031
0032 option(QUICK_COMPILER "Use QtQuick compiler to improve performance" TRUE)
0033
0034 find_package(ECM ${REQUIRED_KF5_VERSION} REQUIRED NO_MODULE)
0035 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${ECM_MODULE_PATH})
0036
0037 if(ANDROID)
0038 find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS AndroidExtras QuickControls2)
0039 elseif(UNIX)
0040 find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Widgets DBus)
0041 endif()
0042
0043 find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Qml Quick)
0044 find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED COMPONENTS I18n CoreAddons)
0045
0046 find_package(MauiKit3 ${REQUIRED_MAUI_VERSION} REQUIRED COMPONENTS FileBrowsing TextEditor)
0047 find_package(MauiKit3 ${REQUIRED_MAUI_VERSION} REQUIRED)
0048
0049 if(QUICK_COMPILER)
0050 find_package(Qt5QuickCompiler)
0051 set_package_properties(Qt5QuickCompiler PROPERTIES
0052 DESCRIPTION "Compile QML at build time"
0053 TYPE OPTIONAL)
0054 endif()
0055
0056 if(UNIX AND NOT APPLE AND NOT ANDROID)
0057 include(KDEInstallDirs)
0058 include(KDECMakeSettings)
0059 include(ECMInstallIcons)
0060 include(ECMAddAppIcon)
0061 endif()
0062
0063 include(KDECompilerSettings NO_POLICY_SCOPE)
0064 include(KDEClangFormat)
0065 include(ECMSetupVersion)
0066 include(ECMSourceVersionControl)
0067 include(FeatureSummary)
0068
0069 if(${ECM_SOURCE_UNDER_VERSION_CONTROL})
0070 execute_process(
0071 COMMAND git rev-parse --abbrev-ref HEAD
0072 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0073 OUTPUT_VARIABLE GIT_BRANCH
0074 OUTPUT_STRIP_TRAILING_WHITESPACE)
0075
0076 # Get the latest abbreviated commit hash of the working branch
0077 execute_process(
0078 COMMAND git log -1 --format=%h
0079 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0080 OUTPUT_VARIABLE GIT_COMMIT_HASH
0081 OUTPUT_STRIP_TRAILING_WHITESPACE)
0082
0083 add_definitions(-DGIT_COMMIT_HASH="${GIT_COMMIT_HASH}")
0084 add_definitions(-DGIT_BRANCH="${GIT_BRANCH}")
0085
0086 else()
0087 add_definitions(-DGIT_COMMIT_HASH="${NOTA_VERSION}")
0088 add_definitions(-DGIT_BRANCH="Stable")
0089 endif()
0090
0091 ecm_setup_version(${NOTA_VERSION}
0092 VARIABLE_PREFIX NOTA
0093 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/nota_version.h")
0094
0095 add_subdirectory(src)
0096
0097 ki18n_install(po)
0098
0099 if(UNIX AND NOT APPLE AND NOT ANDROID)
0100 install(FILES org.kde.nota.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
0101 install(FILES org.kde.nota.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
0102 endif()
0103
0104 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0105
0106 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0107 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})