Warning, /frameworks/prison/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 set(KF_VERSION "5.116.0") # handled by release scripts 0004 project(prison 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 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" "${ECM_MODULE_PATH}") 0012 0013 include(KDEInstallDirs) 0014 include(KDECMakeSettings) 0015 include(KDEGitCommitHooks) 0016 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) 0017 0018 include(GenerateExportHeader) 0019 include(ECMGenerateHeaders) 0020 include(ECMGenerateExportHeader) 0021 include(ECMGeneratePriFile) 0022 include(ECMAddQch) 0023 include(ECMAddTests) 0024 include(CMakePackageConfigHelpers) 0025 include(ECMSetupVersion) 0026 include(ECMQtDeclareLoggingCategory) 0027 include(ECMQmlModule) 0028 include(ECMDeprecationSettings) 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(REQUIRED_QT_VERSION 5.15.2) 0036 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Gui) 0037 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG OPTIONAL_COMPONENTS Quick Multimedia) 0038 find_package(QRencode) 0039 set_package_properties(QRencode PROPERTIES 0040 PURPOSE "Required for generation of QRCode barcodes." 0041 TYPE REQUIRED) 0042 find_package(Dmtx) 0043 set_package_properties(Dmtx PROPERTIES 0044 PURPOSE "Required for generation of Data Matrix barcodes." 0045 TYPE RECOMMENDED) 0046 find_package(ZXing 2.0) 0047 if (NOT TARGET ZXing::ZXing) 0048 find_package(ZXing 1.2.0) 0049 endif() 0050 set_package_properties(ZXing PROPERTIES 0051 PURPOSE "Required for generation of PDF417 barcodes and for scanning of barcodes from live video feed." 0052 TYPE RECOMMENDED) 0053 0054 if (Qt5_POSITION_INDEPENDENT_CODE) 0055 set(CMAKE_POSITION_INDEPENDENT_CODE ON) 0056 endif() 0057 0058 ecm_setup_version(PROJECT VARIABLE_PREFIX PRISON 0059 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/prison_version.h" 0060 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5PrisonConfigVersion.cmake" 0061 SOVERSION 5 0062 ) 0063 ecm_set_disabled_deprecation_versions( 0064 QT 5.15.2 0065 ) 0066 0067 add_subdirectory(src) 0068 if(BUILD_TESTING) 0069 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Test Widgets) 0070 add_subdirectory(autotests) 0071 add_subdirectory(tests) 0072 endif() 0073 0074 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Prison") 0075 0076 if (BUILD_QCH) 0077 ecm_install_qch_export( 0078 TARGETS KF5Prison_QCH 0079 FILE KF5PrisonQchTargets.cmake 0080 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0081 COMPONENT Devel 0082 ) 0083 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF5PrisonQchTargets.cmake\")") 0084 endif() 0085 0086 configure_package_config_file( 0087 "${CMAKE_CURRENT_SOURCE_DIR}/KF5PrisonConfig.cmake.in" 0088 "${CMAKE_CURRENT_BINARY_DIR}/KF5PrisonConfig.cmake" 0089 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0090 ) 0091 0092 install(FILES 0093 "${CMAKE_CURRENT_BINARY_DIR}/KF5PrisonConfig.cmake" 0094 "${CMAKE_CURRENT_BINARY_DIR}/KF5PrisonConfigVersion.cmake" 0095 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0096 COMPONENT Devel 0097 ) 0098 0099 install(EXPORT KF5PrisonTargets 0100 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0101 FILE KF5PrisonTargets.cmake 0102 NAMESPACE KF5:: 0103 ) 0104 0105 install(FILES 0106 ${CMAKE_CURRENT_BINARY_DIR}/prison_version.h 0107 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/Prison 0108 COMPONENT Devel 0109 ) 0110 0111 # TODO KF6: remove this, kept for backwards-compatibility in KF5 so that #inlcude <prison/prison_version.h> 0112 # continues working 0113 install(FILES 0114 ${CMAKE_CURRENT_BINARY_DIR}/prison_version.h 0115 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/Prison/prison 0116 COMPONENT Devel 0117 ) 0118 0119 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0120 0121 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)