include("${CMAKE_CURRENT_LIST_DIR}/vtkWkHtmlToImage.cmake")
if (VTK_WKHTMLTOIMAGE_EXECUTABLE)
set(SVGTests
TestSVGContextExport.cxx,NO_DATA,NO_VALID
TestSVGContextShading.cxx,NO_DATA,NO_VALID
TestSVGExporterContextPolyData.cxx,NO_VALID
)
endif()
vtk_add_test_cxx(vtkIOExportCxxTests tests
X3DTest.cxx,NO_DATA,NO_VALID
TestJSONRenderWindowExporter.cxx,NO_DATA,NO_VALID
TestOBJExporter.cxx,NO_DATA,NO_VALID
TestGLTFExporter.cxx,NO_DATA,NO_VALID
TestSingleVTPExporter.cxx,NO_DATA,NO_VALID
${SVGTests}
TestRIBExporter.cxx,NO_VALID
UnitTestRIB.cxx,NO_DATA,NO_VALID
)
vtk_test_cxx_executable(vtkIOExportCxxTests tests
DISABLE_FLOATING_POINT_EXCEPTIONS
RENDERING_FACTORY
)
# See if Pixar's Renderman is available
find_path(RMANTREE bin/prman HINTS
/Applications/Pixar/RenderManProServer-19.0
/opt/pixar/RenderManProServer-19.0
)
mark_as_advanced(RMANTREE)
# Tests to run if Renderman is present
if(RMANTREE)
# write a Renderman ini file to specify the shaderpath
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/rendermn.ini
"/shaderpath &:${CMAKE_CURRENT_SOURCE_DIR}/Testing/Cxx")
add_test(NAME VTK::IOExport-RIBExporterShaderCompile
COMMAND ${RMANTREE}/bin/shader
${CMAKE_CURRENT_SOURCE_DIR}/../Data/Input/bozo.sl
${CMAKE_CURRENT_SOURCE_DIR}/../Data/Input/dented.sl
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_test(NAME VTK::IOExport-RIBExporterPrman
COMMAND ${RMANTREE}/bin/prman
${_vtk_build_TEST_OUTPUT_DIRECTORY}/TestRIBExporter.rib
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
# Image diff rman generated tif with baseline
set(baseline_dir ${CMAKE_CURRENT_SOURCE_DIR}/../Data/Baseline)
ExternalData_add_test(${_vtk_build_TEST_DATA_TARGET}
NAME VTK::IOExportCxx-ComparePrmanImage
COMMAND ${RMANTREE}/bin/cmptiff -d 100
DATA{${baseline_dir}/TestRIBExporter.tif}
${_vtk_build_TEST_OUTPUT_DIRECTORY}/TestRIBExporter.tif
)
set_tests_properties(VTK::IOExport-RIBExporterPrman
PROPERTIES
DEPENDS
"VTK::IOExport-TestRIBExporter"
DEPENDS
"VTK::IOExport-RIBExporterShaderCompile"
ENVIRONMENT
"RMANTREE=${RMANTREE}"
)
set_tests_properties("VTK::IOExportCxx-ComparePrmanImage"
PROPERTIES
DEPENDS "VTK::IOExportCxx-TestRIBExporter"
REQUIRED_FILES
"${_vtk_build_TEST_OUTPUT_DIRECTORY}/TestRIBExporter.tif"
)
endif()
include("${CMAKE_CURRENT_LIST_DIR}/vtkTestingSVG.cmake")
vtk_add_svg_test(${SVGTests})