Warning, /frameworks/kcontacts/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 set(KF_VERSION "6.0.0") # handled by release scripts 0004 set(KF_DEP_VERSION "5.249.0") # handled by release scripts 0005 0006 project(KContacts VERSION ${KF_VERSION}) 0007 0008 # ECM setup 0009 include(FeatureSummary) 0010 find_package(ECM 5.249.0 NO_MODULE) 0011 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") 0012 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) 0013 0014 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0015 set(CMAKE_AUTORCC ON) 0016 0017 set(REQUIRED_QT_VERSION 6.5.0) 0018 0019 include(KDEInstallDirs) 0020 include(KDECMakeSettings) 0021 include(KDEGitCommitHooks) 0022 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) 0023 0024 include(ECMGenerateExportHeader) 0025 include(ECMGenerateHeaders) 0026 include(ECMGenerateExportHeader) 0027 include(ECMDeprecationSettings) 0028 0029 include(ECMSetupVersion) 0030 include(ECMQtDeclareLoggingCategory) 0031 include(ECMAddQch) 0032 0033 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") 0034 0035 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0036 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0037 0038 set(KCONTACTS_LIB_VERSION ${KF_VERSION}) 0039 0040 set(kcontacts_version_header "${CMAKE_CURRENT_BINARY_DIR}/src/kcontacts_version.h") 0041 ecm_setup_version(PROJECT VARIABLE_PREFIX KCONTACTS 0042 VERSION_HEADER "${kcontacts_version_header}" 0043 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6ContactsConfigVersion.cmake" 0044 SOVERSION 6 0045 ) 0046 0047 ########### Find packages ########### 0048 find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE COMPONENTS Gui) 0049 set_package_properties(Qt6Gui PROPERTIES 0050 TYPE REQUIRED 0051 PURPOSE "Basic library component" 0052 ) 0053 find_package(KF6 ${KF_DEP_VERSION} REQUIRED COMPONENTS CoreAddons I18n Config Codecs) 0054 0055 ########### Targets ########### 0056 0057 add_definitions(-DTRANSLATION_DOMAIN=\"kcontacts6\") 0058 ki18n_install(po) 0059 0060 ecm_set_disabled_deprecation_versions( 0061 QT 6.5 0062 KF 5.240 0063 ) 0064 0065 add_subdirectory(src) 0066 0067 if(BUILD_TESTING) 0068 find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE COMPONENTS Quick) 0069 set_package_properties(Qt6Quick PROPERTIES 0070 TYPE OPTIONAL 0071 PURPOSE "QML integration test" 0072 ) 0073 add_subdirectory(autotests) 0074 add_subdirectory(tests) 0075 endif() 0076 0077 ########### CMake Config Files ########### 0078 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Contacts") 0079 0080 if (BUILD_QCH) 0081 ecm_install_qch_export( 0082 TARGETS KF6Contacts_QCH 0083 FILE KF6ContactsQchTargets.cmake 0084 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0085 COMPONENT Devel 0086 ) 0087 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6ContactsQchTargets.cmake\")") 0088 endif() 0089 0090 configure_package_config_file( 0091 "${CMAKE_CURRENT_SOURCE_DIR}/KF6ContactsConfig.cmake.in" 0092 "${CMAKE_CURRENT_BINARY_DIR}/KF6ContactsConfig.cmake" 0093 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0094 ) 0095 0096 install(FILES 0097 "${CMAKE_CURRENT_BINARY_DIR}/KF6ContactsConfig.cmake" 0098 "${CMAKE_CURRENT_BINARY_DIR}/KF6ContactsConfigVersion.cmake" 0099 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0100 COMPONENT Devel 0101 ) 0102 0103 install(EXPORT KF6ContactsTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF6ContactsTargets.cmake NAMESPACE KF6::) 0104 0105 install(FILES 0106 ${kcontacts_version_header} 0107 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KContacts COMPONENT Devel 0108 ) 0109 0110 include(ECMFeatureSummary) 0111 ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0112 0113 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)