itk_module_test()
set(ITKImageFilterBaseTests
    itkNeighborhoodOperatorImageFilterTest.cxx
    itkImageToImageFilterTest.cxx
    itkVectorNeighborhoodOperatorImageFilterTest.cxx
    itkMaskNeighborhoodOperatorImageFilterTest.cxx
    itkCastImageFilterTest.cxx)

# Disable optimization on the tests below to avoid possible
# optimization bugs in some compilers. This option will appear on the
# command line after any other optimization flag (including those from
# CMAKE_CXX_FLAGS) which means that on gcc, MSVC, and the Intel
# compiler, it will override any other optimization flag.
if(DEFINED ITK_CXX_DISABLE_OPTIMIZATION_FLAG)
  set_source_files_properties(itkCastImageFilterTest.cxx PROPERTIES COMPILE_FLAGS ${ITK_CXX_DISABLE_OPTIMIZATION_FLAG})
endif()

createtestdriver(ITKImageFilterBase "${ITKImageFilterBase-Test_LIBRARIES}" "${ITKImageFilterBaseTests}")

itk_add_test(
  NAME
  itkNeighborhoodOperatorImageFilterTest
  COMMAND
  ITKImageFilterBaseTestDriver
  itkNeighborhoodOperatorImageFilterTest)
itk_add_test(
  NAME
  itkImageToImageFilterTest
  COMMAND
  ITKImageFilterBaseTestDriver
  itkImageToImageFilterTest)
itk_add_test(
  NAME
  itkVectorNeighborhoodOperatorImageFilterTest
  COMMAND
  ITKImageFilterBaseTestDriver
  itkVectorNeighborhoodOperatorImageFilterTest)
itk_add_test(
  NAME
  itkMaskNeighborhoodOperatorImageFilterTest
  COMMAND
  ITKImageFilterBaseTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/BasicFilters/MaskNeighborhoodOperatorImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/MaskNeighborhoodOperatorImageFilterTest.png
  itkMaskNeighborhoodOperatorImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/MaskNeighborhoodOperatorImageFilterTest.png)
itk_add_test(
  NAME
  itkCastImageFilterTest
  COMMAND
  ITKImageFilterBaseTestDriver
  itkCastImageFilterTest)

set(ITKImageFilterBaseGTests itkGeneratorImageFilterGTest.cxx)
creategoogletestdriver(ITKImageFilterBase "${ITKImageFilterBase-Test_LIBRARIES}" "${ITKImageFilterBaseGTests}")
