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 "07") 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.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 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0030 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0031 0032 ecm_setup_version(PROJECT VARIABLE_PREFIX KPUBLICTRANSPORT 0033 VERSION_HEADER kpublictransport_version.h 0034 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPublicTransportConfigVersion.cmake" 0035 SOVERSION 1 0036 ) 0037 0038 if (QT_MAJOR_VERSION STREQUAL "6") 0039 set(KF_MAJOR_VERSION "6") 0040 else() 0041 set(KF_MAJOR_VERSION "5") 0042 endif() 0043 0044 find_package(Qt${QT_MAJOR_VERSION} 5.15 REQUIRED COMPONENTS Quick) 0045 0046 if (QT_MAJOR_VERSION STREQUAL 6) 0047 find_package(Qt${QT_MAJOR_VERSION} 5.15 REQUIRED COMPONENTS Core5Compat) 0048 endif() 0049 if (QT_MAJOR_VERSION EQUAL "5" AND ANDROID) 0050 find_package(Qt5 5.15 REQUIRED COMPONENTS AndroidExtras) 0051 endif() 0052 0053 if (BUILD_TESTING) 0054 find_package(Qt${QT_MAJOR_VERSION} 5.15 REQUIRED COMPONENTS Test Widgets) 0055 endif() 0056 0057 find_package(ZLIB REQUIRED) 0058 find_package(OsmTools) 0059 set_package_properties(OsmTools PROPERTIES TYPE OPTIONAL PURPOSE "Needed only for regenereating line metadata tables (you don't need this for distribution)") 0060 if (NOT CMAKE_CROSSCOMPILING) 0061 find_package(PolyClipping) 0062 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)") 0063 endif() 0064 0065 if (NOT WIN32) 0066 find_package(Protobuf) 0067 set_package_properties(Protobuf PROPERTIES TYPE OPTIONAL PURPOSE "Parsing of OSM PBF files.") 0068 endif() 0069 0070 if (UNIX AND NOT ANDROID) 0071 find_package(KF${KF_MAJOR_VERSION}NetworkManagerQt) 0072 set_package_properties(KF${KF_MAJOR_VERSION}NetworkManagerQt PROPERTIES TYPE OPTIONAL PURPOSE "Onboard status detection.") 0073 endif() 0074 if (ANDROID) 0075 find_package(Gradle) 0076 endif() 0077 0078 find_package(KF${KF_MAJOR_VERSION} REQUIRED COMPONENTS I18n) 0079 0080 set(KPUBLICTRANSPORT_INSTALL_INCLUDEDIR ${KDE_INSTALL_INCLUDEDIR}/KPublicTransport) 0081 0082 ecm_set_disabled_deprecation_versions(QT 5.15.2 0083 KF 5.102.0 0084 ) 0085 0086 add_subdirectory(src) 0087 0088 if (BUILD_TESTING) 0089 add_subdirectory(autotests) 0090 add_subdirectory(tests) 0091 endif() 0092 0093 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) 0094 0095 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPublicTransport") 0096 configure_package_config_file( 0097 "${CMAKE_CURRENT_SOURCE_DIR}/KPublicTransportConfig.cmake.in" 0098 "${CMAKE_CURRENT_BINARY_DIR}/KPublicTransportConfig.cmake" 0099 INSTALL_DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0100 ) 0101 0102 install(FILES 0103 "${CMAKE_CURRENT_BINARY_DIR}/KPublicTransportConfig.cmake" 0104 "${CMAKE_CURRENT_BINARY_DIR}/KPublicTransportConfigVersion.cmake" 0105 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0106 COMPONENT Devel 0107 ) 0108 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kpublictransport_version.h DESTINATION ${KPUBLICTRANSPORT_INSTALL_INCLUDEDIR} COMPONENT Devel) 0109 0110 install(EXPORT KPublicTransportTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPublicTransportTargets.cmake) 0111 0112 if (BUILD_QCH) 0113 ecm_install_qch_export( 0114 TARGETS KPublicTransport_QCH 0115 FILE KPublicTransportQchTargets.cmake 0116 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0117 COMPONENT Devel 0118 ) 0119 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPublicTransportQchTargets.cmake\")") 0120 endif()