Warning, /maui/index-fm/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # Copyright 2018-2021 Camilo Higuita <milo.h@aol.com>
0002 # Copyright 2018-2021 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(INDEX_VERSION 3.1.0)
0009 add_compile_definitions(INDEX_COPYRIGHT_NOTICE="© 2019-2024 Maui Development Team")
0010
0011 set(CMAKE_CXX_STANDARD 17)
0012 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0013
0014 set(CMAKE_INCLUDE_CURRENT_DIR ON)
0015
0016 set(CMAKE_AUTOUIC ON)
0017 set(CMAKE_AUTOMOC ON)
0018 set(CMAKE_AUTORCC ON)
0019
0020 project(index VERSION ${INDEX_VERSION})
0021
0022 set(REQUIRED_QT_VERSION 5.15.0)
0023 set(REQUIRED_KF5_VERSION 5.77.0)
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} NO_MODULE)
0035 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${ECM_MODULE_PATH})
0036
0037 if(UNIX AND NOT APPLE AND NOT ANDROID)
0038 include(KDEInstallDirs)
0039 include(KDECMakeSettings)
0040 include(ECMInstallIcons)
0041 include(ECMAddAppIcon)
0042 endif()
0043
0044 include(KDECompilerSettings NO_POLICY_SCOPE)
0045 include(KDEClangFormat)
0046 include(ECMSetupVersion)
0047 include(ECMSourceVersionControl)
0048 include(FeatureSummary)
0049 include(ECMQMLModules)
0050
0051 find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Qml Quick QuickControls2)
0052 find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED COMPONENTS I18n CoreAddons Archive)
0053
0054 if(ANDROID)
0055 find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS AndroidExtras QuickControls2)
0056 elseif(UNIX)
0057 find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS DBus)
0058 find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED COMPONENTS KIO)
0059 endif()
0060
0061 if(UNIX OR WIN32 OR APPLE AND NOT ANDROID)
0062 find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Widgets)
0063 endif()
0064
0065 if(QUICK_COMPILER)
0066 find_package(Qt5QuickCompiler)
0067 set_package_properties(Qt5QuickCompiler PROPERTIES
0068 DESCRIPTION "Compile QML at build time"
0069 TYPE OPTIONAL
0070 )
0071 endif()
0072
0073 find_package(MauiKit3 ${REQUIRED_MAUI_VERSION} REQUIRED)
0074 find_package(MauiKit3 ${REQUIRED_MAUI_VERSION} REQUIRED COMPONENTS FileBrowsing)
0075
0076 #ecm_find_qmlmodule(org.mauikit.filebrowsing)
0077 #ecm_find_qmlmodule(org.mauikit.controls)
0078 #ecm_find_qmlmodule(org.mauikit.texteditor 1.0)
0079 #ecm_find_qmlmodule(QMLTermWidget 1.0)
0080 #ecm_find_qmlmodule(QtQuick.Shapes 1.0)
0081 #ecm_find_qmlmodule(org.kde.kirigami 2.10)
0082
0083 if(ECM_SOURCE_UNDER_VERSION_CONTROL)
0084 execute_process(
0085 COMMAND git rev-parse --abbrev-ref HEAD
0086 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0087 OUTPUT_VARIABLE GIT_BRANCH
0088 OUTPUT_STRIP_TRAILING_WHITESPACE)
0089
0090 # Get the latest abbreviated commit hash of the working branch
0091 execute_process(
0092 COMMAND git log -1 --format=%h
0093 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0094 OUTPUT_VARIABLE GIT_COMMIT_HASH
0095 OUTPUT_STRIP_TRAILING_WHITESPACE)
0096
0097 add_definitions(-DGIT_COMMIT_HASH="${GIT_COMMIT_HASH}")
0098 add_definitions(-DGIT_BRANCH="${GIT_BRANCH}")
0099
0100 else()
0101 add_definitions(-DGIT_COMMIT_HASH="${INDEX_VERSION}")
0102 add_definitions(-DGIT_BRANCH="${CMAKE_BUILD_TYPE}")
0103 endif()
0104
0105 ecm_setup_version(${INDEX_VERSION}
0106 VARIABLE_PREFIX INDEX
0107 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/index_version.h")
0108
0109 add_subdirectory(src)
0110
0111 if(UNIX AND NOT APPLE AND NOT ANDROID)
0112 install(FILES org.kde.index.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
0113 install(FILES src/data/org.kde.index.notifyrc DESTINATION ${KNOTIFYRC_INSTALL_DIR})
0114 endif()
0115
0116 ki18n_install(po)
0117
0118 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0119
0120 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0121 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})