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)