Warning, /office/kbibtex/src/io/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-License-Identifier: GPL-2.0-or-later
0002 # SPDX-FileCopyrightText: 2012-2022 Thomas Fischer <fischer@unix-ag.uni-kl.de>
0003 # SPDX-FileContributor: 2013-2017 Pino Toscano <pino@kde.org>
0004 # SPDX-FileContributor: 2019 Jonathan Riddell <jr@jriddell.org>
0005 
0006 set(
0007     kbibtexio_SRCS
0008     encoder.cpp
0009     encoderlatex.cpp
0010     encoderxml.cpp
0011     fileexporterbibtex2html.cpp
0012     fileexporterbibtex.cpp
0013     fileexporterbibutils.cpp
0014     fileexporterbibtexoutput.cpp
0015     fileexporter.cpp
0016     fileexporterpdf.cpp
0017     fileexporterps.cpp
0018     fileexporterris.cpp
0019     fileexporterrtf.cpp
0020     fileexportertoolchain.cpp
0021     fileexporterwordbibxml.cpp
0022     fileexporterxml.cpp
0023     fileimporterbibtex.cpp
0024     fileimporterbibutils.cpp
0025     fileimporter.cpp
0026     fileimporterris.cpp
0027     fileinfo.cpp
0028     bibutils.cpp
0029 )
0030 
0031 if(PKG_Poppler_Qt${QT_VERSION_MAJOR}_FOUND)
0032     set(
0033         kbibtexio_SRCS
0034         ${kbibtexio_SRCS}
0035         fileimporterpdf.cpp
0036     )
0037 endif()
0038 
0039 ecm_qt_declare_logging_category(kbibtexio_SRCS
0040     HEADER logging_io.h
0041     IDENTIFIER LOG_KBIBTEX_IO
0042     CATEGORY_NAME kbibtex.io
0043 )
0044 
0045 if(UNITY_BUILD)
0046     enable_unity_build(kbibtexio kbibtexio_SRCS)
0047 endif(UNITY_BUILD)
0048 
0049 add_library(kbibtexio
0050     SHARED
0051     ${kbibtexio_SRCS}
0052 )
0053 generate_export_header(kbibtexio)
0054 add_library(KBibTeX::IO ALIAS kbibtexio)
0055 
0056 set_target_properties(kbibtexio
0057     PROPERTIES
0058     EXPORT_NAME "kbibtexio"
0059     VERSION ${KBIBTEX_RELEASE_VERSION}
0060     SOVERSION ${KBIBTEX_SOVERSION}
0061 )
0062 
0063 target_include_directories(kbibtexio
0064     INTERFACE
0065         $<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KBibTeX/io>
0066 )
0067 
0068 target_link_libraries(kbibtexio
0069     PUBLIC
0070         Qt${QT_VERSION_MAJOR}::Core
0071         KBibTeX::Data
0072         KBibTeX::Global
0073     PRIVATE
0074         KBibTeX::Config
0075 )
0076 
0077 if(Qt6Core5Compat_FOUND)
0078     target_link_libraries(kbibtexio
0079         PRIVATE
0080             Qt6::Core5Compat
0081     )
0082 endif()
0083 
0084 if(Qt5XmlPatterns_FOUND)
0085     target_link_libraries(kbibtexio
0086         PRIVATE
0087             Qt5::XmlPatterns
0088     )
0089 endif()
0090 
0091 if(BUILD_KPART OR BUILD_TESTING)
0092     target_link_libraries(kbibtexio
0093         PRIVATE
0094             Qt${QT_VERSION_MAJOR}::Concurrent
0095     )
0096 endif()
0097 
0098 if(KF${QT_VERSION_MAJOR}I18n_FOUND)
0099     target_link_libraries(kbibtexio
0100         PRIVATE
0101             KF${QT_VERSION_MAJOR}::I18n
0102     )
0103 endif()
0104 
0105 if(Qt${QT_VERSION_MAJOR}Concurrent_FOUND)
0106     # Once CMake 3.12.x is minimum requirement, use 'add_compile_definitions'
0107     add_definitions(
0108         -DHAVE_QTCONCURRENT
0109     )
0110 endif()
0111 
0112 if(ICU_FOUND)
0113     target_link_libraries(kbibtexio
0114         PRIVATE
0115             ICU::uc
0116             ICU::i18n
0117     )
0118 endif()
0119 
0120 if(PKG_Poppler_Qt${QT_VERSION_MAJOR}_FOUND)
0121     target_link_libraries(kbibtexio
0122         PRIVATE
0123             Poppler::Qt${QT_VERSION_MAJOR}
0124     )
0125 endif()
0126 
0127 install(
0128     TARGETS kbibtexio
0129     EXPORT kbibtexio-targets
0130     LIBRARY NAMELINK_SKIP
0131     ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
0132 )
0133 
0134 set_target_properties(kbibtexio PROPERTIES
0135     EXPORT_NAME "IO"
0136 )
0137 
0138 ecm_generate_headers(kbibtexio_HEADERS
0139     HEADER_NAMES
0140         BibUtils
0141         Encoder
0142         EncoderLaTeX
0143         EncoderXML
0144         FileExporter
0145         FileExporterBibTeX
0146         FileExporterBibTeX2HTML
0147         FileExporterBibTeXOutput
0148         FileExporterBibUtils
0149         FileExporterPDF
0150         FileExporterPS
0151         FileExporterRIS
0152         FileExporterRTF
0153         FileExporterToolchain
0154         FileExporterXML
0155         FileImporter
0156         FileImporterBibTeX
0157         FileImporterBibUtils
0158         FileImporterRIS
0159         FileInfo
0160     REQUIRED_HEADERS kbibtexio_HEADERS
0161 )
0162 
0163 if(PKG_Poppler_Qt${QT_VERSION_MAJOR}_FOUND)
0164     ecm_generate_headers(kbibtexio_HEADERS
0165         HEADER_NAMES
0166             FileImporterPDF
0167         REQUIRED_HEADERS kbibtexio_HEADERS
0168     )
0169 endif()
0170 
0171 install(FILES
0172     ${CMAKE_CURRENT_BINARY_DIR}/kbibtexio_export.h
0173     ${kbibtexio_HEADERS}
0174     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KBibTeX/io
0175     COMPONENT Devel
0176 )
0177 
0178 include(CMakePackageConfigHelpers)
0179 write_basic_package_version_file(
0180     ${CMAKE_CURRENT_BINARY_DIR}/KBibTeXIO-configVersion.cmake
0181     VERSION ${PROJECT_VERSION}
0182     COMPATIBILITY ExactVersion
0183 )
0184 
0185 configure_package_config_file(${CMAKE_CURRENT_LIST_DIR}/cmake/KBibTeXIO-config.cmake.in
0186     ${CMAKE_CURRENT_BINARY_DIR}/KBibTeXIO-config.cmake
0187     INSTALL_DESTINATION ${KDE_INSTALL_LIBDIR}/cmake/KBibTeX
0188 )
0189 
0190 install(FILES
0191     ${CMAKE_CURRENT_BINARY_DIR}/KBibTeXIO-config.cmake
0192     ${CMAKE_CURRENT_BINARY_DIR}/KBibTeXIO-configVersion.cmake
0193     DESTINATION ${KDE_INSTALL_LIBDIR}/cmake/KBibTeX
0194 )