Forked from
VTK / VTK
22545 commits behind the upstream repository.
-
Ben Boeckel authoredBen Boeckel authored
vtkTestingPDF.cmake 2.14 KiB
# Find the GhostScript executable for GL2PS tests.
find_program(VTK_GHOSTSCRIPT_EXECUTABLE gs gswin32c gsos2)
mark_as_advanced(VTK_GHOSTSCRIPT_EXECUTABLE)
# Like the above, but only tests PDF (instead of always PS and maybe PDF).
function(vtk_add_pdf_test_cxx)
set(tests ${ARGN})
foreach(test ${tests})
string(REGEX REPLACE ",.*" "" testsrc "${test}")
get_filename_component(TName ${testsrc} NAME_WE)
# Convert pdf to png
add_test(NAME ${_vtk_build_test}Cxx-${TName}-RasterizePDFToPNG
COMMAND ${CMAKE_COMMAND}
"-DPDFFILE=${_vtk_build_TEST_OUTPUT_DIRECTORY}/${TName}.pdf"
"-DPDFPNGFILE=${_vtk_build_TEST_OUTPUT_DIRECTORY}/${TName}-rasterPDF.png"
"-DGS_EXECUTABLE=${VTK_GHOSTSCRIPT_EXECUTABLE}"
-DREMOVEPDF=1
-DRASTERIZE_PDF=1
-P "${vtkTestingPDF_SOURCE_DIR}/RasterizePostScript.cmake"
)
set_tests_properties("${_vtk_build_test}Cxx-${TName}-RasterizePDFToPNG"
PROPERTIES
DEPENDS "${_vtk_build_test}Cxx-${TName}"
REQUIRED_FILES
"${_vtk_build_TEST_OUTPUT_DIRECTORY}/${TName}.pdf"
LABELS "${_vtk_build_test_labels}"
)
get_filename_component(TName ${test} NAME_WE)
if(${${TName}Error})
set(_error_threshold ${${TName}Error})
else()
set(_error_threshold 15)
endif()
# Image diff rasterized png produced from a PS with baseline
ExternalData_add_test(VTKData
NAME ${_vtk_build_test}Cxx-${TName}-VerifyRasterizedPDFPNG
COMMAND "vtkRenderingGL2PSOpenGL2CxxTests" PNGCompare
-D "${_vtk_build_TEST_OUTPUT_DATA_DIRECTORY}"
-T "${_vtk_build_TEST_OUTPUT_DIRECTORY}"
-E "${_error_threshold}"
-V "DATA{../Data/Baseline/${TName}-rasterPDFRef.png,:}"
--test-file "${_vtk_build_TEST_OUTPUT_DIRECTORY}/${TName}-rasterPDF.png"
)
set_tests_properties("${_vtk_build_test}Cxx-${TName}-VerifyRasterizedPDFPNG"
PROPERTIES
DEPENDS "${_vtk_build_test}Cxx-${TName}-RasterizePDFToPNG"
REQUIRED_FILES
"${_vtk_build_TEST_OUTPUT_DIRECTORY}/${TName}-rasterPDF.png"
LABELS "${_vtk_build_test_labels}"
)
endforeach()
endfunction()
set(vtkTestingPDF_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}")