qpdf/examples/CMakeLists.txt

62 lines
1.7 KiB
CMake

set(EXAMPLE_CXX_PROGRAMS
pdf-attach-file
pdf-bookmarks
pdf-count-strings
pdf-create
pdf-custom-filter
pdf-double-page-size
pdf-filter-tokens
pdf-invert-images
pdf-mod-info
pdf-name-number-tree
pdf-npages
pdf-overlay-page
pdf-parse-content
pdf-set-form-values
pdf-split-pages
qpdf-job
qpdfjob-remove-annotations
qpdfjob-save-attachment)
set(EXAMPLE_C_PROGRAMS
pdf-c-objects
pdf-linearize
qpdfjob-c
qpdfjob-c-save-attachment)
foreach(PROG ${EXAMPLE_CXX_PROGRAMS})
add_executable(${PROG} ${PROG}.cc)
target_link_libraries(${PROG} libqpdf)
endforeach()
foreach(PROG ${EXAMPLE_C_PROGRAMS})
add_executable(${PROG} ${PROG}.c)
target_link_libraries(${PROG} libqpdf)
set_property(TARGET ${PROG} PROPERTY LINKER_LANGUAGE CXX)
endforeach()
target_include_directories(pdf-create PRIVATE ${JPEG_INCLUDE})
# extend-c-api contains a mixture of C and C++ files.
add_executable(extend-c-api extend-c-api-impl.cc extend-c-api.c)
set_property(TARGET extend-c-api PROPERTY LINKER_LANGUAGE CXX)
target_link_libraries(extend-c-api libqpdf)
add_test(
NAME examples
COMMAND ${RUN_QTEST}
--top ${qpdf_SOURCE_DIR}
--bin $<TARGET_FILE_DIR:pdf-create>
--bin $<TARGET_FILE_DIR:qpdf>
--bin $<TARGET_FILE_DIR:qpdf-test-compare>
--bin $<TARGET_FILE_DIR:libqpdf> # for Windows to find DLL
--code ${qpdf_SOURCE_DIR}/examples
--color ${QTEST_COLOR}
--show-on-failure ${SHOW_FAILED_TEST_OUTPUT}
--tc "${qpdf_SOURCE_DIR}/examples/*.cc"
--tc "${qpdf_SOURCE_DIR}/examples/*.c")
file(GLOB EXAMPLES_SRC "*.c" "*.cc" "*.h")
if(INSTALL_EXAMPLES)
install(FILES ${EXAMPLES_SRC}
DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples
COMPONENT ${COMPONENT_EXAMPLES})
endif()