Warning, /libraries/upnp-lib-qt/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2015 (c) Matthieu Gallien <matthieu_gallien@yahoo.fr>
0002
0003 # SPDX-License-Identifier: BSD-2-Clause
0004
0005 cmake_minimum_required(VERSION 3.8)
0006
0007 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0008 set(CMAKE_CXX_STANDARD 17)
0009
0010 project(UpnpLibQt VERSION 0.1)
0011
0012 set(KF5_VERSION "5.59.0")
0013
0014 include(FeatureSummary)
0015 find_package(ECM ${KF5_VERSION} NO_MODULE)
0016 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules")
0017 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)
0018
0019 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
0020
0021 include(KDEInstallDirs)
0022 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
0023 include(KDECMakeSettings)
0024 include(GenerateExportHeader)
0025
0026 set(REQUIRED_QT_VERSION 6.4.0)
0027 find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Network Xml)
0028 find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG OPTIONAL_COMPONENTS Qml Quick Widgets Test)
0029
0030 find_package(KDSoap-qt6 1.5.0 CONFIG REQUIRED)
0031
0032 include(ECMSetupVersion)
0033 include(ECMGenerateHeaders)
0034 include(ECMQtDeclareLoggingCategory)
0035 include(ECMAddQch)
0036
0037 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF)
0038 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")
0039
0040 ecm_setup_version(PROJECT
0041 VARIABLE_PREFIX UPNPLIBQT
0042 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/upnplibqt_version.h"
0043 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/UpnpLibQtConfigVersion.cmake"
0044 SOVERSION 5)
0045 add_definitions(-DQT_NO_FOREACH)
0046
0047 add_subdirectory(src)
0048 if (BUILD_TESTING)
0049 add_subdirectory(tests)
0050 add_subdirectory(autotests)
0051 endif()
0052
0053 # create a Config.cmake and a ConfigVersion.cmake file and install them
0054 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/UpnpLibQt")
0055
0056 if (BUILD_QCH)
0057 ecm_install_qch_export(
0058 TARGETS UpnpLibQt_QCH
0059 FILE UpnpLibQtQchTargets.cmake
0060 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0061 COMPONENT Devel
0062 )
0063 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/UpnpLibQtQchTargets.cmake\")")
0064 endif()
0065
0066 include(CMakePackageConfigHelpers)
0067
0068 configure_package_config_file(
0069 "${CMAKE_CURRENT_SOURCE_DIR}/UpnpLibQtConfig.cmake.in"
0070 "${CMAKE_CURRENT_BINARY_DIR}/UpnpLibQtConfig.cmake"
0071 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0072 )
0073
0074 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/upnplibqt_version.h
0075 DESTINATION ${KDE_INSTALL_INCLUDEDIR}
0076 COMPONENT Devel)
0077
0078 install(FILES
0079 "${CMAKE_CURRENT_BINARY_DIR}/UpnpLibQtConfig.cmake"
0080 "${CMAKE_CURRENT_BINARY_DIR}/UpnpLibQtConfigVersion.cmake"
0081 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0082 COMPONENT Devel)
0083
0084 install(EXPORT UpnpLibQtTargets
0085 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0086 FILE UpnpLibQtTargets.cmake
0087 NAMESPACE UPNP::)
0088
0089 install(FILES upnplibqt.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR})
0090
0091 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)