+#=========================================================
+#the libraries avoid recompilation for vv, and should be used for generic filters
+#with long compilation times that are used by vv
+ADD_LIBRARY(clitkImageConvertLib clitkImageConvertGenericFilter.cxx)
+ADD_LIBRARY(clitkImageResampleLib clitkImageResampleGenericFilter.cxx)
+ADD_LIBRARY(clitkBinarizeImageLib clitkBinarizeImageGenericFilter.cxx)
+ADD_LIBRARY(clitkImageArithmImageLib clitkImageArithmGenericFilter.cxx)
+ADD_LIBRARY(clitkMIPLib clitkMIPGenericFilter.cxx)
+
+TARGET_LINK_LIBRARIES(clitkBinarizeImageLib clitkToolsGgoLib)
+
+IF (CLITK_BUILD_TOOLS)
+ WRAP_GGO(clitkDicomInfo_GGO_C clitkDicomInfo.ggo)
+ ADD_EXECUTABLE(clitkDicomInfo clitkDicomInfo.cxx ${clitkDicomInfo_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkDicomInfo clitkCommon ITKIO)
+
+ WRAP_GGO(clitkDicom2Image_GGO_C clitkDicom2Image.ggo)
+ ADD_EXECUTABLE(clitkDicom2Image clitkDicom2Image.cxx ${clitkDicom2Image_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkDicom2Image clitkCommon ITKIO)
+
+ WRAP_GGO(clitkImageInfo_GGO_C clitkImageInfo.ggo)
+ ADD_EXECUTABLE(clitkImageInfo clitkImageInfo.cxx ${clitkImageInfo_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkImageInfo clitkCommon ITKIO)
+
+ ADD_EXECUTABLE(clitkImageConvert clitkImageConvert.cxx ${clitkImageConvert_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkImageConvert clitkImageConvertLib clitkCommon ITKIO)
+
+ ADD_EXECUTABLE(clitkBinarizeImage clitkBinarizeImage.cxx
+ ${clitkBinarizeImage_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkBinarizeImage clitkBinarizeImageLib clitkCommon ITKIO)
+
+ # ADD_EXECUTABLE(clitkImageResample clitkImageResample.cxx
+ # ${clitkImageResample_GGO_C})
+ # TARGET_LINK_LIBRARIES(clitkImageResample clitkImageResampleLib clitkCommon ITKIO )
+
+ WRAP_GGO(clitkVFResample_GGO_C clitkImageResample.ggo)
+ ADD_EXECUTABLE(clitkVFResample clitkVFResample.cxx clitkVFResampleGenericFilter.cxx ${clitkVFResample_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkVFResample clitkCommon ITKIO)
+
+ WRAP_GGO(clitkImageCreate_GGO_C clitkImageCreate.ggo)
+ ADD_EXECUTABLE(clitkImageCreate clitkImageCreate.cxx ${clitkImageCreate_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkImageCreate clitkCommon ITKIO)
+
+ WRAP_GGO(clitkZeroVF_GGO_C clitkZeroVF.ggo)
+ ADD_EXECUTABLE(clitkZeroVF clitkZeroVF.cxx ${clitkZeroVF_GGO_C} clitkZeroVFGenericFilter.cxx)
+ TARGET_LINK_LIBRARIES(clitkZeroVF clitkCommon ITKIO)
+
+ WRAP_GGO(clitkImageExtractLine_GGO_C clitkImageExtractLine.ggo)
+ ADD_EXECUTABLE(clitkImageExtractLine clitkImageExtractLine.cxx ${clitkImageExtractLine_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkImageExtractLine clitkCommon ITKIO)
+
+ WRAP_GGO(clitkSplitImage_GGO_C clitkSplitImage.ggo)
+ ADD_EXECUTABLE(clitkSplitImage clitkSplitImage.cxx clitkSplitImageGenericFilter.cxx ${clitkSplitImage_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkSplitImage clitkCommon ITKIO )
+
+ WRAP_GGO(clitkVFMerge_GGO_C clitkVFMerge.ggo)
+ ADD_EXECUTABLE(clitkVFMerge clitkVFMerge.cxx ${clitkVFMerge_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkVFMerge ITKBasicFilters clitkCommon ITKIO)
+
+ WRAP_GGO(clitkWriteDicomSeries_GGO_C clitkWriteDicomSeries.ggo)
+ ADD_EXECUTABLE(clitkWriteDicomSeries clitkWriteDicomSeries.cxx ${clitkWriteDicomSeries_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkWriteDicomSeries clitkCommon ITKIO )
+
+ WRAP_GGO(clitkAverageTemporalDimension_GGO_C clitkAverageTemporalDimension.ggo)
+ ADD_EXECUTABLE(clitkAverageTemporalDimension clitkAverageTemporalDimension.cxx ${clitkAverageTemporalDimension_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkAverageTemporalDimension clitkCommon ITKIO )
+
+ WRAP_GGO(clitkMedianTemporalDimension_GGO_C clitkMedianTemporalDimension.ggo)
+ ADD_EXECUTABLE(clitkMedianTemporalDimension clitkMedianTemporalDimension.cxx
+ ${clitkMedianTemporalDimension_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkMedianTemporalDimension clitkCommon ITKIO )
+
+ WRAP_GGO(clitkWarpImage_GGO_C clitkWarpImage.ggo)
+ ADD_EXECUTABLE(clitkWarpImage clitkWarpImage.cxx ${clitkWarpImage_GGO_C} clitkWarpImageGenericFilter.cxx)
+ TARGET_LINK_LIBRARIES(clitkWarpImage ITKBasicFilters clitkCommon ITKIO)
+
+ WRAP_GGO(clitkInvertVF_GGO_C clitkInvertVF.ggo)
+ ADD_EXECUTABLE(clitkInvertVF clitkInvertVF.cxx ${clitkInvertVF_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkInvertVF clitkCommon ITKIO )
+
+ ADD_EXECUTABLE(clitkAffineTransform clitkAffineTransform.cxx ${clitkAffineTransform_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkAffineTransform clitkCommon ITKIO )
+
+ WRAP_GGO(clitkSetBackground_GGO_C clitkSetBackground.ggo)
+ ADD_EXECUTABLE(clitkSetBackground clitkSetBackground.cxx clitkSetBackgroundGenericFilter.cxx ${clitkSetBackground_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkSetBackground clitkCommon ITKIO)
+
+ WRAP_GGO(clitkGuerreroVentilation_GGO_C clitkGuerreroVentilation.ggo)
+ ADD_EXECUTABLE(clitkGuerreroVentilation clitkGuerreroVentilation.cxx clitkGuerreroVentilationGenericFilter.cxx ${clitkGuerreroVentilation_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkGuerreroVentilation clitkCommon ITKIO)
+
+ ADD_EXECUTABLE(clitkImageArithm clitkImageArithm.cxx ${clitkImageArithm_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkImageArithm clitkImageArithmImageLib clitkCommon ITKIO )
+
+ WRAP_GGO(clitkUnsharpMask_GGO_C clitkUnsharpMask.ggo)
+ ADD_EXECUTABLE(clitkUnsharpMask clitkUnsharpMask.cxx ${clitkUnsharpMask_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkUnsharpMask clitkCommon ITKIO )
+
+ WRAP_GGO(clitkFooImage_GGO_C clitkFooImage.ggo)
+ ADD_EXECUTABLE(clitkFooImage clitkFooImage.cxx ${clitkFooImage_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkFooImage clitkCommon ITKIO )
+
+ ADD_EXECUTABLE(clitkMedianImageFilter clitkMedianImageFilter.cxx ${clitkMedianImageFilter_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkMedianImageFilter clitkCommon ITKIO ITKBasicFilters )
+
+ WRAP_GGO(clitkResampleImage_GGO_C clitkResampleImage.ggo)
+ ADD_EXECUTABLE(clitkResampleImage clitkResampleImage.cxx clitkResampleImageGenericFilter.cxx ${clitkResampleImage_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkResampleImage clitkCommon ITKIO)
+
+ WRAP_GGO(clitkMinMaxMask_GGO_C clitkMinMaxMask.ggo)
+ ADD_EXECUTABLE(clitkMinMaxMask clitkMinMaxMask.cxx ${clitkMinMaxMask_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkMinMaxMask clitkCommon ITKIO )
+
+ # WRAP_GGO(clitkAutoCrop_GGO_C clitkAutoCrop.ggo)
+ # ADD_EXECUTABLE(clitkAutoCrop clitkAutoCrop.cxx ${clitkAutoCrop_GGO_C})
+ # TARGET_LINK_LIBRARIES(clitkAutoCrop clitkCommon ITKIO )
+
+ WRAP_GGO(clitkDicomRTStruct2BinaryImage_GGO_C clitkDicomRTStruct2BinaryImage.ggo)
+ ADD_EXECUTABLE(clitkDicomRTStruct2BinaryImage clitkDicomRT_ROI_ConvertToImageFilter.cxx clitkDicomRTStruct2BinaryImage.cxx ${clitkDicomRTStruct2BinaryImage_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkDicomRTStruct2BinaryImage ITKCommon clitkDicomRTStruct clitkCommon ITKIO )
+
+ WRAP_GGO(clitkImageLog_GGO_C clitkImageLog.ggo)
+ ADD_EXECUTABLE(clitkImageLog clitkImageLog.cxx ${clitkImageLog_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkImageLog ITKIO clitkCommon)
+
+ WRAP_GGO(clitkFilter_GGO_C clitkFilter.ggo)
+ ADD_EXECUTABLE(clitkFilter clitkFilter.cxx clitkFilterGenericFilter.cxx ${clitkFilter_GGO_C})
+ TARGET_LINK_LIBRARIES(clitkFilter ITKIO clitkCommon)