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