]> Creatis software - creaMaracasVisu.git/blob - CMakeLists.txt
Feature #1784
[creaMaracasVisu.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 # Test CMake version
28 #
29 CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
30 #MARK_AS_ADVANCED( FORCE CMAKE_BACKWARDS_COMPATIBILITY )
31
32 # for CMake 2.6 corrected behaviour (see "cmake --help-policy CMP0003")
33 IF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
34   CMAKE_POLICY(SET CMP0003 NEW)
35   CMAKE_POLICY(SET CMP0005 NEW)
36   CMAKE_POLICY(SET CMP0011 NEW)
37 ENDIF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
38
39 PROJECT(creaMaracasVisu)
40
41 SET(PROJECT_MAJOR_VERSION 1)
42 SET(PROJECT_MINOR_VERSION 1)
43 SET(PROJECT_BUILD_VERSION 0)
44
45 #==================================
46
47 # JPR 4 mars 2011
48 set (CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Module)
49
50 #==================================
51 SET(CREA_VERBOSE_CMAKE TRUE)
52
53 FIND_PACKAGE(crea REQUIRED)
54 IF (crea_FOUND)
55   INCLUDE(${crea_USE_FILE})
56 ENDIF(crea_FOUND)
57
58
59 CREA_PREVENT_IN_SOURCE_BUILD()
60
61 #SET(USE_GDCM ON)
62 #SET(USE_GDCM_VTK ON)
63 SET(USE_WXWIDGETS ON)
64 SET(USE_VTK ON)
65 SET(USE_BOOST ON)
66
67 OPTION(QT_USE_QTUITOOLS "QT_USE_QTUITOOLS" OFF)
68 IF(QT_USE_QTUITOOLS)
69         SET(USE_QT4 ON)        
70 ELSE(QT_USE_QTUITOOLS)
71         SET(USE_QT4 OFF)
72 ENDIF(QT_USE_QTUITOOLS)
73
74 OPTION (${PROJECT_NAME}_DOC "${PROJECT_NAME}_DOC" OFF)
75
76 CREA_FIND_AND_USE_LIBRARIES()
77
78 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
79 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
80 MARK_AS_ADVANCED(
81   CMAKE_BACKWARDS_COMPATIBILITY
82   EXECUTABLE_OUTPUT_PATH 
83   LIBRARY_OUTPUT_PATH
84   )
85
86 SET(CREAMARACASVISU_LIB_PATH ${CMAKE_CREA_LIB_PATH} )
87
88 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/data/Icons )
89 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/include )
90 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src )
91 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/kernel )
92 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows )
93 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/Contour )
94 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets )
95 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter )
96 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour )
97 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint )
98 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView )
99 #DFCH
100 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model )
101 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view )
102 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller )
103 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer )
104 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo )
105 #DFCH
106 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/CutModule/interface )
107 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/CutModule/kernel )
108 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/../../../ )
109
110 INCLUDE_DIRECTORIES(
111                      ${PROJECT_BINARY_DIR}/lib/GUI/Qt/Viewers
112                      ${PROJECT_SOURCE_DIR}/lib/GUI/Qt/Viewers
113                      ${PROJECT_SOURCE_DIR}/lib/GUI/Qt/VolumeRenderer
114                      ${PROJECT_SOURCE_DIR}/lib/GUI/Qt/SurfaceRenderer
115
116
117                      ${PROJECT_SOURCE_DIR}/lib/GUI/Wx/VolumeRenderer
118                      ${PROJECT_SOURCE_DIR}/lib/GUI/Wx/SurfaceRenderer
119
120                      ${PROJECT_SOURCE_DIR}/lib/GUI/Base/VolumeRenderer
121                      ${PROJECT_SOURCE_DIR}/lib/GUI/Base/SurfaceRenderer
122
123                      ${PROJECT_SOURCE_DIR}/lib/Kernel/VTKObjects/SurfaceRenderer
124                      ${PROJECT_SOURCE_DIR}/lib/Kernel/VTKObjects/ViewerWidgets
125                      ${PROJECT_SOURCE_DIR}/lib/Kernel/VTKObjects/VolumeRenderer
126                     )
127
128
129 #JCP Ubuntu this file not found glibconfig.h, config of wxgtk goes wrong somewhere
130 INCLUDE_DIRECTORIES(/usr/lib/x86_64-linux-gnu/gtk-2.0/include/)
131 LINK_DIRECTORIES(/usr/lib/x86_64-linux-gnu/)
132 #JCP Ubuntu this file not found glibconfig.h, config of wxgtk goes wrong somewhere
133
134 ADD_SUBDIRECTORY(install)
135 ADD_SUBDIRECTORY(lib)
136 ADD_SUBDIRECTORY(bbtk)
137 ADD_SUBDIRECTORY(appli)
138
139
140 SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/data)
141 FILE(GLOB CONFIGURE_DATA_FILES *.*)
142 IF(WIN32)
143         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/Debug/data)
144         CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
145         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/Release/data)
146         CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
147         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/RelWithDebInfo/data)
148         CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
149 ELSE(WIN32)
150         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/data)
151         CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
152 ENDIF(WIN32)