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