]> Creatis software - creaBruker.git/blobdiff - CMakeLists.txt
Added CMake configuration to enable CDash tests.
[creaBruker.git] / CMakeLists.txt
index 5e463bc264354de526d2e8dd24d12582e52432dd..495552071464c15e6e4ac3154c7052d84a533102 100644 (file)
@@ -1,18 +1,85 @@
+# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------
+
+# ---------------------------------
+#
+# Unless you are an experimented cmake user,
+# have a look at :
+# http://www.creatis.insa-lyon.fr/site/fr/CreatoosGettingStarted-v2.0.X
+# before starting.
+#
+# ---------------------------------
+
+# Test CMake version
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 
+#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(creaBruker)
 ###################################
 
+#-----------------------------------------------------------------------------
+# 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)
+#-----------------------------------------------------------------------------
+
 #==================================
 # The project version
 SET(PROJECT_MAJOR_VERSION 1)
-SET(PROJECT_MINOR_VERSION 0)
+SET(PROJECT_MINOR_VERSION 1)
 SET(PROJECT_BUILD_VERSION 0)
+
+SET(PROJECT_VERSION "${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_BUILD_VERSION}")
+
+#ADD_DEFINITIONS( -DPROJECT_VERSION=${PROJECT_VERSION} )
+#ADD_DEFINITIONS( -DPROJECT_VERSION_DATE=${PROJECT_VERSION_DATE} )
+
 #==================================
 
+# JPR 4 mars 2011
+set (CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Module)
+
 #==================================
-# Find crea (mandatory to use macros)
+# Find crea (mandatory, to use macros)
 SET(CREA_VERBOSE_CMAKE TRUE)
 FIND_PACKAGE(crea REQUIRED)
 IF (crea_FOUND)
@@ -25,27 +92,46 @@ ENDIF(crea_FOUND)
 CREA_PREVENT_IN_SOURCE_BUILD()
 #==================================
 
+# For boost 1.46 troubles...  // JPR.
+add_definitions(-DBOOST_FILESYSTEM_VERSION=2)
+
 #==================================
 # Libraries/tools used
+
 # Note : Set USE_CREA to ON
 #  if you need to LINK against crea
 #  (and not only use its macros)
 SET(USE_CREA      ON)
-SET(USE_GDCM      ON)
-SET(USE_GDCM_VTK  OFF)
-SET(USE_GDCM2     OFF)
-SET(USE_WXWIDGETS OFF)
+#
+# ----------------- manual setting GDCM/GDCM2 JPR
+#
+OPTION(USE_GDCM   "Use GDCM"   ON)
+SET(USE_GDCM_VTK  ON)
+OPTION(USE_GDCM2  "Use gdcm 2.0.14 at least"   OFF)
+
+# No interface for the moment, don't allow to add useless libraries
+SET(USE_WXWIDGETS OFF CACHE BOOL "Use wxWidgets" FORCE)
 SET(USE_KWWIDGETS OFF)
 SET(USE_VTK       OFF)
 SET(USE_ITK       OFF)
 SET(USE_BOOST     ON)
+
+# Note : Set USE_DOXYGEN to ON
+#  if you think you will ask, some day,
+#  for Doxygen generation
 SET(USE_DOXYGEN   ON)
+
+# Note : Set USE_LATEX to ON, USE_TTH to ON
+#  if you think you will ask, some day,
+#  for doc generation using your own latex documents
 SET(USE_LATEX     OFF)
 SET(USE_TTH       OFF)
 
 CREA_FIND_AND_USE_LIBRARIES()
 #==================================
 
+
+
 #==================================
 # Where to put executables and libs
 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
@@ -55,16 +141,37 @@ MARK_AS_ADVANCED(
   EXECUTABLE_OUTPUT_PATH
   LIBRARY_OUTPUT_PATH
   )
+
 #==================================
 
   SET(LIBNAME $(PROJECT_NAME))
   INCLUDE_DIRECTORIES(
     ${PROJECT_BINARY_DIR}
+
+ # // if the previous one is not enough :  (JPRx)
+ #   Add here the directories holding the .h you need
+
+ #   ${PROJECT_SOURCE_DIR}/lib/_YOUR_OWN_LIBRARY_SOURCE_DIRECTORY_
     ${PROJECT_SOURCE_DIR}/lib/src1
     )
 #==================================
+
+
+#----------------------------------------------------------------------------
+INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UserRootCMakeLists.cmake)
+
+#==================================
+# Where to generate documentation
+# (desperate try; JPR)
+
+SET(BBTK_DOC_BUILD_PATH 
+     ${PROJECT_BINARY_DIR}/doc
+   )
+#==================================
 # Subdirs
-SUBDIRS(lib)
-SUBDIRS(appli)
 
+ADD_SUBDIRECTORY(lib)
+ADD_SUBDIRECTORY(appli)
+ADD_SUBDIRECTORY(doc)
+ADD_SUBDIRECTORY(install)
 #==================================