]> Creatis software - creaBruker.git/blob - CMakeLists.txt
Added CMake configuration to enable CDash tests.
[creaBruker.git] / CMakeLists.txt
1 # ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
4 #                        pour la Santé)
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8 #
9 #  This software is governed by the CeCILL-B license under French law and 
10 #  abiding by the rules of distribution of free software. You can  use, 
11 #  modify and/ or redistribute the software under the terms of the CeCILL-B 
12 #  license as circulated by CEA, CNRS and INRIA at the following URL 
13 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
14 #  or in the file LICENSE.txt.
15 #
16 #  As a counterpart to the access to the source code and  rights to copy,
17 #  modify and redistribute granted by the license, users are provided only
18 #  with a limited warranty  and the software's author,  the holder of the
19 #  economic rights,  and the successive licensors  have only  limited
20 #  liability. 
21 #
22 #  The fact that you are presently reading this means that you have had
23 #  knowledge of the CeCILL-B license and that you accept its terms.
24 # ------------------------------------------------------------------------
25
26 # ---------------------------------
27 #
28 # Unless you are an experimented cmake user,
29 # have a look at :
30 # http://www.creatis.insa-lyon.fr/site/fr/CreatoosGettingStarted-v2.0.X
31 # before starting.
32 #
33 # ---------------------------------
34
35 # Test CMake version
36 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
37
38 #MARK_AS_ADVANCED( FORCE CMAKE_BACKWARDS_COMPATIBILITY )
39
40 # for CMake 2.6 corrected behaviour (see "cmake --help-policy CMP0003")
41 IF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
42   CMAKE_POLICY(SET CMP0003 NEW)
43   CMAKE_POLICY(SET CMP0005 NEW)  
44   CMAKE_POLICY(SET CMP0011 NEW)
45 ENDIF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
46
47
48 ###################################
49 PROJECT(creaBruker)
50 ###################################
51
52 #-----------------------------------------------------------------------------
53 # Configure Dart testing support.  This should be done before any
54 # MESSAGE(FATAL_ERROR ...) commands are invoked.
55 IF(INCLUDE_CTEST)
56   INCLUDE(CTest)
57   ENABLE_TESTING()
58 ENDIF(INCLUDE_CTEST)
59 IF(BUILD_TESTING)
60   SET(BUILDNAME "${BUILDNAME}" CACHE STRING "Name of build on the dashboard")
61   MARK_AS_ADVANCED(BUILDNAME)
62 ENDIF(BUILD_TESTING)
63 #-----------------------------------------------------------------------------
64
65 #==================================
66 # The project version
67 SET(PROJECT_MAJOR_VERSION 1)
68 SET(PROJECT_MINOR_VERSION 1)
69 SET(PROJECT_BUILD_VERSION 0)
70
71 SET(PROJECT_VERSION "${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_BUILD_VERSION}")
72
73 #ADD_DEFINITIONS( -DPROJECT_VERSION=${PROJECT_VERSION} )
74 #ADD_DEFINITIONS( -DPROJECT_VERSION_DATE=${PROJECT_VERSION_DATE} )
75
76 #==================================
77
78 # JPR 4 mars 2011
79 set (CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Module)
80
81 #==================================
82 # Find crea (mandatory, to use macros)
83 SET(CREA_VERBOSE_CMAKE TRUE)
84 FIND_PACKAGE(crea REQUIRED)
85 IF (crea_FOUND)
86   INCLUDE(${crea_USE_FILE})
87 ENDIF(crea_FOUND)
88 #==================================
89
90 #==================================
91 # Do not allow to build inside the source tree
92 CREA_PREVENT_IN_SOURCE_BUILD()
93 #==================================
94
95 # For boost 1.46 troubles...  // JPR.
96 add_definitions(-DBOOST_FILESYSTEM_VERSION=2)
97
98 #==================================
99 # Libraries/tools used
100
101 # Note : Set USE_CREA to ON
102 #  if you need to LINK against crea
103 #  (and not only use its macros)
104 SET(USE_CREA      ON)
105 #
106 # ----------------- manual setting GDCM/GDCM2 JPR
107 #
108 OPTION(USE_GDCM   "Use GDCM"   ON)
109 SET(USE_GDCM_VTK  ON)
110 OPTION(USE_GDCM2  "Use gdcm 2.0.14 at least"   OFF)
111
112 # No interface for the moment, don't allow to add useless libraries
113 SET(USE_WXWIDGETS OFF CACHE BOOL "Use wxWidgets" FORCE)
114 SET(USE_KWWIDGETS OFF)
115 SET(USE_VTK       OFF)
116 SET(USE_ITK       OFF)
117 SET(USE_BOOST     ON)
118
119 # Note : Set USE_DOXYGEN to ON
120 #  if you think you will ask, some day,
121 #  for Doxygen generation
122 SET(USE_DOXYGEN   ON)
123
124 # Note : Set USE_LATEX to ON, USE_TTH to ON
125 #  if you think you will ask, some day,
126 #  for doc generation using your own latex documents
127 SET(USE_LATEX     OFF)
128 SET(USE_TTH       OFF)
129
130 CREA_FIND_AND_USE_LIBRARIES()
131 #==================================
132
133
134
135 #==================================
136 # Where to put executables and libs
137 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
138 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
139 MARK_AS_ADVANCED(
140   CMAKE_BACKWARDS_COMPATIBILITY
141   EXECUTABLE_OUTPUT_PATH
142   LIBRARY_OUTPUT_PATH
143   )
144
145 #==================================
146
147   SET(LIBNAME $(PROJECT_NAME))
148   INCLUDE_DIRECTORIES(
149     ${PROJECT_BINARY_DIR}
150
151  # // if the previous one is not enough :  (JPRx)
152  #   Add here the directories holding the .h you need
153
154  #   ${PROJECT_SOURCE_DIR}/lib/_YOUR_OWN_LIBRARY_SOURCE_DIRECTORY_
155     ${PROJECT_SOURCE_DIR}/lib/src1
156     )
157 #==================================
158
159
160 #----------------------------------------------------------------------------
161 INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UserRootCMakeLists.cmake)
162
163 #==================================
164 # Where to generate documentation
165 # (desperate try; JPR)
166
167 SET(BBTK_DOC_BUILD_PATH 
168      ${PROJECT_BINARY_DIR}/doc
169    )
170 #==================================
171 # Subdirs
172
173 ADD_SUBDIRECTORY(lib)
174 ADD_SUBDIRECTORY(appli)
175 ADD_SUBDIRECTORY(doc)
176 ADD_SUBDIRECTORY(install)
177 #==================================