1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
cmake_minimum_required(VERSION 3.8...3.12 FATAL_ERROR)
project(ImageProcessing)
include(GNUInstallDirs)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
find_package(VTK
COMPONENTS
CommonSystem
IOImage
ImagingFourier
ImagingGeneral
ImagingSources
ImagingStatistics
ImagingStencil
InteractionStyle
RenderingCore
RenderingOpenGL2
vtksys
OPTIONAL_COMPONENTS
TestingCore
TestingRendering)
if (NOT VTK_FOUND)
message("Skipping example: ${VTK_NOT_FOUND_MESSAGE}")
return ()
endif ()
add_executable(ImageSlicing MACOSX_BUNDLE
ImageSlicing.cxx)
target_link_libraries(ImageSlicing
PRIVATE
${VTK_LIBRARIES})
add_executable(ImageBenchmark
ImageBenchmark.cxx)
target_link_libraries(ImageBenchmark
PRIVATE
${VTK_LIBRARIES})
add_executable(ImageBenchmarkDriver
ImageBenchmarkDriver.cxx)
target_link_libraries(ImageBenchmarkDriver
PRIVATE
${VTK_LIBRARIES})
vtk_module_autoinit(
TARGETS ImageSlicing
ImageBenchmark
ImageBenchmarkDriver
MODULES ${VTK_LIBRARIES})
if (BUILD_TESTING)
include(CTest)
if (TARGET VTK::TestingRendering)
######## Regression Testing ########
set(ExternalData_BINARY_ROOT ${CMAKE_CURRENT_BINARY_DIR}/ExternalData)
list(APPEND ExternalData_URL_TEMPLATES
# Data published by Girder
"https://data.kitware.com/api/v1/file/hashsum/%(algo)/%(hash)/download"
# Data published by developers using git-gitlab-push.
"https://www.vtk.org/files/ExternalData/%(algo)/%(hash)"
)
include(ExternalData)
ExternalData_add_test(ImageProcessingData
NAME "ImageProcessingExampleCxx-ImageBenchmark"
COMMAND ImageBenchmark
--threads 2
--filter resize:kernelsize=4
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
# FIXME: This test doesn't exit.
if (FALSE)
ExternalData_Expand_Arguments(ImageProcessingData _
DATA{${CMAKE_CURRENT_SOURCE_DIR}/Testing/Data/headsq/,REGEX:.*})
ExternalData_add_test(ImageProcessingData
NAME "ImageProcessingExampleCxx-ImageSlicing"
COMMAND ImageSlicing
${CMAKE_CURRENT_BINARY_DIR}/ExternalData/Testing/Data/headsq/quarter
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
endif ()
ExternalData_Add_Target(ImageProcessingData)
endif ()
endif ()
|