# ---------------------------------------------------------------------
#
# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
#                        pour la Sant�)
# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
# Previous Authors : Laurent Guigues, Jean-Pierre Roux
# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
#
#  This software is governed by the CeCILL-B license under French law and 
#  abiding by the rules of distribution of free software. You can  use, 
#  modify and/ or redistribute the software under the terms of the CeCILL-B 
#  license as circulated by CEA, CNRS and INRIA at the following URL 
#  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
#  or in the file LICENSE.txt.
#
#  As a counterpart to the access to the source code and  rights to copy,
#  modify and redistribute granted by the license, users are provided only
#  with a limited warranty  and the software's author,  the holder of the
#  economic rights,  and the successive licensors  have only  limited
#  liability. 
#
#  The fact that you are presently reading this means that you have had
#  knowledge of the CeCILL-B license and that you accept its terms.
# ------------------------------------------------------------------------ */                                                                         

#
# Test CMake version
#
CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
#MARK_AS_ADVANCED( FORCE CMAKE_BACKWARDS_COMPATIBILITY )

# for CMake 2.6 corrected behaviour (see "cmake --help-policy CMP0003")
IF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
  CMAKE_POLICY(SET CMP0003 NEW)
  CMAKE_POLICY(SET CMP0005 NEW)
  CMAKE_POLICY(SET CMP0011 NEW)
ENDIF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)

PROJECT(creaMaracasVisu)

#-----------------------------------------------------------------------------
# Configure Dart testing support.  This should be done before any
# MESSAGE(FATAL_ERROR ...) commands are invoked.
IF(INCLUDE_CTEST)
  INCLUDE(CTest)
  ENABLE_TESTING()
ENDIF(INCLUDE_CTEST)
IF(BUILD_TESTING)
  SET(BUILDNAME "${BUILDNAME}" CACHE STRING "Name of build on the dashboard")
  MARK_AS_ADVANCED(BUILDNAME)
ENDIF(BUILD_TESTING)
#-----------------------------------------------------------------------------

SET(PROJECT_MAJOR_VERSION 1)
SET(PROJECT_MINOR_VERSION 2)
SET(PROJECT_BUILD_VERSION 0)

#==================================

# JPR 4 mars 2011
set (CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Module)

#==================================
SET(CREA_VERBOSE_CMAKE TRUE)

FIND_PACKAGE(crea REQUIRED)
IF (crea_FOUND)
  INCLUDE(${crea_USE_FILE})
ENDIF(crea_FOUND)





CREA_PREVENT_IN_SOURCE_BUILD()

#SET(USE_GDCM       ON)
#SET(USE_GDCM_VTK   ON)
SET(USE_WXWIDGETS   ON)
SET(USE_VTK         ON)
SET(USE_BOOST       ON)
SET(USE_OPENMP      ON)

OPTION(QT_USE_QTUITOOLS "QT_USE_QTUITOOLS" OFF)
IF(QT_USE_QTUITOOLS)
	SET(USE_QT4 ON)        
ELSE(QT_USE_QTUITOOLS)
	SET(USE_QT4 OFF)
ENDIF(QT_USE_QTUITOOLS)

OPTION (${PROJECT_NAME}_DOC "${PROJECT_NAME}_DOC" OFF)

CREA_FIND_AND_USE_LIBRARIES()

SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
MARK_AS_ADVANCED(
  CMAKE_BACKWARDS_COMPATIBILITY
  EXECUTABLE_OUTPUT_PATH 
  LIBRARY_OUTPUT_PATH
  )

SET(CREAMARACASVISU_LIB_PATH ${CMAKE_CREA_LIB_PATH} )

INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/data/Icons )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/include )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/kernel )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/Contour )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView )
#DFCH
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo )
#DFCH
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/CutModule/interface )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/CutModule/kernel )
INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/../../../ )

INCLUDE_DIRECTORIES(
                     ${PROJECT_BINARY_DIR}/lib/GUI/Qt/Viewers
                     ${PROJECT_SOURCE_DIR}/lib/GUI/Qt/Viewers
                     ${PROJECT_SOURCE_DIR}/lib/GUI/Qt/VolumeRenderer
                     ${PROJECT_SOURCE_DIR}/lib/GUI/Qt/SurfaceRenderer


                     ${PROJECT_SOURCE_DIR}/lib/GUI/Wx/VolumeRenderer
                     ${PROJECT_SOURCE_DIR}/lib/GUI/Wx/SurfaceRenderer

                     ${PROJECT_SOURCE_DIR}/lib/GUI/Base/VolumeRenderer
                     ${PROJECT_SOURCE_DIR}/lib/GUI/Base/SurfaceRenderer

                     ${PROJECT_SOURCE_DIR}/lib/Kernel/VTKObjects/SurfaceRenderer
                     ${PROJECT_SOURCE_DIR}/lib/Kernel/VTKObjects/ViewerWidgets
                     ${PROJECT_SOURCE_DIR}/lib/Kernel/VTKObjects/VolumeRenderer
                    )


#JCP Ubuntu this file not found glibconfig.h, config of wxgtk goes wrong somewhere
INCLUDE_DIRECTORIES(/usr/lib/x86_64-linux-gnu/gtk-2.0/include/)
LINK_DIRECTORIES(/usr/lib/x86_64-linux-gnu/)
#JCP Ubuntu this file not found glibconfig.h, config of wxgtk goes wrong somewhere

ADD_SUBDIRECTORY(install)
ADD_SUBDIRECTORY(lib)
ADD_SUBDIRECTORY(bbtk)
ADD_SUBDIRECTORY(appli)

SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/data)
FILE(GLOB CONFIGURE_DATA_FILES *.*)
IF(WIN32)
	SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/Debug/data)
	CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
	SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/Release/data)
	CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
	SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/RelWithDebInfo/data)
	CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
ELSE(WIN32)
	SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/data)
	CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
ENDIF(WIN32)


