Warning, /maui/clip/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(CLIP_VERSION 3.1.0)
0009 add_compile_definitions(APP_COPYRIGHT_NOTICE="© 2019-2024 Maui Development Team")
0010 
0011 project(clip VERSION ${CLIP_VERSION} LANGUAGES CXX)
0012 
0013 set(CMAKE_CXX_STANDARD 17)
0014 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0015 
0016 set(CMAKE_INCLUDE_CURRENT_DIR ON)
0017 set(CMAKE_AUTOUIC ON)
0018 set(CMAKE_AUTOMOC ON)
0019 set(CMAKE_AUTORCC ON)
0020 
0021 set(REQUIRED_QT_VERSION 5.14.0)
0022 set(REQUIRED_KF5_VERSION 5.60)
0023 
0024 # Certain versions of FFMPEG need this to be defined
0025 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D __STDC_CONSTANT_MACROS")
0026 
0027 if(ANDROID)
0028     set(ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android_files)
0029     set(ANDROID_ABIS "armeabi-v7a")
0030     configure_file(${CMAKE_CURRENT_SOURCE_DIR}/android_files/version.gradle.in ${CMAKE_BINARY_DIR}/version.gradle)
0031 endif()
0032 
0033 option(QUICK_COMPILER "Use QtQuick compiler to improve performance" TRUE)
0034 
0035 find_package(ECM ${REQUIRED_KF5_VERSION} REQUIRED NO_MODULE)
0036 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${ECM_MODULE_PATH})
0037 
0038 find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Qml Quick Multimedia)
0039 find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED COMPONENTS I18n CoreAddons)
0040 
0041 find_package(FFmpeg COMPONENTS AVCODEC AVFORMAT SWSCALE)
0042 find_package(Taglib REQUIRED)
0043 
0044 if(ANDROID)
0045     find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS AndroidExtras QuickControls2)
0046 else()
0047     find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED COMPONENTS DBusAddons)
0048     find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Widgets DBus)
0049 endif()
0050 
0051 find_package(MauiKit3 REQUIRED)
0052 find_package(MauiKit3 REQUIRED COMPONENTS FileBrowsing)
0053 
0054 if(QUICK_COMPILER)
0055     find_package(Qt5QuickCompiler)
0056     set_package_properties(Qt5QuickCompiler PROPERTIES
0057         DESCRIPTION "Compile QML at build time"
0058         TYPE OPTIONAL)
0059 endif()
0060 
0061 if(UNIX AND NOT APPLE AND NOT ANDROID)
0062     include(KDEInstallDirs)
0063     include(KDECMakeSettings)
0064     include(ECMInstallIcons)
0065     include(ECMAddAppIcon)
0066 endif()
0067 
0068 include(KDECompilerSettings NO_POLICY_SCOPE)
0069 include(KDEClangFormat)
0070 include(ECMSetupVersion)
0071 include(ECMSourceVersionControl)
0072 include(FeatureSummary)
0073 
0074 option (MPV_AVAILABLE "Use MPV library if it is avalibale, otherwise use default fallback implementation from QtMultimedia" FALSE)
0075 
0076 if(${ECM_SOURCE_UNDER_VERSION_CONTROL})
0077     execute_process(
0078         COMMAND git rev-parse --abbrev-ref HEAD
0079         WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0080         OUTPUT_VARIABLE GIT_BRANCH
0081         OUTPUT_STRIP_TRAILING_WHITESPACE)
0082 
0083     # Get the latest abbreviated commit hash of the working branch
0084     execute_process(
0085         COMMAND git log -1 --format=%h
0086         WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0087         OUTPUT_VARIABLE GIT_COMMIT_HASH
0088         OUTPUT_STRIP_TRAILING_WHITESPACE)
0089 
0090     add_definitions(-DGIT_COMMIT_HASH="${GIT_COMMIT_HASH}")
0091     add_definitions(-DGIT_BRANCH="${GIT_BRANCH}")
0092 
0093 else()
0094     add_definitions(-DGIT_COMMIT_HASH="${CLIP_VERSION}")
0095     add_definitions(-DGIT_BRANCH="Stable")
0096 endif()
0097 
0098 ecm_setup_version(${CLIP_VERSION}
0099     VARIABLE_PREFIX CLIP
0100     VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/clip_version.h")
0101 
0102 add_subdirectory(src)
0103 ki18n_install(po)
0104 
0105 if(UNIX AND NOT APPLE AND NOT ANDROID)
0106     install(FILES org.kde.clip.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
0107 endif()
0108 
0109 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0110 
0111 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0112 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})