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

0001 # SPDX-License-Identifier: GPL-2.0-or-later
0002 # SPDX-FileCopyrightText: 2011-2022 Thomas Fischer <fischer@unix-ag.uni-kl.de>
0003 # SPDX-FileContributor: 2014 Christophe Giboudeaux <cgiboudeaux@gmx.com>
0004 # SPDX-FileContributor: 2014 Pavel Zorin-Kranich <pzorin@math.uni-bonn.de>
0005 # SPDX-FileContributor: 2016 Christoph Feck <cfeck@kde.org>
0006 # SPDX-FileContributor: 2017 Pino Toscano <pino@kde.org>
0007 # SPDX-FileContributor: 2019 Jonathan Riddell <jr@jriddell.org>
0008 
0009 set(
0010     kbibtexnetworking_SRCS
0011     onlinesearch/onlinesearchabstract.cpp
0012     onlinesearch/onlinesearchbibsonomy.cpp
0013     onlinesearch/onlinesearcharxiv.cpp
0014     onlinesearch/onlinesearchsciencedirect.cpp
0015     onlinesearch/onlinesearchgooglescholar.cpp
0016     onlinesearch/onlinesearchieeexplore.cpp
0017     onlinesearch/onlinesearchpubmed.cpp
0018     onlinesearch/onlinesearchacmportal.cpp
0019     onlinesearch/onlinesearchspringerlink.cpp
0020     onlinesearch/onlinesearchmathscinet.cpp
0021     onlinesearch/onlinesearchmrlookup.cpp
0022     onlinesearch/onlinesearchinspirehep.cpp
0023     onlinesearch/onlinesearchcernds.cpp
0024     onlinesearch/onlinesearchingentaconnect.cpp
0025     onlinesearch/onlinesearchsimplebibtexdownload.cpp
0026     onlinesearch/onlinesearchgeneral.cpp
0027     onlinesearch/onlinesearchsoanasaads.cpp
0028     onlinesearch/onlinesearchideasrepec.cpp
0029     onlinesearch/onlinesearchdoi.cpp
0030     onlinesearch/onlinesearchbiorxiv.cpp
0031     onlinesearch/onlinesearchsemanticscholar.cpp
0032     onlinesearch/onlinesearchunpaywall.cpp
0033     onlinesearch/onlinesearchzbmath.cpp
0034     zotero/api.cpp
0035     zotero/collectionmodel.cpp
0036     zotero/collection.cpp
0037     zotero/items.cpp
0038     zotero/groups.cpp
0039     zotero/oauthwizard.cpp
0040     zotero/tags.cpp
0041     zotero/tagmodel.cpp
0042     associatedfiles.cpp
0043     findpdf.cpp
0044     faviconlocator.cpp
0045     internalnetworkaccessmanager.cpp
0046     urlchecker.cpp
0047 )
0048 
0049 if(Qt${QT_VERSION_MAJOR}WebEngineWidgets_FOUND)
0050     # See also below for a similar if-clause
0051     message(STATUS "Using QtWebEngine parse JStor pages")
0052     set(
0053         kbibtexnetworking_SRCS
0054         ${kbibtexnetworking_SRCS}
0055         onlinesearch/onlinesearchjstor.cpp
0056     )
0057 endif()
0058 
0059 ecm_qt_declare_logging_category(kbibtexnetworking_SRCS
0060     HEADER logging_networking.h
0061     IDENTIFIER LOG_KBIBTEX_NETWORKING
0062     CATEGORY_NAME kbibtex.networking
0063 )
0064 
0065 if(UNITY_BUILD)
0066     enable_unity_build(kbibtexnetworking kbibtexnetworking_SRCS)
0067 endif(UNITY_BUILD)
0068 
0069 add_library(kbibtexnetworking
0070     SHARED
0071     ${kbibtexnetworking_SRCS}
0072 )
0073 generate_export_header(kbibtexnetworking)
0074 add_library(KBibTeX::Networking ALIAS kbibtexnetworking)
0075 
0076 set_target_properties(kbibtexnetworking
0077     PROPERTIES
0078     EXPORT_NAME "kbibtexnetworking"
0079     VERSION ${KBIBTEX_RELEASE_VERSION}
0080     SOVERSION ${KBIBTEX_SOVERSION}
0081 )
0082 
0083 target_include_directories(kbibtexnetworking
0084     INTERFACE
0085         $<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KBibTeX/networking>
0086     PRIVATE
0087         ${CMAKE_CURRENT_BINARY_DIR}
0088 )
0089 
0090 target_link_libraries(kbibtexnetworking
0091     PUBLIC
0092         Qt${QT_VERSION_MAJOR}::Core
0093         Qt${QT_VERSION_MAJOR}::Network
0094         Qt${QT_VERSION_MAJOR}::Widgets
0095         KBibTeX::Data
0096     PRIVATE
0097         Poppler::Qt${QT_VERSION_MAJOR}
0098         Qt${QT_VERSION_MAJOR}::DBus
0099         Qt${QT_VERSION_MAJOR}::NetworkAuth
0100         KF${QT_VERSION_MAJOR}::ConfigCore
0101         KF${QT_VERSION_MAJOR}::WidgetsAddons
0102         KF${QT_VERSION_MAJOR}::I18n
0103         KF${QT_VERSION_MAJOR}::KIOCore
0104         KF${QT_VERSION_MAJOR}::KIOFileWidgets
0105         KBibTeX::Config
0106         KBibTeX::Global
0107         KBibTeX::IO
0108 )
0109 
0110 if(Qt${QT_VERSION_MAJOR}WebEngineWidgets_FOUND)
0111     # See also above for a similar if-clause
0112     target_link_libraries(kbibtexnetworking
0113         PRIVATE
0114             Qt${QT_VERSION_MAJOR}::WebEngineWidgets
0115     )
0116 endif()
0117 
0118 set(onlinesearchgeneratorstems "arxiv" "ieeexplore" "pubmed" "springerlink" "zbmath")
0119 set(onlinesearchdependencies)
0120 foreach(stem ${onlinesearchgeneratorstems})
0121     add_custom_command(
0122     OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/onlinesearch/onlinesearch${stem}-parser.generated.cpp
0123     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/onlinesearch/onlinesearch-parser-generator.py ${CMAKE_CURRENT_SOURCE_DIR}/onlinesearch/onlinesearch${stem}-parser.in.cpp
0124     COMMAND ${Python_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/onlinesearch/onlinesearch-parser-generator.py ${CMAKE_CURRENT_SOURCE_DIR}/onlinesearch/onlinesearch${stem}-parser.in.cpp > ${CMAKE_CURRENT_BINARY_DIR}/onlinesearch/onlinesearch${stem}-parser.generated.cpp
0125     VERBATIM
0126     )
0127     set_source_files_properties(
0128         ${CMAKE_CURRENT_BINARY_DIR}/onlinesearch/onlinesearch${stem}-parser.generated.cpp
0129         PROPERTIES
0130         GENERATED 1
0131         HEADER_FILE_ONLY 1
0132         SKIP_AUTOMOC ON
0133         SKIP_AUTOUIC ON
0134         SKIP_AUTOGEN ON
0135     )
0136     list(APPEND onlinesearchdependencies ${CMAKE_CURRENT_BINARY_DIR}/onlinesearch/onlinesearch${stem}-parser.generated.cpp)
0137 endforeach()
0138 add_custom_target(
0139     parserincludes
0140     DEPENDS
0141         ${onlinesearchdependencies}
0142 )
0143 add_dependencies(kbibtexnetworking
0144     parserincludes
0145 )
0146 
0147 install(
0148     TARGETS kbibtexnetworking
0149     EXPORT kbibtexnetworking-targets
0150     LIBRARY NAMELINK_SKIP
0151     ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
0152 )
0153 
0154 set_target_properties(kbibtexnetworking PROPERTIES
0155     EXPORT_NAME "Networking"
0156 )
0157 
0158 ecm_generate_headers(kbibtexnetworking_HEADERS
0159     HEADER_NAMES
0160         AssociatedFiles
0161         FindPDF
0162         FavIconLocator
0163         InternalNetworkAccessManager
0164         UrlChecker
0165         onlinesearch/OnlineSearchAbstract
0166         onlinesearch/OnlineSearchGeneral
0167         onlinesearch/OnlineSearchAcmPortal
0168         onlinesearch/OnlineSearchArXiv
0169         onlinesearch/OnlineSearchBibsonomy
0170         onlinesearch/OnlineSearchBioRxiv
0171         onlinesearch/OnlineSearchCERNDS
0172         onlinesearch/OnlineSearchDOI
0173         onlinesearch/OnlineSearchGoogleScholar
0174         onlinesearch/OnlineSearchIDEASRePEc
0175         onlinesearch/OnlineSearchIEEEXplore
0176         onlinesearch/OnlineSearchIngentaConnect
0177         onlinesearch/OnlineSearchInspireHep
0178         onlinesearch/OnlineSearchJStor
0179         onlinesearch/OnlineSearchMathSciNet
0180         onlinesearch/OnlineSearchMRLookup
0181         onlinesearch/OnlineSearchPubMed
0182         onlinesearch/OnlineSearchScienceDirect
0183         onlinesearch/OnlineSearchSemanticScholar
0184         onlinesearch/OnlineSearchSimpleBibTeXDownload
0185         onlinesearch/OnlineSearchSOANASAADS
0186         onlinesearch/OnlineSearchSpringerLink
0187         onlinesearch/OnlineSearchUnpaywall
0188         onlinesearch/OnlineSearchZbMath
0189         zotero/API
0190         zotero/Collection
0191         zotero/CollectionModel
0192         zotero/Groups
0193         zotero/Items
0194         zotero/OAuthWizard
0195         zotero/TagModel
0196         zotero/Tags
0197     REQUIRED_HEADERS kbibtexnetworking_HEADERS
0198 )
0199 
0200 install(FILES
0201     ${CMAKE_CURRENT_BINARY_DIR}/kbibtexnetworking_export.h
0202     ${kbibtexnetworking_HEADERS}
0203     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KBibTeX/networking
0204     COMPONENT Devel
0205 )
0206 
0207 include(CMakePackageConfigHelpers)
0208 write_basic_package_version_file(
0209     ${CMAKE_CURRENT_BINARY_DIR}/KBibTeXNetworking-configVersion.cmake
0210     VERSION ${PROJECT_VERSION}
0211     COMPATIBILITY ExactVersion
0212 )
0213 
0214 configure_package_config_file(${CMAKE_CURRENT_LIST_DIR}/cmake/KBibTeXNetworking-config.cmake.in
0215     ${CMAKE_CURRENT_BINARY_DIR}/KBibTeXNetworking-config.cmake
0216     INSTALL_DESTINATION ${KDE_INSTALL_LIBDIR}/cmake/KBibTeX
0217 )
0218 
0219 install(FILES
0220     ${CMAKE_CURRENT_BINARY_DIR}/KBibTeXNetworking-config.cmake
0221     ${CMAKE_CURRENT_BINARY_DIR}/KBibTeXNetworking-configVersion.cmake
0222     DESTINATION ${KDE_INSTALL_LIBDIR}/cmake/KBibTeX
0223 )