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