Warning, /maui/pix/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(PIX_VERSION 3.1.0)
0009 add_compile_definitions(APP_COPYRIGHT_NOTICE="© 2019-2024 Maui Development Team")
0010 
0011 set(CMAKE_CXX_STANDARD 11) # to use 17 we need to update exiv2
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(pix VERSION ${PIX_VERSION})
0021 
0022 set(REQUIRED_QT_VERSION 5.14.0)
0023 set(REQUIRED_KF5_VERSION 5.60)
0024 
0025 if(ANDROID)
0026     set(ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android_files)
0027     set(ANDROID_ABIS "armeabi-v7a")
0028     configure_file(${CMAKE_CURRENT_SOURCE_DIR}/android_files/version.gradle.in ${CMAKE_BINARY_DIR}/version.gradle)
0029 endif()
0030 
0031 option(QUICK_COMPILER "Use QtQuick compiler to improve performance" TRUE)
0032 
0033 find_package(ECM ${REQUIRED_KF5_VERSION} REQUIRED NO_MODULE)
0034 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${ECM_MODULE_PATH})
0035 
0036 find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Qml Quick Positioning Concurrent)
0037 find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED COMPONENTS I18n CoreAddons)
0038 
0039 find_package(MauiKit3 REQUIRED)
0040 find_package(MauiKit3 REQUIRED COMPONENTS FileBrowsing ImageTools)
0041 #find_package(CaskServer REQUIRED)
0042 
0043 if(ANDROID)
0044     find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS AndroidExtras QuickControls2)
0045 elseif(UNIX)
0046     find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Widgets)
0047 endif()
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="${PIX_VERSION}")
0088     add_definitions(-DGIT_BRANCH="Stable")
0089 endif()
0090 
0091 ecm_setup_version(${PIX_VERSION}
0092     VARIABLE_PREFIX PIX
0093     VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/pix_version.h")
0094 
0095 kde_enable_exceptions()
0096 
0097 add_subdirectory(src)
0098 
0099 ki18n_install(po)
0100 
0101 if(UNIX AND NOT APPLE AND NOT ANDROID)
0102     install(FILES org.kde.pix.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
0103 endif()
0104 
0105 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0106 
0107 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0108 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})