Warning, /frameworks/extra-cmake-modules/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 #=============================================================================
0002 # SPDX-FileCopyrightText: 2006-2013 Alex Neundorf <neundorf@kde.org>
0003 # SPDX-FileCopyrightText: 2014-2015 Alex Merry <alex.merry@kde.org>
0004 #
0005 # SPDX-License-Identifier: BSD-3-Clause
0006 #=============================================================================
0007
0008 cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
0009
0010 #
0011 # Preliminary setup
0012 #
0013
0014 set(VERSION "5.116.0") # handled by release scripts
0015
0016 project(ECM
0017 VERSION "${VERSION}"
0018 LANGUAGES NONE
0019 )
0020
0021 #
0022 # Includes
0023 #
0024
0025 set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
0026
0027 include(FeatureSummary)
0028
0029
0030 #
0031 # Installation paths
0032 #
0033
0034 set(SHARE_INSTALL_DIR share
0035 CACHE
0036 PATH
0037 "read-only architecture-independent data"
0038 )
0039
0040 set(CMAKECONFIG_INSTALL_DIR ${SHARE_INSTALL_DIR}/ECM/cmake/)
0041
0042 set(FIND_MODULES_INSTALL_DIR ${SHARE_INSTALL_DIR}/ECM/find-modules/)
0043 set(KDE_MODULES_INSTALL_DIR ${SHARE_INSTALL_DIR}/ECM/kde-modules/)
0044 set(MODULES_INSTALL_DIR ${SHARE_INSTALL_DIR}/ECM/modules/)
0045 set(TOOLCHAIN_MODULES_INSTALL_DIR ${SHARE_INSTALL_DIR}/ECM/toolchain/)
0046
0047 set(DOC_INSTALL_DIR ${SHARE_INSTALL_DIR}/doc/ECM
0048 CACHE
0049 PATH
0050 "HTML and QtHelp documentation"
0051 )
0052 set(MAN_INSTALL_DIR ${SHARE_INSTALL_DIR}/man
0053 CACHE
0054 PATH
0055 "man pages"
0056 )
0057
0058
0059 #
0060 # Documentation
0061 #
0062
0063 add_subdirectory(docs)
0064
0065
0066 #
0067 # Tests
0068 #
0069
0070 option(BUILD_TESTING "Build automated tests." ON)
0071 add_feature_info(BUILD_TESTING BUILD_TESTING "Build automated tests.")
0072 if(BUILD_TESTING)
0073 enable_testing()
0074 add_subdirectory(tests)
0075 endif()
0076
0077
0078 #
0079 # Install modules
0080 #
0081
0082 file(GLOB installModuleFiles ${CMAKE_SOURCE_DIR}/modules/*[^~])
0083 install(FILES ${installModuleFiles} DESTINATION ${MODULES_INSTALL_DIR})
0084
0085 file(GLOB installTestModuleFiles ${CMAKE_SOURCE_DIR}/test-modules/*[^~])
0086 install(FILES ${installTestModuleFiles} DESTINATION ${SHARE_INSTALL_DIR}/ECM/test-modules)
0087
0088 file(GLOB installKdeModuleFiles LIST_DIRECTORIES FALSE ${CMAKE_SOURCE_DIR}/kde-modules/*[^~])
0089 install(FILES ${installKdeModuleFiles} DESTINATION ${KDE_MODULES_INSTALL_DIR})
0090 # The scripts need to be executable
0091 file(GLOB installKDECommitHooks ${CMAKE_SOURCE_DIR}/kde-modules/kde-git-commit-hooks/*[^~])
0092 install(PROGRAMS ${installKDECommitHooks} DESTINATION ${KDE_MODULES_INSTALL_DIR}/kde-git-commit-hooks)
0093
0094 file(GLOB installFindModuleFiles ${CMAKE_SOURCE_DIR}/find-modules/*.cmake ${CMAKE_SOURCE_DIR}/find-modules/*.py)
0095 install(FILES ${installFindModuleFiles} DESTINATION ${FIND_MODULES_INSTALL_DIR})
0096
0097 file(GLOB installToolchainModuleFiles ${CMAKE_SOURCE_DIR}/toolchain/*[^~])
0098 install(FILES ${installToolchainModuleFiles} DESTINATION ${TOOLCHAIN_MODULES_INSTALL_DIR})
0099
0100
0101 #
0102 # Config.cmake file
0103 #
0104
0105 include(CMakePackageConfigHelpers)
0106
0107 configure_package_config_file(
0108 ECMConfig.cmake.in
0109 ${CMAKE_CURRENT_BINARY_DIR}/ECMConfig.cmake
0110 INSTALL_DESTINATION
0111 ${CMAKECONFIG_INSTALL_DIR}
0112 PATH_VARS
0113 FIND_MODULES_INSTALL_DIR
0114 KDE_MODULES_INSTALL_DIR
0115 MODULES_INSTALL_DIR
0116 )
0117
0118 write_basic_package_version_file(
0119 ${CMAKE_CURRENT_BINARY_DIR}/ECMConfigVersion.cmake
0120 VERSION
0121 "${PROJECT_VERSION}"
0122 COMPATIBILITY
0123 AnyNewerVersion
0124 )
0125
0126 install(
0127 FILES
0128 ${CMAKE_CURRENT_BINARY_DIR}/ECMConfig.cmake
0129 ${CMAKE_CURRENT_BINARY_DIR}/ECMConfigVersion.cmake
0130 DESTINATION
0131 ${CMAKECONFIG_INSTALL_DIR}
0132 )
0133
0134
0135 #
0136 # Packaging
0137 #
0138
0139 set(CPACK_PACKAGE_NAME extra-cmake-modules)
0140 set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
0141 set(CPACK_SYSTEM_NAME "generic")
0142 set(CPACK_GENERATOR "TGZ")
0143 set(CPACK_SET_DESTDIR FALSE)
0144
0145 include(CPack)
0146
0147
0148 #
0149 # Feature summary
0150 #
0151
0152 feature_summary(
0153 FATAL_ON_MISSING_REQUIRED_PACKAGES
0154 WHAT ALL
0155 )