Warning, /frameworks/kcalendarcore/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 set(KF_VERSION "6.0.0") # handled by release scripts 0003 0004 project(KCalendarCore VERSION ${KF_VERSION}) 0005 0006 # ECM setup 0007 include(FeatureSummary) 0008 find_package(ECM 5.249.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} ${CMAKE_SOURCE_DIR}/cmake) 0013 0014 set(REQUIRED_QT_VERSION 6.5.0) 0015 0016 include(KDEInstallDirs) 0017 include(KDECMakeSettings) 0018 include(KDEGitCommitHooks) 0019 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) 0020 0021 include(ECMGenerateExportHeader) 0022 include(ECMGenerateHeaders) 0023 include(ECMGeneratePkgConfigFile) 0024 include(ECMDeprecationSettings) 0025 0026 include(ECMSetupVersion) 0027 include(ECMQtDeclareLoggingCategory) 0028 include(ECMAddQch) 0029 0030 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") 0031 0032 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0033 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0034 0035 set(KCALENDARCORE_LIB_VERSION ${KF_VERSION}) 0036 set(kcalendarcore_version_header "${KCalendarCore_BINARY_DIR}/src/kcalendarcore_version.h") 0037 ecm_setup_version(PROJECT VARIABLE_PREFIX KCALENDARCORE 0038 VERSION_HEADER "${kcalendarcore_version_header}" 0039 PACKAGE_VERSION_FILE "${KCalendarCore_BINARY_DIR}/KF6CalendarCoreConfigVersion.cmake" 0040 SOVERSION 6 0041 ) 0042 0043 ########### Find packages ########### 0044 find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Gui) 0045 0046 set(LibIcal_MIN_VERSION "3.0") 0047 # TODO remove our FindLibIcal.cmake in favor of upstream LibIcalConfig.cmake once the following issues are resolved: 0048 # https://github.com/libical/libical/pull/510 0049 # https://bugs.launchpad.net/ubuntu/+source/libical3/+bug/1946963 0050 # https://bugs.launchpad.net/ubuntu/+source/libical/+bug/1920587 0051 find_package(LibIcal ${LibIcal_MIN_VERSION}) 0052 set_package_properties(LibIcal PROPERTIES TYPE REQUIRED) 0053 0054 ########### CMake Config Files ########### 0055 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6CalendarCore") 0056 0057 if (BUILD_QCH) 0058 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6CalendarCoreQchTargets.cmake\")") 0059 endif() 0060 0061 configure_package_config_file( 0062 "${CMAKE_CURRENT_SOURCE_DIR}/KF6CalendarCoreConfig.cmake.in" 0063 "${CMAKE_CURRENT_BINARY_DIR}/KF6CalendarCoreConfig.cmake" 0064 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0065 ) 0066 0067 ecm_set_disabled_deprecation_versions( 0068 QT 6.5 0069 ) 0070 0071 ########### Targets ########### 0072 add_subdirectory(src) 0073 0074 if(BUILD_TESTING) 0075 find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Test) 0076 add_subdirectory(autotests) 0077 endif() 0078 0079 ########### Install Files ########### 0080 install(FILES 0081 "${CMAKE_CURRENT_BINARY_DIR}/KF6CalendarCoreConfig.cmake" 0082 "${CMAKE_CURRENT_BINARY_DIR}/KF6CalendarCoreConfigVersion.cmake" 0083 cmake/FindLibIcal.cmake 0084 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0085 COMPONENT Devel 0086 ) 0087 0088 install(EXPORT KF6CalendarCoreTargets 0089 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0090 FILE KF6CalendarCoreTargets.cmake 0091 NAMESPACE KF6:: 0092 ) 0093 0094 if (BUILD_QCH) 0095 ecm_install_qch_export( 0096 TARGETS KF6CalendarCore_QCH 0097 FILE KF6CalendarCoreQchTargets.cmake 0098 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0099 COMPONENT Devel 0100 ) 0101 endif() 0102 0103 install(FILES 0104 ${kcalendarcore_version_header} 0105 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KCalendarCore COMPONENT Devel 0106 ) 0107 0108 if (NOT WIN32) 0109 ecm_generate_pkgconfig_file(BASE_NAME KF6CalendarCore 0110 INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/KCalendarCore/ 0111 DEPS "Qt6Core Qt6Gui" 0112 INSTALL) 0113 endif() 0114 0115 include(ECMFeatureSummary) 0116 ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0117 0118 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)