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 "5.116.0") # handled by release scripts 0003 0004 project(KCalendarCore VERSION ${KF_VERSION}) 0005 0006 # ECM setup 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 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) 0013 0014 set(REQUIRED_QT_VERSION 5.15.2) 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(ECMGeneratePriFile) 0024 include(ECMGeneratePkgConfigFile) 0025 include(ECMDeprecationSettings) 0026 0027 include(ECMSetupVersion) 0028 include(ECMQtDeclareLoggingCategory) 0029 include(ECMAddQch) 0030 0031 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") 0032 0033 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0034 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0035 0036 # TODO: remove for KF6 0037 option(KCALENDARCORE_NO_DEPRECATED_NAMESPACE "Disable deprecated KCalCore namespace" OFF) 0038 0039 set(KCALENDARCORE_LIB_VERSION ${KF_VERSION}) 0040 ecm_setup_version(PROJECT VARIABLE_PREFIX KCALENDARCORE 0041 VERSION_HEADER "${KCalendarCore_BINARY_DIR}/kcalendarcore_version.h" 0042 PACKAGE_VERSION_FILE "${KCalendarCore_BINARY_DIR}/KF5CalendarCoreConfigVersion.cmake" 0043 SOVERSION 5 0044 ) 0045 0046 ########### Find packages ########### 0047 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Gui) 0048 0049 set(LibIcal_MIN_VERSION "3.0") 0050 # TODO remove our FindLibIcal.cmake in favor of upstream LibIcalConfig.cmake once the following issues are resolved: 0051 # https://github.com/libical/libical/pull/510 0052 # https://bugs.launchpad.net/ubuntu/+source/libical3/+bug/1946963 0053 # https://bugs.launchpad.net/ubuntu/+source/libical/+bug/1920587 0054 find_package(LibIcal ${LibIcal_MIN_VERSION}) 0055 set_package_properties(LibIcal PROPERTIES TYPE REQUIRED) 0056 0057 ########### CMake Config Files ########### 0058 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5CalendarCore") 0059 0060 if (BUILD_QCH) 0061 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF5CalendarCoreQchTargets.cmake\")") 0062 endif() 0063 0064 configure_package_config_file( 0065 "${CMAKE_CURRENT_SOURCE_DIR}/KF5CalendarCoreConfig.cmake.in" 0066 "${CMAKE_CURRENT_BINARY_DIR}/KF5CalendarCoreConfig.cmake" 0067 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0068 ) 0069 0070 ecm_set_disabled_deprecation_versions( 0071 QT 5.15.2 0072 ) 0073 0074 ########### Targets ########### 0075 add_subdirectory(src) 0076 0077 if(BUILD_TESTING) 0078 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Test) 0079 add_subdirectory(autotests) 0080 endif() 0081 0082 ########### Install Files ########### 0083 install(FILES 0084 "${CMAKE_CURRENT_BINARY_DIR}/KF5CalendarCoreConfig.cmake" 0085 "${CMAKE_CURRENT_BINARY_DIR}/KF5CalendarCoreConfigVersion.cmake" 0086 cmake/FindLibIcal.cmake 0087 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0088 COMPONENT Devel 0089 ) 0090 0091 install(EXPORT KF5CalendarCoreTargets 0092 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0093 FILE KF5CalendarCoreTargets.cmake 0094 NAMESPACE KF5:: 0095 ) 0096 0097 if (BUILD_QCH) 0098 ecm_install_qch_export( 0099 TARGETS KF5CalendarCore_QCH 0100 FILE KF5CalendarCoreQchTargets.cmake 0101 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0102 COMPONENT Devel 0103 ) 0104 endif() 0105 0106 install(FILES 0107 ${CMAKE_CURRENT_BINARY_DIR}/kcalendarcore_version.h 0108 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KCalendarCore COMPONENT Devel 0109 ) 0110 if (NOT KCALENDARCORE_NO_DEPRECATED_NAMESPACE) 0111 ecm_setup_version(PROJECT VARIABLE_PREFIX KCALCORE 0112 VERSION_HEADER "${KCalendarCore_BINARY_DIR}/kcalcore_version.h" 0113 ) 0114 install(FILES 0115 ${CMAKE_CURRENT_BINARY_DIR}/kcalcore_version.h 0116 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF} COMPONENT Devel 0117 ) 0118 endif() 0119 0120 if (NOT WIN32) 0121 ecm_generate_pkgconfig_file(BASE_NAME KF5CalendarCore 0122 INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/KCalendarCore/ 0123 DEPS "Qt${QT_MAJOR_VERSION}Core Qt${QT_MAJOR_VERSION}Gui" 0124 INSTALL) 0125 endif() 0126 0127 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0128 0129 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)