Warning, /libraries/kpublictransport/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2018 Volker Krause <vkrause@kde.org> 0002 # SPDX-License-Identifier: BSD-3-Clause 0003 0004 cmake_minimum_required(VERSION 3.16) 0005 0006 # KDE Application 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 project(KPublicTransport VERSION ${RELEASE_SERVICE_VERSION}) 0012 0013 find_package(ECM 5.245 REQUIRED NO_MODULE) 0014 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${ECM_MODULE_PATH}) 0015 0016 include(KDECompilerSettings NO_POLICY_SCOPE) 0017 include(ECMAddTests) 0018 include(ECMGenerateHeaders) 0019 include(ECMQtDeclareLoggingCategory) 0020 include(ECMDeprecationSettings) 0021 include(ECMSetupVersion) 0022 include(FeatureSummary) 0023 include(KDEInstallDirs) 0024 include(KDECMakeSettings) 0025 include(GenerateExportHeader) 0026 include(ECMAddQch) 0027 include(ECMQmlModule) 0028 0029 set(CMAKE_CXX_STANDARD 20) 0030 0031 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0032 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0033 0034 ecm_setup_version(PROJECT VARIABLE_PREFIX KPUBLICTRANSPORT 0035 VERSION_HEADER kpublictransport_version.h 0036 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPublicTransportConfigVersion.cmake" 0037 SOVERSION 1 0038 ) 0039 0040 find_package(Qt6 6.5 REQUIRED COMPONENTS Quick) 0041 0042 if (BUILD_TESTING) 0043 find_package(Qt6 5.15 REQUIRED COMPONENTS Test Widgets) 0044 endif() 0045 0046 find_package(ZLIB REQUIRED) 0047 find_package(OsmTools) 0048 set_package_properties(OsmTools PROPERTIES TYPE OPTIONAL PURPOSE "Needed only for regenereating line metadata tables (you don't need this for distribution)") 0049 if (NOT CMAKE_CROSSCOMPILING) 0050 find_package(PolyClipping) 0051 set_package_properties(PolyClipping PROPERTIES TYPE OPTIONAL PURPOSE "Needed only for processing coverage area data from the Transport API Repository (you don't need this for distribution)") 0052 endif() 0053 0054 if (NOT WIN32) 0055 find_package(Protobuf) 0056 set_package_properties(Protobuf PROPERTIES TYPE OPTIONAL PURPOSE "Parsing of OSM PBF files.") 0057 endif() 0058 0059 if (UNIX AND NOT ANDROID) 0060 find_package(KF6NetworkManagerQt) 0061 set_package_properties(KF6NetworkManagerQt PROPERTIES TYPE OPTIONAL PURPOSE "Onboard status detection.") 0062 endif() 0063 if (ANDROID) 0064 find_package(Gradle) 0065 endif() 0066 0067 find_package(KF6 REQUIRED COMPONENTS I18n) 0068 0069 set(KPUBLICTRANSPORT_INSTALL_INCLUDEDIR ${KDE_INSTALL_INCLUDEDIR}/KPublicTransport) 0070 0071 ecm_set_disabled_deprecation_versions(QT 6.5 KF 5.245.0) 0072 0073 add_subdirectory(src) 0074 0075 if (BUILD_TESTING) 0076 add_subdirectory(autotests) 0077 add_subdirectory(tests) 0078 endif() 0079 0080 0081 0082 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPublicTransport") 0083 0084 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kpublictransport_version.h DESTINATION ${KPUBLICTRANSPORT_INSTALL_INCLUDEDIR} COMPONENT Devel) 0085 0086 install(EXPORT KPublicTransportTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPublicTransportTargets.cmake) 0087 0088 if (BUILD_QCH) 0089 ecm_install_qch_export( 0090 TARGETS KPublicTransport_QCH 0091 FILE KPublicTransportQchTargets.cmake 0092 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0093 COMPONENT Devel 0094 ) 0095 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPublicTransportQchTargets.cmake\")") 0096 endif() 0097 0098 configure_package_config_file( 0099 "${CMAKE_CURRENT_SOURCE_DIR}/KPublicTransportConfig.cmake.in" 0100 "${CMAKE_CURRENT_BINARY_DIR}/KPublicTransportConfig.cmake" 0101 INSTALL_DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0102 ) 0103 0104 install(FILES 0105 "${CMAKE_CURRENT_BINARY_DIR}/KPublicTransportConfig.cmake" 0106 "${CMAKE_CURRENT_BINARY_DIR}/KPublicTransportConfigVersion.cmake" 0107 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0108 COMPONENT Devel 0109 ) 0110 0111 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)