mirror of
https://github.com/JakubMelka/PDF4QT.git
synced 2025-06-05 21:59:17 +02:00
200 lines
6.8 KiB
CMake
200 lines
6.8 KiB
CMake
# MIT License
|
|
#
|
|
# Copyright (c) 2018-2025 Jakub Melka and Contributors
|
|
#
|
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
# of this software and associated documentation files (the "Software"), to deal
|
|
# in the Software without restriction, including without limitation the rights
|
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
# copies of the Software, and to permit persons to whom the Software is
|
|
# furnished to do so, subject to the following conditions:
|
|
#
|
|
# The above copyright notice and this permission notice shall be included in all
|
|
# copies or substantial portions of the Software.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
# SOFTWARE.
|
|
|
|
add_library(Pdf4QtLibCore SHARED
|
|
sources/pdfglobal.h
|
|
sources/pdfaction.cpp
|
|
sources/pdfaction.h
|
|
sources/pdfalgorithmlcs.cpp
|
|
sources/pdfalgorithmlcs.h
|
|
sources/pdfannotation.cpp
|
|
sources/pdfannotation.h
|
|
sources/pdfblendfunction.cpp
|
|
sources/pdfblendfunction.h
|
|
sources/pdfccittfaxdecoder.cpp
|
|
sources/pdfccittfaxdecoder.h
|
|
sources/pdfcertificatemanager.cpp
|
|
sources/pdfcertificatemanager.h
|
|
sources/pdfcms.cpp
|
|
sources/pdfcms.h
|
|
sources/pdfdiff.cpp
|
|
sources/pdfdiff.h
|
|
sources/pdfdocumentbuilder.cpp
|
|
sources/pdfdocumentbuilder.h
|
|
sources/pdfdocumentmanipulator.cpp
|
|
sources/pdfdocumentmanipulator.h
|
|
sources/pdfdocumenttextflow.cpp
|
|
sources/pdfdocumenttextflow.h
|
|
sources/pdfdocumenttextfloweditormodel.cpp
|
|
sources/pdfdocumenttextfloweditormodel.h
|
|
sources/pdfdocumentwriter.cpp
|
|
sources/pdfdocumentwriter.h
|
|
sources/pdfexecutionpolicy.cpp
|
|
sources/pdfexecutionpolicy.h
|
|
sources/pdffile.cpp
|
|
sources/pdffile.h
|
|
sources/pdfform.cpp
|
|
sources/pdfform.h
|
|
sources/pdficontheme.cpp
|
|
sources/pdficontheme.h
|
|
sources/pdfjavascriptscanner.cpp
|
|
sources/pdfjavascriptscanner.h
|
|
sources/pdfjbig2decoder.cpp
|
|
sources/pdfjbig2decoder.h
|
|
sources/pdfmultimedia.cpp
|
|
sources/pdfmultimedia.h
|
|
sources/pdfobject.cpp
|
|
sources/pdfobject.h
|
|
sources/pdfobjecteditormodel.cpp
|
|
sources/pdfobjecteditormodel.h
|
|
sources/pdfobjectutils.cpp
|
|
sources/pdfobjectutils.h
|
|
sources/pdfoptimizer.cpp
|
|
sources/pdfoptimizer.h
|
|
sources/pdfoptionalcontent.cpp
|
|
sources/pdfoptionalcontent.h
|
|
sources/pdfoutline.cpp
|
|
sources/pdfoutline.h
|
|
sources/pdfpagenavigation.cpp
|
|
sources/pdfpagenavigation.h
|
|
sources/pdfpagetransition.cpp
|
|
sources/pdfpagetransition.h
|
|
sources/pdfpainterutils.cpp
|
|
sources/pdfpainterutils.h
|
|
sources/pdfparser.cpp
|
|
sources/pdfparser.h
|
|
sources/pdfdocument.cpp
|
|
sources/pdfdocument.h
|
|
sources/pdfdocumentreader.cpp
|
|
sources/pdfdocumentreader.h
|
|
sources/pdfpattern.cpp
|
|
sources/pdfpattern.h
|
|
sources/pdfplugin.cpp
|
|
sources/pdfplugin.h
|
|
sources/pdfprogress.cpp
|
|
sources/pdfprogress.h
|
|
sources/pdfredact.cpp
|
|
sources/pdfredact.h
|
|
sources/pdfsecurityhandler.cpp
|
|
sources/pdfsecurityhandler.h
|
|
sources/pdfsignaturehandler.cpp
|
|
sources/pdfsignaturehandler.h
|
|
sources/pdfsnapper.cpp
|
|
sources/pdfsnapper.h
|
|
sources/pdfstructuretree.cpp
|
|
sources/pdfstructuretree.h
|
|
sources/pdftextlayout.cpp
|
|
sources/pdftextlayout.h
|
|
sources/pdftransparencyrenderer.cpp
|
|
sources/pdftransparencyrenderer.h
|
|
sources/pdfutils.cpp
|
|
sources/pdfutils.h
|
|
sources/pdfxfaengine.cpp
|
|
sources/pdfxfaengine.h
|
|
sources/pdfxreftable.cpp
|
|
sources/pdfxreftable.h
|
|
sources/pdfvisitor.cpp
|
|
sources/pdfvisitor.h
|
|
sources/pdfencoding.cpp
|
|
sources/pdfencoding.h
|
|
sources/pdfcatalog.cpp
|
|
sources/pdfcatalog.h
|
|
sources/pdfpage.cpp
|
|
sources/pdfpage.h
|
|
sources/pdfstreamfilters.cpp
|
|
sources/pdfstreamfilters.h
|
|
sources/pdfcolorspaces.cpp
|
|
sources/pdfcolorspaces.h
|
|
sources/pdfrenderer.cpp
|
|
sources/pdfrenderer.h
|
|
sources/pdfpagecontentprocessor.cpp
|
|
sources/pdfpagecontentprocessor.h
|
|
sources/pdfpainter.cpp
|
|
sources/pdfpainter.h
|
|
sources/pdffunction.cpp
|
|
sources/pdffunction.h
|
|
sources/pdfnametounicode.cpp
|
|
sources/pdfnametounicode.h
|
|
sources/pdffont.cpp
|
|
sources/pdffont.h
|
|
sources/pdfimage.cpp
|
|
sources/pdfimage.h
|
|
sources/pdfdocumentsanitizer.h
|
|
sources/pdfdocumentsanitizer.cpp
|
|
sources/pdfimageconversion.h
|
|
sources/pdfimageconversion.cpp
|
|
sources/pdfcolorconvertor.h
|
|
sources/pdfcolorconvertor.cpp
|
|
sources/pdftextlayoutgenerator.h
|
|
sources/pdftextlayoutgenerator.cpp
|
|
sources/pdfwidgetsnapshot.cpp
|
|
sources/pdfwidgetsnapshot.h
|
|
cmaps.qrc
|
|
aatl.qrc
|
|
sources/pdfcertificatestore.h
|
|
sources/pdfcertificatestore.cpp
|
|
sources/pdfblpainter.h
|
|
sources/pdfblpainter.cpp
|
|
sources/pdfpagecontenteditorprocessor.h
|
|
sources/pdfpagecontenteditorprocessor.cpp
|
|
sources/pdfpagecontenteditorcontentstreambuilder.h
|
|
sources/pdfpagecontenteditorcontentstreambuilder.cpp
|
|
sources/pdfapplicationtranslator.h
|
|
sources/pdfapplicationtranslator.cpp
|
|
)
|
|
|
|
include(GenerateExportHeader)
|
|
|
|
GENERATE_EXPORT_HEADER(Pdf4QtLibCore
|
|
EXPORT_MACRO_NAME
|
|
PDF4QTLIBCORESHARED_EXPORT
|
|
EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR}/pdf4qtlibcore_export.h")
|
|
|
|
target_link_libraries(Pdf4QtLibCore PRIVATE Qt6::Core Qt6::Gui Qt6::Xml Qt6::Svg)
|
|
target_link_libraries(Pdf4QtLibCore PRIVATE lcms2::lcms2)
|
|
target_link_libraries(Pdf4QtLibCore PRIVATE OpenSSL::SSL OpenSSL::Crypto)
|
|
target_link_libraries(Pdf4QtLibCore PRIVATE ZLIB::ZLIB)
|
|
target_link_libraries(Pdf4QtLibCore PRIVATE Freetype::Freetype)
|
|
target_link_libraries(Pdf4QtLibCore PRIVATE openjp2)
|
|
target_link_libraries(Pdf4QtLibCore PRIVATE JPEG::JPEG)
|
|
|
|
if(LINUX_GCC)
|
|
target_link_libraries(Pdf4QtLibCore PUBLIC TBB::tbb)
|
|
endif()
|
|
|
|
if(MINGW)
|
|
target_link_libraries(Pdf4QtLibCore PRIVATE Secur32 Mscms Gdi32 User32 crypt32)
|
|
endif()
|
|
|
|
target_include_directories(Pdf4QtLibCore INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/sources)
|
|
target_include_directories(Pdf4QtLibCore PUBLIC ${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR})
|
|
|
|
target_link_libraries(Pdf4QtLibCore PRIVATE blend2d::blend2d)
|
|
|
|
set_target_properties(Pdf4QtLibCore PROPERTIES
|
|
VERSION ${PDF4QT_VERSION}
|
|
SOVERSION ${PDF4QT_VERSION}
|
|
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${PDF4QT_INSTALL_LIB_DIR}
|
|
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${PDF4QT_INSTALL_BIN_DIR})
|
|
|
|
install(TARGETS Pdf4QtLibCore RUNTIME DESTINATION ${PDF4QT_INSTALL_BIN_DIR} LIBRARY DESTINATION ${PDF4QT_INSTALL_LIB_DIR})
|