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 "6.0.0") # handled by release scripts 0004 project(prison VERSION ${KF_VERSION}) 0005 0006 # ECM setup 0007 include(FeatureSummary) 0008 find_package(ECM 5.249.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(ECMAddQch) 0022 include(ECMAddTests) 0023 include(CMakePackageConfigHelpers) 0024 include(ECMSetupVersion) 0025 include(ECMQtDeclareLoggingCategory) 0026 include(ECMQmlModule) 0027 include(ECMDeprecationSettings) 0028 0029 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") 0030 0031 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) 0032 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") 0033 0034 set(REQUIRED_QT_VERSION 6.5.0) 0035 0036 option(WITH_QUICK "Build QtQuick components" ON) 0037 option(WITH_MULTIMEDIA "Build scanner support" ON) 0038 0039 find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Gui) 0040 0041 if (WITH_QUICK) 0042 find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Quick) 0043 endif() 0044 0045 if (WITH_MULTIMEDIA) 0046 find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Multimedia) 0047 endif() 0048 0049 find_package(QRencode) 0050 set_package_properties(QRencode PROPERTIES 0051 PURPOSE "Required for generation of QRCode barcodes." 0052 TYPE REQUIRED) 0053 find_package(Dmtx) 0054 set_package_properties(Dmtx PROPERTIES 0055 PURPOSE "Required for generation of Data Matrix barcodes." 0056 TYPE RECOMMENDED) 0057 find_package(ZXing 2.0) 0058 if (NOT TARGET ZXing::ZXing) 0059 find_package(ZXing 1.2.0) 0060 endif() 0061 set_package_properties(ZXing PROPERTIES 0062 PURPOSE "Required for generation of PDF417 barcodes and for scanning of barcodes from live video feed." 0063 TYPE RECOMMENDED) 0064 0065 if (Qt5_POSITION_INDEPENDENT_CODE) 0066 set(CMAKE_POSITION_INDEPENDENT_CODE ON) 0067 endif() 0068 0069 ecm_setup_version(PROJECT VARIABLE_PREFIX PRISON 0070 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/prison_version.h" 0071 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6PrisonConfigVersion.cmake" 0072 SOVERSION 6 0073 ) 0074 ecm_set_disabled_deprecation_versions( 0075 QT 6.5 0076 ) 0077 0078 add_subdirectory(src) 0079 if(BUILD_TESTING) 0080 find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Test Widgets) 0081 add_subdirectory(autotests) 0082 add_subdirectory(tests) 0083 endif() 0084 0085 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Prison") 0086 0087 if (BUILD_QCH) 0088 ecm_install_qch_export( 0089 TARGETS KF6Prison_QCH 0090 FILE KF6PrisonQchTargets.cmake 0091 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0092 COMPONENT Devel 0093 ) 0094 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6PrisonQchTargets.cmake\")") 0095 endif() 0096 0097 configure_package_config_file( 0098 "${CMAKE_CURRENT_SOURCE_DIR}/KF6PrisonConfig.cmake.in" 0099 "${CMAKE_CURRENT_BINARY_DIR}/KF6PrisonConfig.cmake" 0100 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0101 ) 0102 0103 install(FILES 0104 "${CMAKE_CURRENT_BINARY_DIR}/KF6PrisonConfig.cmake" 0105 "${CMAKE_CURRENT_BINARY_DIR}/KF6PrisonConfigVersion.cmake" 0106 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0107 COMPONENT Devel 0108 ) 0109 0110 install(EXPORT KF6PrisonTargets 0111 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0112 FILE KF6PrisonTargets.cmake 0113 NAMESPACE KF6:: 0114 ) 0115 0116 install(FILES 0117 ${CMAKE_CURRENT_BINARY_DIR}/prison_version.h 0118 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/Prison 0119 COMPONENT Devel 0120 ) 0121 0122 include(ECMFeatureSummary) 0123 ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0124 0125 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)