Warning, /pim/kitinerary/src/lib/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-FileCopyrightText: 2018-2021 Volker Krause <vkrause@kde.org>
0002 # SPDX-License-Identifier: BSD-3-Clause
0003 
0004 if (BUILD_TOOLS)
0005     add_subdirectory(rsp)
0006     add_subdirectory(vdv/certs)
0007 endif()
0008 configure_file(config-kitinerary.h.in ${CMAKE_CURRENT_BINARY_DIR}/config-kitinerary.h)
0009 
0010 add_library(KPim6Itinerary ${kitinerary_lib_srcs})
0011 add_library(KPim6::Itinerary ALIAS KPim6Itinerary)
0012 
0013 target_sources(KPim6Itinerary PRIVATE
0014     asn1/berelement.cpp asn1/berelement.h
0015     asn1/bitvectorview.cpp asn1/bitvectorview.h
0016     asn1/uperdecoder.cpp asn1/uperdecoder.h
0017     asn1/uperelement.cpp asn1/uperelement.h
0018 
0019     datatypes/action.cpp datatypes/action.h
0020     datatypes/boattrip.cpp datatypes/boattrip.h
0021     datatypes/brand.cpp datatypes/brand.h
0022     datatypes/bustrip.cpp datatypes/bustrip.h
0023     datatypes/creativework.cpp datatypes/creativework.h
0024     datatypes/event.cpp datatypes/event.h
0025     datatypes/flight.cpp datatypes/flight.h
0026     datatypes/organization.cpp datatypes/organization.h
0027     datatypes/person.cpp datatypes/person.h
0028     datatypes/place.cpp datatypes/place.h
0029     datatypes/programmembership.cpp datatypes/programmembership.h
0030     datatypes/reservation.cpp datatypes/reservation.h
0031     datatypes/taxi.cpp datatypes/taxi.h
0032     datatypes/ticket.cpp datatypes/ticket.h
0033     datatypes/token.cpp datatypes/token.h
0034     datatypes/traintrip.cpp datatypes/traintrip.h
0035     datatypes/rentalcar.cpp datatypes/rentalcar.h
0036     datatypes/visit.cpp datatypes/visit.h
0037 
0038     engine/abstractextractor.cpp engine/abstractextractor.h
0039     engine/extractordocumentnode.cpp engine/extractordocumentnode.h
0040     engine/extractordocumentnodefactory.cpp engine/extractordocumentnodefactory.h
0041     engine/extractordocumentprocessor.cpp engine/extractordocumentprocessor.h
0042     engine/extractorengine.cpp engine/extractorengine.h
0043     engine/extractorfilter.cpp engine/extractorfilter.h
0044     engine/extractorrepository.cpp engine/extractorrepository.h
0045     engine/extractorresult.cpp engine/extractorresult.h
0046     engine/extractorscriptengine.cpp engine/extractorscriptengine_p.h
0047     engine/scriptextractor.cpp engine/scriptextractor.h
0048 
0049     era/elbticket.cpp era/elbticket.h
0050     era/fcbticket.cpp era/fcbticket.h
0051     era/fcbutil.cpp era/fcbutil.h
0052     era/ssbticketbase.cpp era/ssbticketbase.h
0053     era/ssbticketreader.cpp era/ssbticketreader.h
0054     era/ssbv1ticket.cpp era/ssbv1ticket.h
0055     era/ssbv2ticket.cpp era/ssbv2ticket.h
0056     era/ssbv3ticket.cpp era/ssbv3ticket.h
0057 
0058     extractors/activitypubextractor.cpp extractors/activitypubextractor.h
0059     extractors/genericboardingpassextractor.cpp extractors/genericboardingpassextractor.h
0060 
0061     http/httpresponse.cpp http/httpresponse.h
0062 
0063     iata/iatabcbp.cpp iata/iatabcbp.h
0064     iata/iatabcbpparser.cpp iata/iatabcbpparser.h
0065     iata/iatabcbpsections.cpp iata/iatabcbpsections.h
0066 
0067     jsapi/barcode.cpp jsapi/barcode.h
0068     jsapi/bitarray.cpp jsapi/bitarray.h
0069     jsapi/bytearray.cpp jsapi/bytearray.h
0070     jsapi/extractorengine.cpp jsapi/extractorengine.h
0071     jsapi/jsonld.cpp jsapi/jsonld.h
0072 
0073     json/jsonld.cpp json/jsonld.h
0074     json/jsonldfilterengine.cpp json/jsonldfilterengine.h
0075     json/jsonldimportfilter.cpp json/jsonldimportfilter.h
0076 
0077     knowledgedb/alphaid.cpp knowledgedb/alphaid.h
0078     knowledgedb/airportdb.cpp knowledgedb/airportdb.h
0079     knowledgedb/airportnametokenizer.cpp knowledgedb/airportnametokenizer_p.h
0080     knowledgedb/countrydb.cpp knowledgedb/countrydb.h
0081     knowledgedb/iatacode.cpp knowledgedb/iatacode.h
0082     knowledgedb/knowledgedb.cpp knowledgedb/knowledgedb.h
0083     knowledgedb/stationidentifier.cpp knowledgedb/stationidentifier.h
0084     knowledgedb/timezonedb.cpp knowledgedb/timezonedb_p.h
0085     knowledgedb/trainstationdb.cpp knowledgedb/trainstationdb.h
0086 
0087     pdf/pdfbarcodeutil.cpp pdf/pdfbarcodeutil_p.h
0088     pdf/pdfdocument.cpp pdf/pdfdocument.h
0089     pdf/pdfextractoroutputdevice.cpp pdf/pdfextractoroutputdevice_p.h
0090     pdf/pdfimage.cpp pdf/pdfimage.h
0091     pdf/pdflink.cpp  pdf/pdflink.h
0092     pdf/pdfvectorpicture.cpp pdf/pdfvectorpicture_p.h
0093     pdf/popplerglobalparams.cpp pdf/popplerglobalparams_p.h
0094     pdf/popplerutils.cpp pdf/popplerutils_p.h
0095 
0096     plist/plistreader.cpp plist/plistreader_p.h
0097 
0098     processors/barcodedocumentprocessorhelper.cpp processors/barcodedocumentprocessorhelper.h
0099     processors/binarydocumentprocessor.cpp processors/binarydocumentprocessor.h
0100     processors/eradocumentprocessor.cpp processors/eradocumentprocessor.h
0101     processors/externalprocessor.cpp processors/externalprocessor.h
0102     processors/genericpriceextractorhelper.cpp processors/genericpriceextractorhelper_p.h
0103     processors/htmldocumentprocessor.cpp processors/htmldocumentprocessor.h
0104     processors/httpresponseprocessor.cpp processors/httpresponseprocessor.h
0105     processors/iatabcbpdocumentprocessor.cpp processors/iatabcbpdocumentprocessor.h
0106     processors/icaldocumentprocessor.cpp processors/icaldocumentprocessor.h
0107     processors/imagedocumentprocessor.cpp processors/imagedocumentprocessor.h
0108     processors/jsonlddocumentprocessor.cpp processors/jsonlddocumentprocessor.h
0109     processors/mimedocumentprocessor.cpp processors/mimedocumentprocessor.h
0110     processors/pdfdocumentprocessor.cpp processors/pdfdocumentprocessor.h
0111     processors/pkpassdocumentprocessor.cpp processors/pkpassdocumentprocessor.h
0112     processors/plistdocumentprocessor.cpp processors/plistdocumentprocessor.h
0113     processors/textdocumentprocessor.cpp processors/textdocumentprocessor.h
0114     processors/uic9183documentprocessor.cpp processors/uic9183documentprocessor.h
0115     processors/vdvdocumentprocessor.cpp processors/vdvdocumentprocessor.h
0116 
0117     protobuf/protobufstreamreader.cpp protobuf/protobufstreamreader.h
0118 
0119     rsp/rsp6decoder.cpp rsp/rsp6decoder.h
0120     rsp/keys/rsp6-keys.qrc
0121 
0122     scripts/extractors.qrc
0123 
0124     text/addressparser.cpp text/addressparser_p.h
0125     text/nameoptimizer.cpp text/nameoptimizer_p.h
0126     text/pricefinder.cpp text/pricefinder_p.h
0127     text/terminalfinder.cpp text/terminalfinder_p.h
0128     text/timefinder.cpp text/timefinder_p.h
0129 
0130     uic9183/rct2ticket.cpp uic9183/rct2ticket.h
0131     uic9183/uic9183block.cpp uic9183/uic9183block.h
0132     uic9183/uic9183head.cpp uic9183/uic9183head.h
0133     uic9183/uic9183header.cpp uic9183/uic9183header.h
0134     uic9183/uic9183parser.cpp uic9183/uic9183parser.h
0135     uic9183/uic9183ticketlayout.cpp uic9183/uic9183ticketlayout.h
0136     uic9183/uic9183utils.cpp uic9183/uic9183utils.h
0137     uic9183/vendor0080block.cpp uic9183/vendor0080block.h
0138     uic9183/vendor0080vublockdata.cpp uic9183/vendor0080vublockdata.h
0139     uic9183/vendor1154block.cpp uic9183/vendor1154block.h
0140 
0141     vdv/iso9796_2decoder.cpp vdv/iso9796_2decoder_p.h
0142     vdv/vdvcertificate.cpp vdv/vdvcertificate_p.h
0143     vdv/vdvticket.cpp vdv/vdvticket.h
0144     vdv/vdvticketcontent.cpp vdv/vdvticketcontent.h
0145     vdv/vdvticketparser.cpp vdv/vdvticketparser.h
0146     vdv/certs/vdv-certs.qrc
0147 
0148     barcodedecoder.cpp barcodedecoder.h
0149     calendarhandler.cpp calendarhandler.h
0150     documentutil.cpp documentutil.h
0151     extractorcapabilities.cpp extractorcapabilities.h
0152     extractorpostprocessor.cpp extractorpostprocessor.h
0153     extractorutil.cpp extractorutil.h
0154     extractorvalidator.cpp extractorvalidator.h
0155     file.cpp file.h
0156     flightpostprocessor.cpp flightpostprocessor_p.h
0157     flightutil.cpp flightutil_p.h
0158     htmldocument.cpp htmldocument.h
0159     jsonlddocument.cpp jsonlddocument.h
0160     locationutil.cpp locationutil.h
0161     mergeutil.cpp mergeutil.h
0162     priceutil.cpp priceutil.h
0163     sortutil.cpp sortutil.h
0164     stringutil.cpp stringutil.h
0165     tickettokencomparator.cpp tickettokencomparator_p.h
0166 )
0167 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0168     set_target_properties(KPim6Itinerary PROPERTIES UNITY_BUILD ON)
0169 endif()
0170 
0171 kde_source_files_enable_exceptions(barcodedecoder.cpp qimagepurebinarizer.cpp)
0172 ecm_qt_declare_logging_category(KPim6Itinerary
0173     HEADER logging.h
0174     IDENTIFIER KItinerary::Log
0175     CATEGORY_NAME org.kde.kitinerary
0176     DESCRIPTION "KItinerary"
0177     EXPORT KITINERARY
0178 )
0179 ecm_qt_declare_logging_category(KPim6Itinerary
0180     HEADER compare-logging.h
0181     IDENTIFIER KItinerary::CompareLog
0182     CATEGORY_NAME org.kde.kitinerary.comparator
0183     DESCRIPTION "KItinerary Comparison/Merging Logging"
0184     EXPORT KITINERARY
0185 )
0186 ecm_qt_declare_logging_category(KPim6Itinerary
0187     HEADER validator-logging.h
0188     IDENTIFIER KItinerary::ValidatorLog
0189     CATEGORY_NAME org.kde.kitinerary.extractorValidator
0190     DESCRIPTION "KItinerary Extractor Validator Logging"
0191     EXPORT KITINERARY
0192 )
0193 
0194 generate_export_header(KPim6Itinerary BASE_NAME KItinerary)
0195 set_target_properties(KPim6Itinerary PROPERTIES
0196     VERSION ${KITINERARY_VERSION}
0197     SOVERSION ${KITINERARY_SOVERSION}
0198     EXPORT_NAME Itinerary
0199 )
0200 target_include_directories(KPim6Itinerary INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_PIM}>")
0201 target_include_directories(KPim6Itinerary PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>")
0202 target_include_directories(KPim6Itinerary PRIVATE ${CMAKE_BINARY_DIR})
0203 target_link_libraries(KPim6Itinerary
0204     PUBLIC
0205         Qt::Core
0206         KPim6::Mime
0207     PRIVATE
0208         Qt::Qml
0209         KF6::Archive
0210         KF6::I18n
0211         KF6::I18nLocaleData
0212         KF6::CalendarCore
0213         KF6::Codecs
0214         KF6::Contacts
0215         KPim6::PkPass
0216         Poppler::Core
0217         OpenSSL::Crypto
0218         ZLIB::ZLIB
0219 )
0220 if (TARGET ZXing::ZXing)
0221     target_link_libraries(KPim6Itinerary PRIVATE ZXing::ZXing)
0222 elseif (TARGET ZXing::Core)
0223     target_link_libraries(KPim6Itinerary PRIVATE ZXing::Core)
0224 endif()
0225 
0226 if (HAVE_LIBXML2)
0227     target_compile_definitions(KPim6Itinerary PRIVATE ${LIBXML2_DEFINITIONS})
0228     target_include_directories(KPim6Itinerary PRIVATE ${LIBXML2_INCLUDE_DIR})
0229     target_link_libraries(KPim6Itinerary PRIVATE ${LIBXML2_LIBRARIES})
0230 endif()
0231 if (HAVE_PHONENUMBER)
0232     target_link_libraries(KPim6Itinerary PRIVATE PhoneNumber::PhoneNumber)
0233 endif()
0234 
0235 ecm_generate_headers(KItinerary_FORWARDING_HEADERS
0236     HEADER_NAMES
0237         BarcodeDecoder
0238         CalendarHandler
0239         DocumentUtil
0240         ExtractorCapabilities
0241         ExtractorPostprocessor
0242         ExtractorValidator
0243         File
0244         HtmlDocument
0245         JsonLdDocument
0246         LocationUtil
0247         MergeUtil
0248         PriceUtil
0249         SortUtil
0250     PREFIX KItinerary
0251     REQUIRED_HEADERS KItinerary_HEADERS
0252 )
0253 ecm_generate_headers(KItinerary_KnowledgeDb_FORWARDING_HEADERS
0254     HEADER_NAMES
0255         AlphaId
0256         CountryDb
0257         KnowledgeDb
0258     PREFIX KItinerary
0259     REQUIRED_HEADERS KItinerary_KnowledgeDb_HEADERS
0260     RELATIVE knowledgedb
0261 )
0262 ecm_generate_headers(KItinerary_Datatypes_FORWARDING_HEADERS
0263     HEADER_NAMES
0264         Action
0265         BoatTrip
0266         Brand
0267         BusTrip
0268         CreativeWork
0269         Datatypes
0270         Event
0271         Flight
0272         Organization
0273         Reservation
0274         RentalCar
0275         Person
0276         Place
0277         ProgramMembership
0278         Taxi
0279         Ticket
0280         Token
0281         TrainTrip
0282         Visit
0283     PREFIX KItinerary
0284     REQUIRED_HEADERS KItinerary_Datatypes_HEADERS
0285     RELATIVE datatypes
0286 )
0287 ecm_generate_headers(KItinerary_Engine_FORWARDING_HEADERS
0288     HEADER_NAMES
0289         AbstractExtractor
0290         ExtractorDocumentNode
0291         ExtractorDocumentNodeFactory
0292         ExtractorDocumentProcessor
0293         ExtractorEngine
0294         ExtractorFilter
0295         ExtractorRepository
0296         ExtractorResult
0297         ScriptExtractor
0298     PREFIX KItinerary
0299     REQUIRED_HEADERS KItinerary_Engine_HEADERS
0300     RELATIVE engine
0301 )
0302 ecm_generate_headers(KItinerary_Era_FORWARDING_HEADERS
0303     HEADER_NAMES
0304         ELBTicket
0305         SSBTicketBase
0306         SSBv1Ticket
0307         SSBv2Ticket
0308         SSBv3Ticket
0309     PREFIX KItinerary
0310     REQUIRED_HEADERS KItinerary_Era_HEADERS
0311     RELATIVE era
0312 )
0313 ecm_generate_headers(KItinerary_Http_FORWARDING_HEADERS
0314     HEADER_NAMES
0315         HttpResponse
0316     PREFIX KItinerary
0317     REQUIRED_HEADERS KItinerary_Http_HEADERS
0318     RELATIVE http
0319 )
0320 ecm_generate_headers(KItinerary_Iata_FORWARDING_HEADERS
0321     HEADER_NAMES
0322         IataBcbp
0323         IataBcbpSections
0324     PREFIX KItinerary
0325     REQUIRED_HEADERS KItinerary_Iata_HEADERS
0326     RELATIVE iata
0327 )
0328 ecm_generate_headers(KItinerary_Pdf_FORWARDING_HEADERS
0329     HEADER_NAMES
0330         PdfDocument
0331         PdfImage
0332         PdfLink
0333     PREFIX KItinerary
0334     REQUIRED_HEADERS KItinerary_Pdf_HEADERS
0335     RELATIVE pdf
0336 )
0337 ecm_generate_headers(KItinerary_Asn1_FORWARDING_HEADERS
0338     HEADER_NAMES
0339         BERElement
0340     PREFIX KItinerary
0341     REQUIRED_HEADERS KItinerary_Asn1_HEADERS
0342     RELATIVE asn1
0343 )
0344 ecm_generate_headers(KItinerary_Uic9183_FORWARDING_HEADERS
0345     HEADER_NAMES
0346         Rct2Ticket
0347         Uic9183Head
0348         Uic9183Header
0349         Uic9183Block
0350         Uic9183Parser
0351         Uic9183TicketLayout
0352         Uic9183Utils
0353         Vendor0080Block
0354         Vendor0080VUBlockData
0355         Vendor1154Block
0356     PREFIX KItinerary
0357     REQUIRED_HEADERS KItinerary_Uic9183_HEADERS
0358     RELATIVE uic9183
0359 )
0360 ecm_generate_headers(KItinerary_Vdv_FORWARDING_HEADERS
0361     HEADER_NAMES
0362         VdvTicket
0363         VdvBasicTypes
0364         VdvTicketContent
0365         VdvTicketParser
0366     PREFIX KItinerary
0367     REQUIRED_HEADERS KItinerary_Vdv_HEADERS
0368     RELATIVE vdv
0369 )
0370 
0371 install(TARGETS KPim6Itinerary EXPORT KPim6ItineraryTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0372 install(FILES
0373     ${KItinerary_FORWARDING_HEADERS}
0374     ${KItinerary_Asn1_FORWARDING_HEADERS}
0375     ${KItinerary_Datatypes_FORWARDING_HEADERS}
0376     ${KItinerary_Engine_FORWARDING_HEADERS}
0377     ${KItinerary_Era_FORWARDING_HEADERS}
0378     ${KItinerary_Http_FORWARDING_HEADERS}
0379     ${KItinerary_Iata_FORWARDING_HEADERS}
0380     ${KItinerary_KnowledgeDb_FORWARDING_HEADERS}
0381     ${KItinerary_Pdf_FORWARDING_HEADERS}
0382     ${KItinerary_Uic9183_FORWARDING_HEADERS}
0383     ${KItinerary_Vdv_FORWARDING_HEADERS}
0384     DESTINATION ${KDE_INSTALL_INCLUDEDIR_PIM}/KItinerary
0385 )
0386 install(FILES
0387     ${KItinerary_HEADERS}
0388     ${KItinerary_AirportDb_HEADERS}
0389     ${KItinerary_Asn1_HEADERS}
0390     ${KItinerary_Datatypes_HEADERS}
0391     ${KItinerary_KnowledgeDb_HEADERS}
0392     ${KItinerary_Engine_HEADERS}
0393     ${KItinerary_Era_HEADERS}
0394     ${KItinerary_Http_HEADERS}
0395     ${KItinerary_Iata_HEADERS}
0396     ${KItinerary_Pdf_HEADERS}
0397     ${KItinerary_Uic9183_HEADERS}
0398     ${KItinerary_Vdv_HEADERS}
0399     datatypes/datatypes_impl.h
0400     ${CMAKE_CURRENT_BINARY_DIR}/kitinerary_export.h
0401     DESTINATION ${KDE_INSTALL_INCLUDEDIR_PIM}/kitinerary
0402 )
0403 install(FILES
0404     internal/instance_counter.h
0405     internal/parameter_type.h
0406     internal/strict_equal.h
0407     internal/strict_less.h
0408     DESTINATION ${KDE_INSTALL_INCLUDEDIR_PIM}/kitinerary/internal
0409 )
0410 if (NOT ANDROID)
0411     install(FILES application-vnd-kde-itinerary.xml DESTINATION ${KDE_INSTALL_MIMEDIR})
0412     update_xdg_mimetypes(${KDE_INSTALL_MIMEDIR})
0413 endif()
0414 ecm_qt_install_logging_categories(
0415     EXPORT KITINERARY
0416     FILE org_kde_kitinerary.categories
0417     DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0418 )
0419 
0420 if (BUILD_QCH)
0421     ecm_add_qch(
0422         KPim6Itinerary_QCH
0423         NAME KPim6Itinerary
0424         BASE_NAME KPim6Itinerary
0425         VERSION ${PIM_VERSION}
0426         ORG_DOMAIN org.kde
0427         SOURCES # using only public headers, to cover only public API
0428         ${KItinerary_HEADERS}
0429         ${KItinerary_AirportDb_HEADERS}
0430         ${KItinerary_Datatypes_HEADERS}
0431         ${KItinerary_KnowledgeDb_HEADERS}
0432         ${KItinerary_Engine_HEADERS}
0433         ${KItinerary_Pdf_HEADERS}
0434         ${KItinerary_Uic9183_HEADERS}
0435         ${KItinerary_Vdv_HEADERS}
0436         MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0437         #IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics"
0438         LINK_QCHS
0439             Qt6Core_QCH
0440         INCLUDE_DIRS
0441             ${CMAKE_CURRENT_BINARY_DIR}
0442         BLANK_MACROS
0443             KITINERARY_EXPORT
0444         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0445         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0446         COMPONENT Devel
0447     )
0448 endif()