X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=CMakeLists.txt;h=495552071464c15e6e4ac3154c7052d84a533102;hb=HEAD;hp=74ed9a9633c956e9ea7a483b341e02c175ffc548;hpb=8599b5118863e4e48d8d086222daae1cb52a5bb0;p=creaBruker.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 74ed9a9..4955520 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) +# +# ----------------- manual setting GDCM/GDCM2 JPR +# +OPTION(USE_GDCM "Use GDCM" ON) SET(USE_GDCM_VTK ON) -SET(USE_GDCM2 OFF) -SET(USE_WXWIDGETS OFF) +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) #==================================