Warning, /plasma/plasma-activities/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # vim:set softtabstop=3 shiftwidth=3 tabstop=3 expandtab: 0002 0003 cmake_minimum_required(VERSION 3.16) 0004 0005 # KDE Frameworks 0006 set(KF_VERSION "5.116.0") # handled by release scripts 0007 set(KF_DEP_VERSION "5.115.0") # handled by release scripts 0008 project (KActivities VERSION ${KF_VERSION}) 0009 0010 option (KACTIVITIES_LIBRARY_ONLY "If true, compiles only the KActivities library, without the QML imports." OFF) 0011 option (KACTIVITIES_ENABLE_EXCEPTIONS "If you have Boost 1.53, you need to build KActivities with exceptions enabled. This is UNTESTED and EXPERIMENTAL!" OFF) 0012 0013 set (REQUIRED_QT_VERSION 5.15.2) 0014 0015 # We don't build in-source 0016 if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") 0017 message ( 0018 FATAL_ERROR 0019 "kactivities require an out of source build. Please create a separate build directory and run 'cmake path_to_sources [options]' there." 0020 ) 0021 endif () 0022 0023 set (KACTIVITIES_CURRENT_ROOT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) 0024 0025 # Extra CMake stuff 0026 include(FeatureSummary) 0027 find_package(ECM 5.115.0 NO_MODULE) 0028 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") 0029 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) 0030 0031 set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) 0032 0033 include (KDEInstallDirs) 0034 include (KDECMakeSettings) 0035 include(KDEGitCommitHooks) 0036 include (KDEFrameworkCompilerSettings NO_POLICY_SCOPE) 0037 include (GenerateExportHeader) 0038 include (ECMGenerateHeaders) 0039 include (ECMGeneratePkgConfigFile) 0040 include (ECMQtDeclareLoggingCategory) 0041 include (ECMAddQch) 0042 include (ECMMarkNonGuiExecutable) 0043 include(ECMDeprecationSettings) 0044 include (ECMQmlModule) 0045 0046 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0047 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0048 0049 # Qt 0050 set (CMAKE_AUTOMOC ON) 0051 find_package (Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED COMPONENTS Core DBus) 0052 0053 # Basic includes 0054 include (CPack) 0055 0056 include (CMakePackageConfigHelpers) 0057 include (ECMSetupVersion) 0058 0059 message ("We are using the ${CMAKE_CXX_COMPILER_ID} compiler") 0060 if ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (KACTIVITIES_OVERRIDE_VISIBILITY STREQUAL "default")) 0061 message ("Setting visibility preset to default") 0062 set(CMAKE_CXX_VISIBILITY_PRESET default) 0063 set(CMAKE_VISIBILITY_INLINES_HIDDEN 0) 0064 string (REPLACE "-fvisibility-inlines-hidden" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") 0065 string (REPLACE "-fvisibility=hidden" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") 0066 endif () 0067 0068 # libKActivities 0069 0070 ecm_setup_version ( 0071 PROJECT 0072 VARIABLE_PREFIX KACTIVITIES 0073 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kactivities_version.h" 0074 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5ActivitiesConfigVersion.cmake" 0075 SOVERSION 5 0076 ) 0077 0078 ecm_set_disabled_deprecation_versions( 0079 QT 5.15.2 0080 KF 5.97.0 0081 ) 0082 0083 add_subdirectory (src) 0084 if (BUILD_TESTING) 0085 add_subdirectory (autotests) 0086 add_subdirectory (tests) 0087 endif() 0088 0089 set (CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Activities") 0090 0091 if (BUILD_QCH) 0092 ecm_install_qch_export( 0093 TARGETS KF5Activities_QCH 0094 FILE KF5ActivitiesLibraryQchTargets.cmake 0095 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0096 COMPONENT Devel 0097 ) 0098 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF5ActivitiesLibraryQchTargets.cmake\")") 0099 endif() 0100 0101 install ( 0102 EXPORT KF5ActivitiesLibraryTargets 0103 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0104 FILE KF5ActivitiesLibraryTargets.cmake 0105 NAMESPACE KF5:: 0106 ) 0107 0108 configure_package_config_file ( 0109 "${CMAKE_CURRENT_SOURCE_DIR}/KF5ActivitiesConfig.cmake.in" 0110 "${CMAKE_CURRENT_BINARY_DIR}/KF5ActivitiesConfig.cmake" 0111 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0112 ) 0113 0114 install ( 0115 FILES "${CMAKE_CURRENT_BINARY_DIR}/KF5ActivitiesConfig.cmake" 0116 "${CMAKE_CURRENT_BINARY_DIR}/KF5ActivitiesConfigVersion.cmake" 0117 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0118 COMPONENT Devel 0119 ) 0120 0121 install ( 0122 FILES ${CMAKE_CURRENT_BINARY_DIR}/kactivities_version.h 0123 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KActivities COMPONENT Devel 0124 ) 0125 0126 # Write out the features 0127 feature_summary (WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0128 0129 0130 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)