##################################################
###               INCIA PROTHESE               ###
##################################################

CMAKE_MINIMUM_REQUIRED( VERSION 3.2 )

SET ( CMAKE_C_COMPILER /usr/bin/gcc-4.9 )
SET ( CMAKE_CXX_COMPILER /usr/bin/g++-4.9 )
SET ( CMAKE_MACOSX_RPATH 1 )
SET ( CMAKE_OSX_SYSROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/ )

PROJECT( Matching )

##################################################
###               PROJECT VERSION              ###
##################################################

SET( ${PROJECT_NAME}_VERSION_MAJOR 0 )
SET( ${PROJECT_NAME}_VERSION_MINOR 1 )

##################################################
###             COLORS FOR PRINTING            ###
##################################################

IF( NOT WIN32 )
	STRING(ASCII 27 Esc)
	SET( ColourReset "${Esc}[m"		)
	SET( ColourBold  "${Esc}[1m"	)
	SET( Red         "${Esc}[31m"	)
	SET( Green       "${Esc}[32m"	)
	SET( Yellow      "${Esc}[33m"	)
	SET( Blue        "${Esc}[34m"	)
	SET( Magenta     "${Esc}[35m"	)
	SET( Cyan        "${Esc}[36m"	)
	SET( White       "${Esc}[37m"	)
	SET( BoldRed     "${Esc}[1;31m"	)
	SET( BoldGreen   "${Esc}[1;32m"	)
	SET( BoldYellow  "${Esc}[1;33m"	)
	SET( BoldBlue    "${Esc}[1;34m"	)
	SET( BoldMagenta "${Esc}[1;35m"	)
	SET( BoldCyan    "${Esc}[1;36m"	)
	SET( BoldWhite   "${Esc}[1;37m"	)
ENDIF()

##################################################
###                 DIRECTORIES                ###
##################################################


SET( ROOT_DIR ${CMAKE_CURRENT_LIST_DIR} )

# SOURCES DIRECTORIES
SET( SOURCES_DIR			${ROOT_DIR}				)
SET( SOURCES_LIBRARIES_DIR	${ROOT_DIR}/Libraries	)

# BUILD DIRECTORIES
SET( BUILD_DIR   			${ROOT_DIR}/../Build	)
SET( BUILD_BINARIES_DIR		${BUILD_DIR}/Binaries	)
SET( BUILD_INCLUDES_DIR		${BUILD_DIR}/Includes	)
SET( BUILD_LIBRARIES_DIR	${BUILD_DIR}/Libraries	)

FILE( MAKE_DIRECTORY ${BUILD_DIR}			)
FILE( MAKE_DIRECTORY ${BUILD_BINARIES_DIR}	)
FILE( MAKE_DIRECTORY ${BUILD_INCLUDES_DIR}	)
FILE( MAKE_DIRECTORY ${BUILD_LIBRARIES_DIR}	)

##################################################
###                 DEFINITIONS                ###
##################################################

ADD_DEFINITIONS( -std=c++11 -pthread -O3 )

##################################################
###                  LIBRARIES                 ###
##################################################

FIND_PACKAGE( OpenCV		REQUIRED )
FIND_PACKAGE( Qt5Core		REQUIRED )
FIND_PACKAGE( Qt5Widgets	REQUIRED )
find_package( Qt5Gui		REQUIRED )

LINK_DIRECTORIES (
  #OPENCV_PERSO
  /net/cremi/$USER/espaces/travail/logiciels/lib
	# System folders:
	/usr/lib
	/usr/local/lib
	# Build by this project:
	${BUILD_LIBRARIES_DIR}
)

SET (
	LIBRARIES_LIST
	# Regular libraries
	Qt5::Core
	Qt5::Widgets
  #OPENCV_PERSO
  opencv_videostab
  opencv_video
  opencv_superres
  opencv_stitching
  opencv_photo
  opencv_ocl
  opencv_objdetect
  opencv_ml
  opencv_legacy
  opencv_imgproc
  opencv_highgui
  opencv_gpu
  opencv_flann
  opencv_features2d
  opencv_core
  opencv_contrib
  opencv_calib3d
	# Subdirectories then apped to this global list
)

SET ( CMAKE_INCLUDE_CURRENT_DIR ON )
SET ( CMAKE_AUTOMOC ON )
SET ( CMAKE_AUTOUIC ON )
#OPENCV_PERSO
SET ( OpenCV_INCLUDE_DIRS /net/cremi/$USER/espaces/travail/logiciels/include/ )


##################################################
###                   INCLUDES                 ###
##################################################

INCLUDE_DIRECTORIES (
	# Build by this project:
	${BUILD_INCLUDES_DIR}
	# OpenCV
  ${OpenCV_INCLUDE_DIRS}
	# Qt 5
	${Qt5Core_INCLUDE_DIRS}
	${Qt5Widgets_INCLUDE_DIRS}
)

##################################################
###           BUILD EXTERNAL LIBRARIES         ###
##################################################

ADD_SUBDIRECTORY( ${SOURCES_LIBRARIES_DIR}/rapidjson )
ADD_SUBDIRECTORY( ${SOURCES_LIBRARIES_DIR}/spline	 )

##################################################
###           BUILD INTERNAL LIBRARIES         ###
##################################################

ADD_SUBDIRECTORY( ${SOURCES_DIR}/TobiiSDK )

##################################################
###                BUILD BINARIES             ###
##################################################

ADD_SUBDIRECTORY( ${SOURCES_DIR}/Binaries )

##################################################
