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 "23") 0008 set(RELEASE_SERVICE_VERSION_MINOR "08") 0009 set(RELEASE_SERVICE_VERSION_MICRO "2") 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 "5.15.0") 0015 if (ANDROID) 0016 set(QT_MIN_VERSION "5.15.10") 0017 endif() 0018 set(KF_MIN_VERSION "5.88.0") 0019 0020 set(CMAKE_CXX_STANDARD 17) 0021 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0022 0023 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) 0024 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) 0025 0026 include(KDECompilerSettings NO_POLICY_SCOPE) 0027 include(ECMAddTests) 0028 include(ECMGenerateHeaders) 0029 include(ECMQtDeclareLoggingCategory) 0030 include(ECMSetupVersion) 0031 include(FeatureSummary) 0032 include(KDEInstallDirs) 0033 include(KDECMakeSettings) 0034 include(KDEClangFormat) 0035 include(ECMQMLModules) 0036 include(KDEGitCommitHooks) 0037 include(ECMCheckOutboundLicense) 0038 include(ECMAddAppIcon) 0039 0040 ecm_setup_version(${PROJECT_VERSION} 0041 VARIABLE_PREFIX KTRIP 0042 VERSION_HEADER ${CMAKE_CURRENT_BINARY_DIR}/version.h 0043 ) 0044 0045 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml Quick QuickControls2) 0046 find_package(KF${QT_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS CoreAddons I18n ItemModels Config) 0047 0048 if (ANDROID) 0049 # runtime dependencies are build-time dependencies on Android 0050 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} REQUIRED COMPONENTS AndroidExtras Svg) 0051 find_package(KF${QT_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS Kirigami2) 0052 find_package(OpenSSL REQUIRED) 0053 0054 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/android/version.gradle.in ${CMAKE_BINARY_DIR}/version.gradle) 0055 0056 else() 0057 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} REQUIRED COMPONENTS Widgets) 0058 find_package(KF${QT_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS QQC2DesktopStyle) 0059 endif() 0060 0061 find_package(KPublicTransport) 0062 set_package_properties(KPublicTransport PROPERTIES TYPE REQUIRED PURPOSE "Query online journey information") 0063 0064 ecm_find_qmlmodule(org.kde.kitemmodels 1.0) 0065 ecm_find_qmlmodule(org.kde.kirigamiaddons.dateandtime 0.1) 0066 0067 add_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_URL_CAST_FROM_STRING) 0068 add_definitions(-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT) 0069 add_definitions(-DQT_USE_QSTRINGBUILDER) 0070 add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00) 0071 0072 ki18n_install(po) 0073 0074 add_subdirectory(src) 0075 0076 install(FILES org.kde.ktrip.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 0077 0078 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) 0079 0080 # add clang-format target for all our real source files 0081 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) 0082 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0083 0084 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0085 0086 file(GLOB_RECURSE ALL_SOURCE_FILES *.cpp *.h *.qml) 0087 # CI installs dependency headers to _install and _build, which break the reuse check 0088 # Fixes the test by excluding this directory 0089 list(FILTER ALL_SOURCE_FILES EXCLUDE REGEX [[_(install|build)/.*]]) 0090 ecm_check_outbound_license(LICENSES GPL-2.0-only GPL-3.0-only FILES ${ALL_SOURCE_FILES})