Warning, /utilities/ktrip/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2019-2021 Nicolas Fella <nicolas.fella@gmx.de> 0002 # SPDX-License-Identifier: BSD-2-Clause 0003 0004 cmake_minimum_required(VERSION 3.16) 0005 0006 # KDE Applications version, managed by release script. 0007 set(RELEASE_SERVICE_VERSION_MAJOR "24") 0008 set(RELEASE_SERVICE_VERSION_MINOR "04") 0009 set(RELEASE_SERVICE_VERSION_MICRO "70") 0010 set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0011 0012 project(ktrip VERSION ${RELEASE_SERVICE_VERSION}) 0013 0014 set(QT_MIN_VERSION "6.5.0") 0015 set(KF_MIN_VERSION "5.240.0") 0016 0017 set(CMAKE_CXX_STANDARD 17) 0018 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0019 0020 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) 0021 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) 0022 0023 include(KDECompilerSettings NO_POLICY_SCOPE) 0024 include(ECMAddTests) 0025 include(ECMGenerateHeaders) 0026 include(ECMQtDeclareLoggingCategory) 0027 include(ECMSetupVersion) 0028 include(FeatureSummary) 0029 include(KDEInstallDirs) 0030 include(KDECMakeSettings) 0031 include(KDEClangFormat) 0032 include(ECMQmlModule) 0033 include(ECMFindQmlModule) 0034 include(KDEGitCommitHooks) 0035 include(ECMCheckOutboundLicense) 0036 include(ECMAddAppIcon) 0037 include(ECMAddAndroidApk) 0038 0039 ecm_setup_version(${PROJECT_VERSION} 0040 VARIABLE_PREFIX KTRIP 0041 VERSION_HEADER ${CMAKE_CURRENT_BINARY_DIR}/version.h 0042 ) 0043 0044 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml Quick QuickControls2) 0045 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS CoreAddons I18n Config) 0046 0047 if (ANDROID) 0048 # runtime dependencies are build-time dependencies on Android 0049 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Svg) 0050 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS Kirigami) 0051 find_package(OpenSSL REQUIRED) 0052 0053 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/android/version.gradle.in ${CMAKE_BINARY_DIR}/version.gradle) 0054 0055 else() 0056 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Widgets) 0057 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS QQC2DesktopStyle) 0058 endif() 0059 0060 find_package(KPublicTransport) 0061 set_package_properties(KPublicTransport PROPERTIES TYPE REQUIRED PURPOSE "Query online journey information") 0062 0063 ecm_find_qmlmodule(org.kde.kirigamiaddons.dateandtime 0.1) 0064 ecm_find_qmlmodule(org.kde.kirigamiaddons.formcard 1.0) 0065 0066 add_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_URL_CAST_FROM_STRING) 0067 add_definitions(-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT) 0068 add_definitions(-DQT_USE_QSTRINGBUILDER) 0069 add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00) 0070 0071 find_package(KF${QT_MAJOR_VERSION}KirigamiAddons 0.11.0 REQUIRED) 0072 set_package_properties(KF6KirigamiAddons PROPERTIES 0073 TYPE REQUIRED 0074 PURPOSE "Required runtime dependency (all modules are required)" 0075 ) 0076 0077 ki18n_install(po) 0078 0079 add_subdirectory(src) 0080 0081 install(FILES org.kde.ktrip.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 0082 0083 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) 0084 0085 # add clang-format target for all our real source files 0086 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) 0087 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0088 0089 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0090 0091 file(GLOB_RECURSE ALL_SOURCE_FILES *.cpp *.h *.qml) 0092 # CI installs dependency headers to _install and _build, which break the reuse check 0093 # Fixes the test by excluding this directory 0094 list(FILTER ALL_SOURCE_FILES EXCLUDE REGEX [[_(install|build)/.*]]) 0095 ecm_check_outbound_license(LICENSES GPL-2.0-only GPL-3.0-only FILES ${ALL_SOURCE_FILES})