CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

SET( PROJECT_NAME Feature_panel )

set(CMAKE_INCLUDE_CURRENT_DIR ON)

# Set project name 
PROJECT( ${PROJECT_NAME} )
SET(PROJECT_VERSION "0.0.1")
 
#Find libraries
FIND_PACKAGE( ITK REQUIRED )
INCLUDE( ${ITK_USE_FILE} )
FIND_PACKAGE(VTK REQUIRED)
INCLUDE(${VTK_USE_FILE})
FIND_PACKAGE(OpenCV 3.0 REQUIRED )
include_directories(${OpenCV_INCLUDE_DIRS})
FIND_PACKAGE(Qt4 REQUIRED)
INCLUDE(UseQt4)

# ITKVtkGlue is for visualization only; this part is required if you have build ITK with VTK support
# If you have build ITK without VTK support, please delete the following IF{} loop 

#  FIND_PACKAGE(ItkVtkGlue REQUIRED)
#  INCLUDE(${ItkVtkGlue_USE_FILE})
#  SET(Glue ItkVtkGlue)


INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src/ )
SET( MainSources 
  


  ${CMAKE_CURRENT_SOURCE_DIR}/src/cbicaLogging.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/cbicaLogging.cpp
  ${CMAKE_CURRENT_SOURCE_DIR}/src/cbicaUtilities.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/cbicaUtilities.cpp
  ${CMAKE_CURRENT_SOURCE_DIR}/src/cbicaCmdParser.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/cbicaCmdParser.cpp 
  ${CMAKE_CURRENT_SOURCE_DIR}/src/cbicaITKImageInfo.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/cbicaITKImageInfo.cpp
  ${CMAKE_CURRENT_SOURCE_DIR}/src/cbicaITKSafeImageIO.h
${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedHistogramToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedHistogramToNeighbourhoodGreyLevelDifferenceFeaturesFilter.hxx
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedHistogramToRunLengthFeaturesFilter.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedHistogramToRunLengthFeaturesFilter.hxx
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedHistogramToRunLengthFeaturesFilter.hxx
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedHistogramToSizeZoneFeaturesFilter.hxx
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedHistogramToTextureFeaturesFilter.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedHistogramToTextureFeaturesFilter.hxx
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.hxx
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceMatrixFilter.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceMatrixFilter.hxx
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceMatrixFilter.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceMatrixFilter.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToRunLengthMatrixFilter.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToRunLengthMatrixFilter.hxx
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToSizeZoneFeaturesFilter.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToSizeZoneFeaturesFilter.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToSizeZoneFeaturesFilter.hxx
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToSizeZoneMatrixFilter.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToSizeZoneMatrixFilter.hxx
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToTextureFeaturesFilter.h
  ${CMAKE_CURRENT_SOURCE_DIR}/src/itkEnhancedScalarImageToTextureFeaturesFilter.hxx
  ${CMAKE_CURRENT_SOURCE_DIR}/src/TextureFeatures.cpp
  ${CMAKE_CURRENT_SOURCE_DIR}/src/TextureFeatures.h
)
 



# Add sources to executable
ADD_EXECUTABLE(
  ${PROJECT_NAME} 
  ${MainSources}
  ${CMAKE_CURRENT_SOURCE_DIR}/src/FeaturePanelUsage.cxx
)
#ADD_EXECUTABLE( ImageSlice ${CMAKE_CURRENT_SOURCE_DIR}/src/ImageReadExtractWrite.cxx )

#LINK_DIRECTORIES(${QT_LIBRARY_DIR})

# Link the libraries to be used
IF( ITKVtkGlue_LOADED )
  TARGET_LINK_LIBRARIES(
    ${PROJECT_NAME}
    ${ITK_LIBRARIES}
  	${Glue}  
    ${VTK_LIBRARIES} 
    ${OpenCV_LIBS}
      )
ELSE()
  TARGET_LINK_LIBRARIES(
    ${PROJECT_NAME}
    ${ITK_LIBRARIES}
    ${VTK_LIBRARIES}  
    ${OpenCV_LIBS}
  )
ENDIF()
