Warning, /pim/kpkpass/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-FileCopyrightText: 2018-2020 Volker Krause <vkrause@kde.org>
0002 # SPDX-FileCopyrightText: 2018-2024 Laurent Montel <montel@kde.org>
0003 # SPDX-License-Identifier: BSD-3-Clause
0004 
0005 cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
0006 set(PIM_VERSION "6.0.40")
0007 project(KPkPass VERSION ${PIM_VERSION})
0008 
0009 set(KF_MIN_VERSION "5.248.0")
0010 set(QT_REQUIRED_VERSION "6.6.0")
0011 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
0012 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
0013 set(CMAKE_CXX_STANDARD 20)
0014 
0015 include(KDECompilerSettings NO_POLICY_SCOPE)
0016 include(ECMAddTests)
0017 include(ECMGenerateHeaders)
0018 include(ECMQtDeclareLoggingCategory)
0019 include(ECMDeprecationSettings)
0020 include(ECMFeatureSummary)
0021 include(ECMSetupVersion)
0022 include(FeatureSummary)
0023 include(KDEGitCommitHooks)
0024 include(KDEClangFormat)
0025 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c)
0026 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0027 include(KDEInstallDirs)
0028 include(KDECMakeSettings)
0029 include(ECMGenerateExportHeader)
0030 include(ECMAddQch)
0031 
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 
0037 ecm_setup_version(PROJECT VARIABLE_PREFIX KPKPASS
0038     VERSION_HEADER src/kpkpass_version.h
0039     PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6PkPassConfigVersion.cmake"
0040     SOVERSION 6
0041 )
0042 
0043 find_package(Qt6 ${QT_REQUIRED_VERSION} REQUIRED COMPONENTS Gui)
0044 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS Archive)
0045 if (NOT ANDROID)
0046     find_package(SharedMimeInfo 1.3 REQUIRED)
0047 endif()
0048 
0049 add_definitions(-DQT_NO_CONTEXTLESS_CONNECT)
0050 ecm_set_disabled_deprecation_versions(QT 6.6.0 KF 5.249.0)
0051 
0052 
0053 
0054 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF)
0055 
0056 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF)
0057 if (USE_UNITY_CMAKE_SUPPORT)
0058     set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON)
0059 endif()
0060 
0061 add_subdirectory(src)
0062 if (BUILD_TESTING)
0063     add_subdirectory(autotests)
0064 endif()
0065 
0066 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0067 ecm_feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
0068 
0069 
0070 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6PkPass")
0071 if (BUILD_QCH)
0072     ecm_install_qch_export(
0073         TARGETS KPim6PkPass_QCH
0074         FILE KPim6PkPassQchTargets.cmake
0075         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0076         COMPONENT Devel
0077     )
0078     set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6PkPassQchTargets.cmake\")")
0079 endif()
0080 
0081 configure_package_config_file(
0082     "${CMAKE_CURRENT_SOURCE_DIR}/KPimPkPassConfig.cmake.in"
0083     "${CMAKE_CURRENT_BINARY_DIR}/KPim6PkPassConfig.cmake"
0084     INSTALL_DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0085 )
0086 
0087 install(FILES
0088         "${CMAKE_CURRENT_BINARY_DIR}/KPim6PkPassConfig.cmake"
0089         "${CMAKE_CURRENT_BINARY_DIR}/KPim6PkPassConfigVersion.cmake"
0090         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0091         COMPONENT Devel)
0092 
0093 install(EXPORT KPim6PkPassTargets
0094         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0095         FILE KPim6PkPassTargets.cmake
0096         NAMESPACE KPim6::
0097 )
0098