Warning, /frameworks/kauth/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.111.0") # handled by release scripts 0004 set(KF_DEP_VERSION "5.110.0") # handled by release scripts 0005 project(KAuth VERSION ${KF_VERSION}) 0006 0007 include(FeatureSummary) 0008 find_package(ECM 5.110.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 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0013 0014 include(ECMGenerateExportHeader) 0015 include(ECMSetupVersion) 0016 include(ECMGenerateHeaders) 0017 include(ECMQtDeclareLoggingCategory) 0018 0019 include(KDEInstallDirs) 0020 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) 0021 include(KDECMakeSettings) 0022 include(KDEGitCommitHooks) 0023 0024 include(ECMDeprecationSettings) 0025 include(ECMPoQmTools) 0026 include(ECMAddQch) 0027 0028 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) 0029 0030 set(REQUIRED_QT_VERSION 5.15.2) 0031 find_package(Qt${QT_MAJOR_VERSION}DBus ${REQUIRED_QT_VERSION} CONFIG REQUIRED) 0032 0033 option(KAUTH_BUILD_CODEGENERATOR_ONLY "Only build the kauth-policy-gen code generator." OFF) 0034 if(NOT KAUTH_BUILD_CODEGENERATOR_ONLY) 0035 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets) 0036 endif() 0037 0038 0039 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") 0040 0041 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0042 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0043 0044 ecm_setup_version(PROJECT VARIABLE_PREFIX KAUTH 0045 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kauth_version.h" 0046 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5AuthConfigVersion.cmake" 0047 SOVERSION 5) 0048 0049 find_package(KF5CoreAddons ${KF_DEP_VERSION} REQUIRED) 0050 0051 set(KAUTH_HELPER_INSTALL_DIR "${KDE_INSTALL_LIBEXECDIR}/kauth") 0052 0053 if(IS_ABSOLUTE ${KAUTH_HELPER_INSTALL_DIR}) 0054 set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR ${KAUTH_HELPER_INSTALL_DIR}) 0055 else() 0056 set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "${CMAKE_INSTALL_PREFIX}/${KAUTH_HELPER_INSTALL_DIR}") 0057 endif() 0058 0059 ecm_set_disabled_deprecation_versions( 0060 QT 5.15.2 0061 KF 5.95 0062 ) 0063 0064 ecm_install_po_files_as_qm(poqm) 0065 0066 add_subdirectory(src) 0067 0068 if(NOT KAUTH_BUILD_CODEGENERATOR_ONLY) 0069 if (BUILD_TESTING) 0070 add_subdirectory(autotests) 0071 endif() 0072 add_subdirectory(examples) 0073 endif() 0074 0075 # create a Config.cmake and a ConfigVersion.cmake file and install them 0076 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Auth") 0077 0078 if (BUILD_QCH) 0079 ecm_install_qch_export( 0080 TARGETS KF5Auth_QCH 0081 FILE KF5AuthQchTargets.cmake 0082 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0083 COMPONENT Devel 0084 ) 0085 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF5AuthQchTargets.cmake\")") 0086 endif() 0087 0088 include(CMakePackageConfigHelpers) 0089 0090 configure_package_config_file( 0091 "${CMAKE_CURRENT_SOURCE_DIR}/KF5AuthConfig.cmake.in" 0092 "${CMAKE_CURRENT_BINARY_DIR}/KF5AuthConfig.cmake" 0093 PATH_VARS KDE_INSTALL_DATADIR_KF 0094 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0095 ) 0096 0097 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KF5AuthConfig.cmake" 0098 "${CMAKE_CURRENT_BINARY_DIR}/KF5AuthConfigVersion.cmake" 0099 "${CMAKE_CURRENT_SOURCE_DIR}/cmake/KF5AuthMacros.cmake" 0100 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0101 COMPONENT Devel ) 0102 0103 0104 if(NOT KAUTH_BUILD_CODEGENERATOR_ONLY) 0105 install(EXPORT KF5AuthTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0106 FILE KF5AuthTargets.cmake NAMESPACE KF5:: COMPONENT Devel) 0107 endif() 0108 0109 if(NOT "${KAUTH_BACKEND_NAME}" STREQUAL "FAKE") 0110 install(EXPORT KF5AuthToolsTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0111 FILE KF5AuthToolsTargets.cmake NAMESPACE KF5:: COMPONENT Devel) 0112 endif() 0113 0114 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kauth_version.h 0115 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KAuth COMPONENT Devel) 0116 0117 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0118 0119 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)