Warning, /frameworks/kross/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.16)
0002 
0003 set(KF_VERSION "5.116.0") # handled by release scripts
0004 set(KF_DEP_VERSION "5.115.0") # handled by release scripts
0005 project(Kross VERSION ${KF_VERSION})
0006 
0007 include(FeatureSummary)
0008 find_package(ECM 5.115.0  NO_MODULE)
0009 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules")
0010 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)
0011 
0012 
0013 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
0014 
0015 
0016 include(GenerateExportHeader)
0017 include(CMakePackageConfigHelpers)
0018 include(ECMSetupVersion)
0019 include(ECMGenerateHeaders)
0020 include(ECMGenerateExportHeader)
0021 include(ECMDeprecationSettings)
0022 include(ECMQtDeclareLoggingCategory)
0023 
0024 include(KDEInstallDirs)
0025 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
0026 include(KDECMakeSettings)
0027 
0028 ecm_setup_version(PROJECT VARIABLE_PREFIX KROSS
0029                         VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kross_version.h"
0030                         PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5KrossConfigVersion.cmake"
0031                         SOVERSION 5)
0032 
0033 set(REQUIRED_QT_VERSION 5.15.2)
0034 find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Script Xml Widgets UiTools)
0035 
0036 
0037 find_package(Qt5Test ${REQUIRED_QT_VERSION} CONFIG QUIET)
0038 set_package_properties(Qt5Test PROPERTIES
0039    PURPOSE "Required for tests"
0040    TYPE OPTIONAL
0041    )
0042 add_feature_info("Qt5Test" Qt5Test_FOUND "Required for building tests")
0043 if (NOT Qt5Test_FOUND)
0044    set(BUILD_TESTING OFF CACHE BOOL "Build the testing tree.")
0045 endif()
0046 
0047 find_package(KF5Completion ${KF_DEP_VERSION} REQUIRED)
0048 find_package(KF5CoreAddons ${KF_DEP_VERSION} REQUIRED)
0049 find_package(KF5I18n ${KF_DEP_VERSION} REQUIRED)
0050 find_package(KF5IconThemes ${KF_DEP_VERSION} REQUIRED)
0051 find_package(KF5KIO ${KF_DEP_VERSION} REQUIRED)
0052 find_package(KF5Parts ${KF_DEP_VERSION} REQUIRED)
0053 find_package(KF5WidgetsAddons ${KF_DEP_VERSION} REQUIRED)
0054 find_package(KF5XmlGui ${KF_DEP_VERSION} REQUIRED)
0055 find_package(KF5DocTools ${KF_DEP_VERSION})
0056 
0057 # remove definitions set by KDEFrameworkCompilerSettings which we fail to meet
0058 remove_definitions(-DQT_NO_KEYWORDS)
0059 remove_definitions(-DQT_NO_FOREACH)
0060 remove_definitions(-DQT_NO_CAST_FROM_ASCII)
0061 # ideally we would support QT_NO_KEYWORDS, but at least we can do this
0062 add_definitions(-DQT_NO_SIGNALS_SLOTS_KEYWORDS)
0063 
0064 ecm_set_disabled_deprecation_versions(
0065     QT 5.15.2
0066 )
0067 add_definitions(-DTRANSLATION_DOMAIN=\"kross5\")
0068 ki18n_install(po)
0069 if (KF5DocTools_FOUND)
0070     kdoctools_install(po)
0071 endif()
0072 if (KF5DocTools_FOUND)
0073     add_subdirectory(docs)
0074 endif()
0075 
0076 add_subdirectory(src)
0077 if (BUILD_TESTING)
0078 add_subdirectory(autotests)
0079 endif()
0080 
0081 # create a Config.cmake and a ConfigVersion.cmake file and install them
0082 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Kross")
0083 
0084 configure_package_config_file(
0085   "${CMAKE_CURRENT_SOURCE_DIR}/KF5KrossConfig.cmake.in"
0086   "${CMAKE_CURRENT_BINARY_DIR}/KF5KrossConfig.cmake"
0087   INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
0088 )
0089 
0090 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kross_version.h
0091         DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel)
0092 
0093 install(FILES
0094   "${CMAKE_CURRENT_BINARY_DIR}/KF5KrossConfig.cmake"
0095   "${CMAKE_CURRENT_BINARY_DIR}/KF5KrossConfigVersion.cmake"
0096   DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0097   COMPONENT Devel
0098 )
0099 
0100 install(EXPORT KF5KrossTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5KrossTargets.cmake NAMESPACE KF5::)
0101 
0102 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)