]> Creatis software - creaBruker.git/blob - CMakeLists.txt
Replace deprecated SUBDIRS by ADD_SUBDIRECTORY
[creaBruker.git] / CMakeLists.txt
1 # ---------------------------------
2 #
3 # Unless you are an experimented cmake user,
4 # have a look at :
5 # http://www.creatis.insa-lyon.fr/site/fr/CreatoosGettingStarted-v2.0.X
6 # before starting.
7 #
8 # ---------------------------------
9
10 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
11
12 #MARK_AS_ADVANCED( FORCE CMAKE_BACKWARDS_COMPATIBILITY )
13
14 # for CMake 2.6 corrected behaviour (see "cmake --help-policy CMP0003")
15 IF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
16   CMAKE_POLICY(SET CMP0003 NEW)
17   CMAKE_POLICY(SET CMP0005 NEW)  
18   CMAKE_POLICY(SET CMP0011 NEW)
19 ENDIF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
20
21
22 ###################################
23 PROJECT(creaBruker)
24 ###################################
25
26 #==================================
27 # The project version
28 SET(PROJECT_MAJOR_VERSION 1)
29 SET(PROJECT_MINOR_VERSION 0)
30 SET(PROJECT_BUILD_VERSION 1)
31
32 SET(PROJECT_VERSION "${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_BUILD_VERSION}")
33
34 #ADD_DEFINITIONS( -DPROJECT_VERSION=${PROJECT_VERSION} )
35 #ADD_DEFINITIONS( -DPROJECT_VERSION_DATE=${PROJECT_VERSION_DATE} )
36
37 #==================================
38
39 #==================================
40 # Find crea (mandatory, to use macros)
41 SET(CREA_VERBOSE_CMAKE TRUE)
42 FIND_PACKAGE(crea REQUIRED)
43 IF (crea_FOUND)
44   INCLUDE(${crea_USE_FILE})
45 ENDIF(crea_FOUND)
46 #==================================
47
48 #==================================
49 # Do not allow to build inside the source tree
50 CREA_PREVENT_IN_SOURCE_BUILD()
51 #==================================
52
53 #==================================
54 # Libraries/tools used
55
56 # Note : Set USE_CREA to ON
57 #  if you need to LINK against crea
58 #  (and not only use its macros)
59 SET(USE_CREA      ON)
60 #
61 # ----------------- manual setting GDCM/GDCM2 JPR
62 #
63 OPTION(USE_GDCM   "Use GDCM"   OFF)
64 SET(USE_GDCM_VTK  ON)
65 OPTION(USE_GDCM2  "Use gdcm 2.0.14 at least"   ON)
66 # No interface for the moment, don't allow to add useless libraries
67 SET(USE_WXWIDGETS OFF CACHE BOOL "Use wxWidgets" FORCE)
68 SET(USE_KWWIDGETS OFF)
69 SET(USE_VTK       OFF)
70 SET(USE_ITK       OFF)
71 SET(USE_BOOST     ON)
72
73 # Note : Set USE_DOXYGEN to ON
74 #  if you think you will ask, some day,
75 #  for Doxygen generation
76 SET(USE_DOXYGEN   ON)
77
78 # Note : Set USE_LATEX to ON, USE_TTH to ON
79 #  if you think you will ask, some day,
80 #  for doc generation using your own latex documents
81 SET(USE_LATEX     OFF)
82 SET(USE_TTH       OFF)
83
84 CREA_FIND_AND_USE_LIBRARIES()
85 #==================================
86
87
88
89 #==================================
90 # Where to put executables and libs
91 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
92 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
93 MARK_AS_ADVANCED(
94   CMAKE_BACKWARDS_COMPATIBILITY
95   EXECUTABLE_OUTPUT_PATH
96   LIBRARY_OUTPUT_PATH
97   )
98
99 #==================================
100
101   SET(LIBNAME $(PROJECT_NAME))
102   INCLUDE_DIRECTORIES(
103     ${PROJECT_BINARY_DIR}
104
105  # // if the previous one is not enough :  (JPRx)
106  #   Add here the directories holding the .h you need
107
108  #   ${PROJECT_SOURCE_DIR}/lib/_YOUR_OWN_LIBRARY_SOURCE_DIRECTORY_
109     ${PROJECT_SOURCE_DIR}/lib/src1
110     )
111 #==================================
112
113
114 #----------------------------------------------------------------------------
115 INCLUDE(${PROJECT_SOURCE_DIR}/cmake/UserRootCMakeLists.cmake)
116
117 #==================================
118 # Where to generate documentation
119 # (desperate try; JPR)
120
121 SET(BBTK_DOC_BUILD_PATH 
122      ${PROJECT_BINARY_DIR}/doc
123    )
124 #==================================
125
126 # Subdirs
127 ADD_SUBDIRECTORY(lib)
128 ADD_SUBDIRECTORY(appli)
129 ADD_SUBDIRECTORY(doc)
130 ADD_SUBDIRECTORY(install)
131
132 #==================================