Warning, /maui/shelf/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 set(SHELF_VERSION 3.1.0) 0004 add_compile_definitions(APP_COPYRIGHT_NOTICE="© 2019-2024 Maui Development Team") 0005 0006 project(shelf LANGUAGES CXX VERSION ${SHELF_VERSION}) 0007 0008 set(CMAKE_CXX_STANDARD 17) 0009 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0010 0011 set(CMAKE_INCLUDE_CURRENT_DIR ON) 0012 0013 set(CMAKE_AUTOUIC ON) 0014 set(CMAKE_AUTOMOC ON) 0015 set(CMAKE_AUTORCC ON) 0016 0017 set(REQUIRED_QT_VERSION 5.15.0) 0018 set(REQUIRED_KF5_VERSION 5.60) 0019 0020 if(ANDROID) 0021 set(ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android_files) 0022 set(ANDROID_ABIS "armeabi-v7a") 0023 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/android_files/version.gradle.in ${CMAKE_BINARY_DIR}/version.gradle) 0024 endif() 0025 0026 option(QUICK_COMPILER "Use QtQuick compiler to improve performance" TRUE) 0027 0028 find_package(ECM ${REQUIRED_KF5_VERSION} REQUIRED NO_MODULE) 0029 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${ECM_MODULE_PATH}) 0030 0031 if(ANDROID) 0032 find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS AndroidExtras QuickControls2) 0033 elseif(UNIX) 0034 find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Widgets) 0035 find_package(Poppler REQUIRED COMPONENTS Qt5) 0036 set_package_properties("Poppler" PROPERTIES 0037 TYPE RECOMMENDED 0038 PURPOSE "Support for PDF files.") 0039 endif() 0040 0041 find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Qml Quick) 0042 find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED COMPONENTS I18n CoreAddons) 0043 0044 find_package(MauiKit3 REQUIRED COMPONENTS FileBrowsing Documents) 0045 find_package(MauiKit3 REQUIRED) 0046 0047 if(QUICK_COMPILER) 0048 find_package(Qt5QuickCompiler) 0049 set_package_properties(Qt5QuickCompiler PROPERTIES 0050 DESCRIPTION "Compile QML at build time" 0051 TYPE OPTIONAL) 0052 endif() 0053 0054 if(UNIX AND NOT APPLE AND NOT ANDROID) 0055 include(KDEInstallDirs) 0056 include(KDECMakeSettings) 0057 include(ECMInstallIcons) 0058 include(ECMAddAppIcon) 0059 endif() 0060 0061 #include(KDECompilerSettings NO_POLICY_SCOPE) //this makes android app launch crash by not finding the main method 0062 include(KDEClangFormat) 0063 include(ECMSetupVersion) 0064 include(ECMSourceVersionControl) 0065 include(FeatureSummary) 0066 0067 if(${ECM_SOURCE_UNDER_VERSION_CONTROL}) 0068 execute_process( 0069 COMMAND git rev-parse --abbrev-ref HEAD 0070 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} 0071 OUTPUT_VARIABLE GIT_BRANCH 0072 OUTPUT_STRIP_TRAILING_WHITESPACE) 0073 0074 # Get the latest abbreviated commit hash of the working branch 0075 execute_process( 0076 COMMAND git log -1 --format=%h 0077 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} 0078 OUTPUT_VARIABLE GIT_COMMIT_HASH 0079 OUTPUT_STRIP_TRAILING_WHITESPACE) 0080 0081 add_definitions(-DGIT_COMMIT_HASH="${GIT_COMMIT_HASH}") 0082 add_definitions(-DGIT_BRANCH="${GIT_BRANCH}") 0083 0084 else() 0085 add_definitions(-DGIT_COMMIT_HASH="${SHELF_VERSION}") 0086 add_definitions(-DGIT_BRANCH="Stable") 0087 endif() 0088 0089 ecm_setup_version(${SHELF_VERSION} 0090 VARIABLE_PREFIX SHELF 0091 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/shelf_version.h") 0092 0093 add_subdirectory(src) 0094 ki18n_install(po) 0095 0096 if(UNIX AND NOT APPLE AND NOT ANDROID) 0097 install(FILES org.kde.shelf.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) 0098 install(FILES org.kde.shelf.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 0099 endif() 0100 0101 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0102 0103 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) 0104 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})