]> Creatis software - creaVtk.git/blob - CMakeLists.txt
#3316 VoiMPR box
[creaVtk.git] / CMakeLists.txt
1
2 # ---------------------------------------------------------------------
3 #
4 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
5 #                        pour la Sant�)
6 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
8 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
9 #
10 #  This software is governed by the CeCILL-B license under French law and 
11 #  abiding by the rules of distribution of free software. You can  use, 
12 #  modify and/ or redistribute the software under the terms of the CeCILL-B 
13 #  license as circulated by CEA, CNRS and INRIA at the following URL 
14 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
15 #  or in the file LICENSE.txt.
16 #
17 #  As a counterpart to the access to the source code and  rights to copy,
18 #  modify and redistribute granted by the license, users are provided only
19 #  with a limited warranty  and the software's author,  the holder of the
20 #  economic rights,  and the successive licensors  have only  limited
21 #  liability. 
22 #
23 #  The fact that you are presently reading this means that you have had
24 #  knowledge of the CeCILL-B license and that you accept its terms.
25 # ------------------------------------------------------------------------  
26
27 # ---------------------------------
28 #
29 # Unless you are an experimented cmake user,
30 # have a look at :
31 # http://www.creatis.insa-lyon.fr/site/fr/CreatoosGettingStarted-v2.0.X
32 # before starting.
33 #
34 # Generated with creaNewProject, version of : 18/03/2010
35 # ---------------------------------
36
37 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
38
39 #MARK_AS_ADVANCED( FORCE CMAKE_BACKWARDS_COMPATIBILITY )
40
41 # for CMake 2.6 corrected behaviour (see "cmake --help-policy CMP0003")
42 IF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
43   CMAKE_POLICY(SET CMP0003 NEW)
44   CMAKE_POLICY(SET CMP0005 NEW)
45   CMAKE_POLICY(SET CMP0011 NEW)
46 ENDIF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
47
48
49 ###################################
50 PROJECT( creaVtk )
51 ###################################
52
53 #==================================
54 # The project version
55 SET(PROJECT_MAJOR_VERSION 1)
56 SET(PROJECT_MINOR_VERSION 0)
57 SET(PROJECT_BUILD_VERSION 0)
58
59 SET(PROJECT_VERSION "${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_BUILD_VERSION}")
60 SET(PROJECT_VERSION_DATE "11/02/2010")
61 #ADD_DEFINITIONS( -DPROJECT_VERSION=${PROJECT_VERSION} )
62 #ADD_DEFINITIONS( -DPROJECT_VERSION_DATE=${PROJECT_VERSION_DATE} )
63
64
65
66 # JPR 4 mars 2011
67 set (CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Module)
68
69 #==================================
70 SET(CREA_VERBOSE_CMAKE TRUE)
71 #==================================
72 # Find crea (mandatory, to use macros)
73 FIND_PACKAGE(crea REQUIRED)
74 IF (crea_FOUND)
75   INCLUDE(${crea_USE_FILE})
76 ENDIF(crea_FOUND)
77 #==================================
78
79
80 #FIND_PACKAGE(OpenMP)
81 #IF(OPENMP_FOUND)
82 #    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
83 #    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
84 #    message(EED  oooopppppeeeeennnnmmmmmppppp ${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS} )
85 #ENDIF()
86 #message(EED  oooopppppeeeeennnnmmmmmppppp ${OpenMP_FOUND} )
87
88
89 ### Find OpenMP
90 if(APPLE )
91     if(CMAKE_C_COMPILER_ID MATCHES "Clang")
92         set(OpenMP_C "${CMAKE_C_COMPILER}")
93         set(OpenMP_C_FLAGS "-Xclang -fopenmp=libomp -Wno-unused-command-line-argument")
94         set(OpenMP_C_LIB_NAMES "libomp" "libgomp" "libiomp5")
95         set(OpenMP_libomp_LIBRARY ${OpenMP_C_LIB_NAMES})
96         set(OpenMP_libgomp_LIBRARY ${OpenMP_C_LIB_NAMES})
97         set(OpenMP_libiomp5_LIBRARY ${OpenMP_C_LIB_NAMES})
98     endif()
99     if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
100       set(OpenMP_CXX "${CMAKE_CXX_COMPILER}")
101 #      set(OpenMP_CXX_FLAGS "-fopenmp=libomp -Wno-unused-command-line-argument")
102       set(OpenMP_CXX_FLAGS "-Xclang -fopenmp -Wno-unused-command-line-argument")
103       set(OpenMP_CXX_LIB_NAMES "libomp" "libgomp" "libiomp5")
104       set(OpenMP_libomp_LIBRARY ${OpenMP_CXX_LIB_NAMES})
105       
106 #EED 2022/05/15
107       set(OpenMP_libomp_LIBRARY_crea libomp.dylib )
108       
109       set(OpenMP_libgomp_LIBRARY ${OpenMP_CXX_LIB_NAMES})
110       set(OpenMP_libiomp5_LIBRARY ${OpenMP_CXX_LIB_NAMES})
111     endif()
112 endif()
113   find_package(OpenMP REQUIRED)
114 if (OPENMP_FOUND)
115 #    include_directories("${OPENMP_INCLUDES}")
116     link_directories("${OPENMP_LIBRARIES}")
117     set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
118     set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
119     # set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
120 endif(OPENMP_FOUND)
121
122 message(EED  oooopppppeeeeennnnmmmmmppppp2222A ${OPENMP_FOUND} )
123 message(EED  oooopppppeeeeennnnmmmmmppppp2222B ${OPENMP_INCLUDES} )
124 message(EED  oooopppppeeeeennnnmmmmmppppp2222C ${OpenMP_libomp_LIBRARY} )
125 message(EED  oooopppppeeeeennnnmmmmmppppp2222D ${OpenMP_CXX_FLAGS} )
126 message(EED  oooopppppeeeeennnnmmmmmppppp2222E ${OpenMP_CXX_LIBRARIES} )
127
128
129
130
131
132
133
134 # USER! : Add here as many 'FIND_PACKAGE' blocks as *your* aplication requires
135 # -----
136
137 # WARNING : we are talking here about 'bbtk packages', not about libraries!
138 # if your project just requires the GDCM library, and not bbtk/packages/gdcm, 
139 # do not add FIND_PACKAGE(gdcm REQUIRED).
140 # Just set USE_GDCM to ON, after " Libraries/tools used
141
142
143 #==================================
144 # Do not allow to build inside the source tree
145 CREA_PREVENT_IN_SOURCE_BUILD()
146 #==================================
147
148 #==================================
149 # Libraries/tools used
150
151 # USER! : Note : Set USE_CREA to ON
152 # -----
153
154 #  if you need to LINK against crea
155 #  (and not only use its macros)
156 SET(USE_CREA      OFF)
157
158 SET(USE_GDCM      OFF)
159 SET(USE_GDCM_VTK  OFF)
160 SET(USE_GDCM2     OFF)
161 SET(USE_WXWIDGETS OFF)
162 SET(USE_KWWIDGETS OFF)
163 SET(USE_VTK       ON)
164 SET(USE_ITK       OFF)
165 SET(USE_BOOST     OFF)
166
167 #==================================
168
169 #==================================
170
171 #FIND_PACKAGE(xxx REQUIRED)
172 #IF (xxx_FOUND)
173 #  INCLUDE(${xxx_USE_FILE})
174 #ENDIF(xxx_FOUND)
175
176 #==================================
177
178 #==================================
179 # USER! : Note : Set USE_DOXYGEN to ON
180 #  if you think you will ask, some day,
181 #  for Doxygen generation
182 #EED SET(USE_DOXYGEN   OFF)
183
184 # Note : Set USE_LATEX to ON, USE_TTH to ON
185 #  if you think you will ask, some day,
186 #  for doc generation using your own latex documents
187 #EED SET(USE_LATEX     OFF)
188 #EED SET(USE_TTH       OFF)
189
190 CREA_FIND_AND_USE_LIBRARIES()
191 #==================================
192
193 #==================================
194 # Where to put executables and libs
195 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
196 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
197 MARK_AS_ADVANCED(
198   CMAKE_BACKWARDS_COMPATIBILITY
199   EXECUTABLE_OUTPUT_PATH
200   LIBRARY_OUTPUT_PATH
201   )
202 #==================================
203
204 IF(WIN32)
205   INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/win32)
206   LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/win32)
207 ENDIF(WIN32)
208
209 #================================== 
210
211 #==================================
212
213   SET(LIBNAME $(creaVtk))
214   
215   INCLUDE_DIRECTORIES(
216     ${PROJECT_BINARY_DIR}
217   )
218   
219  # USER! : Add here the directories holding the .h you need 
220  
221  # INCLUDE_DIRECTORIES(appli/_YOUR_OWN_APPLI_SOURCE_DIRECTORY_)  
222  # INCLUDE_DIRECTORIES(lib/_YOUR_OWN_LIBRARY_SOURCE_DIRECTORY_)  
223
224 #==================================
225
226
227 #----------------------------------------------------------------------------
228 INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UserRootCMakeLists.cmake)
229
230 #==================================
231 # Where to generate documentation
232
233 SET(BBTK_DOC_BUILD_PATH 
234      ${PROJECT_BINARY_DIR}/doc
235    )
236 #==================================
237 # USER! : Hands off!
238 # ----
239
240 # ADD SUB DIRECTORIES
241 # ----------------
242 ADD_SUBDIRECTORY(lib)
243 ADD_SUBDIRECTORY(appli)
244 ADD_SUBDIRECTORY(doc)
245 ADD_SUBDIRECTORY(data)
246 ADD_SUBDIRECTORY(install)
247 #==================================
248
249 #-----------------------------------
250 # This one is just a sample.
251 # USER : you may comment out this line
252 # ----
253
254 #ADD_SUBDIRECTORY(bbtk_mySamplePackage_PKG)
255
256 #==================================
257 # This one is the default empty package,
258 # created with the same name than the Project.
259 # USER : you may use it
260 # ----
261 ADD_SUBDIRECTORY(bbtk_creaVtk_PKG)
262 #ADD_SUBDIRECTORY(bbtk_creaVtkHeartAngles_PKG)
263
264
265