#======================================================================== # # xpdf/cmake-xpdf.txt # # CMake script for the Xpdf tools. # # Copyright 2015 Glyph & Cog, LLC # #======================================================================== include_directories("${PROJECT_SOURCE_DIR}") include_directories("${PROJECT_BINARY_DIR}") include_directories("${PROJECT_SOURCE_DIR}/goo") include_directories("${PROJECT_SOURCE_DIR}/fofi") include_directories("${PROJECT_SOURCE_DIR}/splash") if (PNG_FOUND) include_directories("${PNG_INCLUDE_DIRS}") add_definitions("${PNG_DEFINITIONS}") endif () if (HAVE_LCMS) include_directories("${LCMS_INCLUDE_DIR}") set(COLOR_MANAGER_SOURCE "ColorManager.cc") else () set(COLOR_MANAGER_SOURCE "") endif () if (WIN32) set(MANIFEST "winLongPath.exe.manifest") else () set(MANIFEST "") endif () add_library(xpdf_objs OBJECT AcroForm.cc Annot.cc Array.cc BuiltinFont.cc BuiltinFontTables.cc Catalog.cc CharCodeToUnicode.cc CMap.cc ${COLOR_MANAGER_SOURCE} Decrypt.cc Dict.cc Error.cc FontEncodingTables.cc Function.cc Gfx.cc GfxFont.cc GfxState.cc GlobalParams.cc JArithmeticDecoder.cc JBIG2Stream.cc JPXStream.cc Lexer.cc Link.cc NameToCharCode.cc Object.cc OptionalContent.cc Outline.cc OutputDev.cc Page.cc Parser.cc PDF417Barcode.cc PDFDoc.cc PDFDocEncoding.cc PSTokenizer.cc SecurityHandler.cc Stream.cc TextString.cc UnicodeMap.cc UnicodeRemapping.cc UnicodeTypeTable.cc UTF8.cc XFAScanner.cc XRef.cc Zoox.cc ) set_property(TARGET xpdf_objs PROPERTY POSITION_INDEPENDENT_CODE True) #--- object files needed by XpdfWidget if ((QT4_FOUND OR Qt5Widgets_FOUND OR Qt6Widgets_FOUND) AND HAVE_SPLASH AND MULTITHREADED AND USE_EXCEPTIONS) if (HIGHLIGHTED_REGIONS) set(HIGHLIGHT_SRC "HighlightFile.cc") else () set(HIGHLIGHT_SRC "") endif () add_library(xpdf_widget_objs OBJECT DisplayState.cc PDFCore.cc PreScanOutputDev.cc PSOutputDev.cc ShadingImage.cc SplashOutputDev.cc TextOutputDev.cc TileCache.cc TileCompositor.cc TileMap.cc ${HIGHLIGHT_SRC} ) set_property(TARGET xpdf_widget_objs PROPERTY POSITION_INDEPENDENT_CODE True) endif () #--- pdftops if (HAVE_SPLASH) add_executable(pdftops $ PreScanOutputDev.cc PSOutputDev.cc ShadingImage.cc SplashOutputDev.cc pdftops.cc ${MANIFEST} ) target_link_libraries(pdftops goo fofi splash ${PAPER_LIBRARY} ${FREETYPE_LIBRARY} ${FREETYPE_OTHER_LIBS} ${DTYPE_LIBRARY} ${LCMS_LIBRARY} ${FONTCONFIG_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) else () add_executable(pdftops $ PreScanOutputDev.cc PSOutputDev.cc pdftops.cc ${MANIFEST} ) target_link_libraries(pdftops goo fofi ${PAPER_LIBRARY} ${LCMS_LIBRARY} ${FONTCONFIG_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) endif () install(TARGETS pdftops RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftops.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) #--- pdftotext add_executable(pdftotext $ TextOutputDev.cc pdftotext.cc ${MANIFEST} ) target_link_libraries(pdftotext goo fofi ${PAPER_LIBRARY} ${LCMS_LIBRARY} ${FONTCONFIG_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) install(TARGETS pdftotext RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftotext.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) #--- pdftohtml if (HAVE_SPLASH AND PNG_FOUND) add_executable(pdftohtml $ HTMLGen.cc ShadingImage.cc SplashOutputDev.cc TextOutputDev.cc WebFont.cc pdftohtml.cc ${MANIFEST} ) target_link_libraries(pdftohtml goo fofi splash ${PAPER_LIBRARY} ${FREETYPE_LIBRARY} ${FREETYPE_OTHER_LIBS} ${DTYPE_LIBRARY} ${LCMS_LIBRARY} ${PNG_LIBRARIES} ${FONTCONFIG_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) install(TARGETS pdftohtml RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftohtml.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) endif () #--- pdfinfo add_executable(pdfinfo $ pdfinfo.cc ${MANIFEST} ) target_link_libraries(pdfinfo goo fofi ${PAPER_LIBRARY} ${LCMS_LIBRARY} ${FONTCONFIG_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) install(TARGETS pdfinfo RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES ${PROJECT_SOURCE_DIR}/doc/pdfinfo.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) #--- pdffonts add_executable(pdffonts $ pdffonts.cc ${MANIFEST} ) target_link_libraries(pdffonts goo fofi ${PAPER_LIBRARY} ${LCMS_LIBRARY} ${FONTCONFIG_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) install(TARGETS pdffonts RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES ${PROJECT_SOURCE_DIR}/doc/pdffonts.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) #--- pdfdetach add_executable(pdfdetach $ pdfdetach.cc ${MANIFEST} ) target_link_libraries(pdfdetach goo fofi ${PAPER_LIBRARY} ${LCMS_LIBRARY} ${FONTCONFIG_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) install(TARGETS pdfdetach RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES ${PROJECT_SOURCE_DIR}/doc/pdfdetach.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) #--- pdftoppm if (HAVE_SPLASH) add_executable(pdftoppm $ ShadingImage.cc SplashOutputDev.cc pdftoppm.cc ${MANIFEST} ) target_link_libraries(pdftoppm goo fofi splash ${PAPER_LIBRARY} ${FREETYPE_LIBRARY} ${FREETYPE_OTHER_LIBS} ${DTYPE_LIBRARY} ${LCMS_LIBRARY} ${FONTCONFIG_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) install(TARGETS pdftoppm RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftoppm.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) endif () #--- pdftopng if (HAVE_SPLASH AND PNG_FOUND) add_executable(pdftopng $ ShadingImage.cc SplashOutputDev.cc pdftopng.cc ${MANIFEST} ) target_link_libraries(pdftopng goo fofi splash ${PAPER_LIBRARY} ${FREETYPE_LIBRARY} ${FREETYPE_OTHER_LIBS} ${DTYPE_LIBRARY} ${LCMS_LIBRARY} ${PNG_LIBRARIES} ${FONTCONFIG_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) install(TARGETS pdftopng RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftopng.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) endif () #--- pdfimages add_executable(pdfimages $ ImageOutputDev.cc pdfimages.cc ${MANIFEST} ) target_link_libraries(pdfimages goo fofi ${PAPER_LIBRARY} ${LCMS_LIBRARY} ${FONTCONFIG_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) install(TARGETS pdfimages RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES ${PROJECT_SOURCE_DIR}/doc/pdfimages.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) #--- xpdfrc man page install(FILES ${PROJECT_SOURCE_DIR}/doc/xpdfrc.5 DESTINATION ${CMAKE_INSTALL_MANDIR}/man5)