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