]> Creatis software - creaMaracasVisu.git/blob - CMakeLists.txt
changes in qt for volume rendering with gpu support, if you are working with volume...
[creaMaracasVisu.git] / CMakeLists.txt
1 #
2 # Test CMake version
3 #
4 CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
5 #MARK_AS_ADVANCED( FORCE CMAKE_BACKWARDS_COMPATIBILITY )
6
7 # for CMake 2.6 corrected behaviour (see "cmake --help-policy CMP0003")
8 IF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
9   CMAKE_POLICY(SET CMP0003 NEW)
10   CMAKE_POLICY(SET CMP0005 NEW)
11   CMAKE_POLICY(SET CMP0011 NEW)
12 ENDIF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
13
14 PROJECT(creaMaracasVisu)
15
16 SET(PROJECT_MAJOR_VERSION 1)
17 SET(PROJECT_MINOR_VERSION 0)
18 SET(PROJECT_BUILD_VERSION 3)
19
20 #==================================
21
22 # JPR 4 mars 2011
23 set (CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Module)
24
25 #==================================
26 SET(CREA_VERBOSE_CMAKE TRUE)
27
28 FIND_PACKAGE(crea REQUIRED)
29 IF (crea_FOUND)
30   INCLUDE(${crea_USE_FILE})
31 ENDIF(crea_FOUND)
32
33 #==================================
34 FIND_PACKAGE(creaImageIO REQUIRED)
35 IF (creaImageIO_FOUND)
36   INCLUDE(${creaImageIO_USE_FILE})
37 ENDIF(creaImageIO_FOUND)
38 #==================================
39
40 CREA_PREVENT_IN_SOURCE_BUILD()
41
42 #SET(USE_GDCM ON)
43 #SET(USE_GDCM_VTK ON)
44 SET(USE_WXWIDGETS ON)
45 SET(USE_VTK ON)
46 SET(USE_BOOST ON)
47
48 OPTION(QT_USE_QTUITOOLS "QT_USE_QTUITOOLS" OFF)
49 IF(QT_USE_QTUITOOLS)
50         SET(USE_QT4 ON)        
51 ELSE(QT_USE_QTUITOOLS)
52         SET(USE_QT4 OFF)
53 ENDIF(QT_USE_QTUITOOLS)
54
55 OPTION (${PROJECT_NAME}_DOC "${PROJECT_NAME}_DOC" OFF)
56
57 CREA_FIND_AND_USE_LIBRARIES()
58
59 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
60 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
61 MARK_AS_ADVANCED(
62   CMAKE_BACKWARDS_COMPATIBILITY
63   EXECUTABLE_OUTPUT_PATH 
64   LIBRARY_OUTPUT_PATH
65   )
66
67 SET(CREAMARACASVISU_LIB_PATH ${CMAKE_CREA_LIB_PATH} )
68
69 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/data/Icons )
70 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/include )
71 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src )
72 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/kernel )
73 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows )
74 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/Contour )
75 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets )
76 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter )
77 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour )
78 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint )
79 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView )
80 #DCH
81 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model )
82 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view )
83 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller )
84 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer )
85 #DCH
86 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/CutModule/interface )
87 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/CutModule/kernel )
88 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/../../../ )
89
90 INCLUDE_DIRECTORIES(
91                      ${PROJECT_BINARY_DIR}/lib/GUI/Qt/Viewers
92                      ${PROJECT_SOURCE_DIR}/lib/GUI/Qt/Viewers
93                      ${PROJECT_SOURCE_DIR}/lib/GUI/Qt/VolumeRenderer
94                      ${PROJECT_SOURCE_DIR}/lib/GUI/Qt/SurfaceRenderer
95
96
97                      ${PROJECT_SOURCE_DIR}/lib/GUI/Wx/VolumeRenderer
98                      ${PROJECT_SOURCE_DIR}/lib/GUI/Wx/SurfaceRenderer
99
100                      ${PROJECT_SOURCE_DIR}/lib/GUI/Base/VolumeRenderer
101                      ${PROJECT_SOURCE_DIR}/lib/GUI/Base/SurfaceRenderer
102
103                      ${PROJECT_SOURCE_DIR}/lib/Kernel/VTKObjects/SurfaceRenderer
104                      ${PROJECT_SOURCE_DIR}/lib/Kernel/VTKObjects/ViewerWidgets
105                      ${PROJECT_SOURCE_DIR}/lib/Kernel/VTKObjects/VolumeRenderer
106                     )
107
108
109 #JCP Ubuntu this file not found glibconfig.h, config of wxgtk goes wrong somewhere
110 INCLUDE_DIRECTORIES(/usr/lib/x86_64-linux-gnu/glib-2.0/include/)
111 #JCP Ubuntu this file not found glibconfig.h, config of wxgtk goes wrong somewhere
112
113 ADD_SUBDIRECTORY(install)
114 ADD_SUBDIRECTORY(lib)
115 ADD_SUBDIRECTORY(bbtk)
116 ADD_SUBDIRECTORY(appli)
117
118
119 SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/data)
120 FILE(GLOB CONFIGURE_DATA_FILES *.*)
121 IF(WIN32)
122         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/Debug/data)
123         CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
124         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/Release/data)
125         CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
126         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/RelWithDebInfo/data)
127         CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
128 ELSE(WIN32)
129         SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/data)
130         CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
131 ENDIF(WIN32)