Warning, /frameworks/prison/src/lib/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 include(CMakePackageConfigHelpers) 0002 if(TARGET Dmtx::Dmtx) 0003 set(HAVE_DMTX 1) 0004 endif() 0005 if (TARGET ZXing::ZXing) 0006 set(HAVE_ZXING 1) 0007 endif() 0008 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-prison.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-prison.h) 0009 0010 add_library(KF5Prison) 0011 add_library(KF5::Prison ALIAS KF5Prison) 0012 0013 set_target_properties(KF5Prison PROPERTIES 0014 VERSION ${PRISON_VERSION} 0015 SOVERSION ${PRISON_SOVERSION} 0016 EXPORT_NAME Prison 0017 ) 0018 0019 target_sources(KF5Prison PRIVATE 0020 abstractbarcode.cpp 0021 abstractbarcode.h 0022 aztecbarcode.cpp 0023 aztecbarcode.h 0024 barcodeutil.cpp 0025 barcodeutil.h 0026 bitvector.cpp 0027 bitvector_p.h 0028 code128barcode.cpp 0029 code128barcode.h 0030 code39barcode.cpp 0031 code39barcode.h 0032 code93barcode.cpp 0033 code93barcode.h 0034 prison.cpp 0035 prison.h 0036 qrcodebarcode.cpp 0037 qrcodebarcode.h 0038 reedsolomon.cpp 0039 reedsolomon_p.h 0040 ) 0041 if(TARGET Dmtx::Dmtx) 0042 target_sources(KF5Prison PRIVATE datamatrixbarcode.cpp datamatrixbarcode.h) 0043 endif() 0044 if(TARGET ZXing::ZXing) 0045 target_sources(KF5Prison PRIVATE 0046 pdf417barcode.cpp 0047 pdf417barcode.h 0048 zxingutil.cpp 0049 ) 0050 endif() 0051 kde_source_files_enable_exceptions( 0052 pdf417barcode.cpp 0053 prison.cpp 0054 zxingutil.cpp 0055 ) 0056 0057 ecm_qt_declare_logging_category(KF5Prison 0058 HEADER prison_debug.h 0059 IDENTIFIER Prison::Log 0060 CATEGORY_NAME kf.prison 0061 OLD_CATEGORY_NAMES kf5.prison 0062 DESCRIPTION "Prison (lib)" 0063 EXPORT PRISON 0064 ) 0065 0066 ecm_generate_export_header(KF5Prison 0067 BASE_NAME Prison 0068 GROUP_BASE_NAME KF 0069 VERSION ${KF_VERSION} 0070 DEPRECATED_BASE_VERSION 0 0071 DEPRECATION_VERSIONS 5.69 5.72 0072 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT} 0073 ) 0074 0075 target_include_directories(KF5Prison INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/Prison>") 0076 0077 target_link_libraries(KF5Prison 0078 PUBLIC 0079 Qt${QT_MAJOR_VERSION}::Gui 0080 PRIVATE 0081 QRencode::QRencode 0082 ) 0083 if(TARGET Dmtx::Dmtx) 0084 target_link_libraries(KF5Prison PRIVATE Dmtx::Dmtx) 0085 endif() 0086 if(TARGET ZXing::ZXing) 0087 target_link_libraries(KF5Prison PRIVATE ZXing::ZXing) 0088 endif() 0089 0090 install(TARGETS KF5Prison EXPORT KF5PrisonTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0091 0092 ecm_generate_headers(Prison_CamelCase_HEADERS 0093 HEADER_NAMES 0094 AbstractBarcode 0095 Prison 0096 REQUIRED_HEADERS Prison_HEADERS 0097 OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/Prison 0098 ) 0099 0100 set(_all_headers 0101 ${Prison_HEADERS} 0102 ${Prison_CamelCase_HEADERS} 0103 ${CMAKE_CURRENT_BINARY_DIR}/prison_export.h 0104 ) 0105 0106 # So that the headers are found at build time 0107 target_include_directories(KF5Prison PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>") 0108 0109 # To keep backwards compatibility with KF5, all headers are copied to <includedir>/KF5/Prison/prison, 0110 # for KF6 everything goes into <includedir>/KF6/Prison/Prison only 0111 if (QT_MAJOR_VERSION STREQUAL "5") 0112 install( 0113 FILES ${_all_headers} 0114 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/Prison/prison 0115 COMPONENT Devel 0116 ) 0117 endif() 0118 0119 install( 0120 FILES ${_all_headers} 0121 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/Prison/Prison 0122 COMPONENT Devel 0123 ) 0124 0125 if(BUILD_QCH) 0126 ecm_add_qch( 0127 KF5Prison_QCH 0128 NAME Prison 0129 BASE_NAME KF5Prison 0130 VERSION ${KF_VERSION} 0131 ORG_DOMAIN org.kde 0132 SOURCES # using only public headers, to cover only public API 0133 ${Prison_HEADERS} 0134 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" 0135 LINK_QCHS 0136 Qt${QT_MAJOR_VERSION}Gui_QCH 0137 INCLUDE_DIRS 0138 ${CMAKE_CURRENT_BINARY_DIR} 0139 BLANK_MACROS 0140 PRISON_EXPORT 0141 PRISON_DEPRECATED 0142 PRISON_DEPRECATED_EXPORT 0143 "PRISON_DEPRECATED_VERSION(x, y, t)" 0144 "PRISON_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)" 0145 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0146 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0147 COMPONENT Devel 0148 ) 0149 endif() 0150 0151 # INCLUDE_INSTALL_DIR has to be without prison/ subdir 0152 # as the generated CamelCase headers have the prison/ path in the forward include 0153 ecm_generate_pri_file(BASE_NAME Prison LIB_NAME KF5Prison DEPS "gui" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/Prison) 0154 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) 0155