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})