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 "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 project(KPublicTransport VERSION ${RELEASE_SERVICE_VERSION}) 0012 0013 find_package(ECM 5.91 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 if (QT_MAJOR_VERSION STREQUAL "6") 0041 set(KF_MAJOR_VERSION "6") 0042 else() 0043 set(KF_MAJOR_VERSION "5") 0044 endif() 0045 0046 find_package(Qt${QT_MAJOR_VERSION} 5.15 REQUIRED COMPONENTS Quick) 0047 0048 if (QT_MAJOR_VERSION STREQUAL 6) 0049 find_package(Qt${QT_MAJOR_VERSION} 5.15 REQUIRED COMPONENTS Core5Compat) 0050 endif() 0051 if (QT_MAJOR_VERSION EQUAL "5" AND ANDROID) 0052 find_package(Qt5 5.15 REQUIRED COMPONENTS AndroidExtras) 0053 endif() 0054 0055 if (BUILD_TESTING) 0056 find_package(Qt${QT_MAJOR_VERSION} 5.15 REQUIRED COMPONENTS Test Widgets) 0057 endif() 0058 0059 find_package(ZLIB REQUIRED) 0060 find_package(OsmTools) 0061 set_package_properties(OsmTools PROPERTIES TYPE OPTIONAL PURPOSE "Needed only for regenereating line metadata tables (you don't need this for distribution)") 0062 if (NOT CMAKE_CROSSCOMPILING) 0063 find_package(PolyClipping) 0064 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)") 0065 endif() 0066 0067 if (NOT WIN32) 0068 find_package(Protobuf) 0069 set_package_properties(Protobuf PROPERTIES TYPE OPTIONAL PURPOSE "Parsing of OSM PBF files.") 0070 endif() 0071 0072 if (UNIX AND NOT ANDROID) 0073 find_package(KF${KF_MAJOR_VERSION}NetworkManagerQt) 0074 set_package_properties(KF${KF_MAJOR_VERSION}NetworkManagerQt PROPERTIES TYPE OPTIONAL PURPOSE "Onboard status detection.") 0075 endif() 0076 if (ANDROID) 0077 find_package(Gradle) 0078 endif() 0079 0080 find_package(KF${KF_MAJOR_VERSION} REQUIRED COMPONENTS I18n) 0081 0082 set(KPUBLICTRANSPORT_INSTALL_INCLUDEDIR ${KDE_INSTALL_INCLUDEDIR}/KPublicTransport) 0083 0084 ecm_set_disabled_deprecation_versions(QT 5.15.2 0085 KF 5.102.0 0086 ) 0087 0088 add_subdirectory(src) 0089 0090 if (BUILD_TESTING) 0091 add_subdirectory(autotests) 0092 add_subdirectory(tests) 0093 endif() 0094 0095 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) 0096 0097 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPublicTransport") 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 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kpublictransport_version.h DESTINATION ${KPUBLICTRANSPORT_INSTALL_INCLUDEDIR} COMPONENT Devel) 0111 0112 install(EXPORT KPublicTransportTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPublicTransportTargets.cmake) 0113 0114 if (BUILD_QCH) 0115 ecm_install_qch_export( 0116 TARGETS KPublicTransport_QCH 0117 FILE KPublicTransportQchTargets.cmake 0118 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0119 COMPONENT Devel 0120 ) 0121 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPublicTransportQchTargets.cmake\")") 0122 endif()