1 # ---------------------------------------------------------------------
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
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
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.
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
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 # ------------------------------------------------------------------------ */
29 CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
30 #MARK_AS_ADVANCED( FORCE CMAKE_BACKWARDS_COMPATIBILITY )
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)
39 PROJECT(creaMaracasVisu)
41 #-----------------------------------------------------------------------------
42 # Configure Dart testing support. This should be done before any
43 # MESSAGE(FATAL_ERROR ...) commands are invoked.
49 SET(BUILDNAME "${BUILDNAME}" CACHE STRING "Name of build on the dashboard")
50 MARK_AS_ADVANCED(BUILDNAME)
52 #-----------------------------------------------------------------------------
54 SET(PROJECT_MAJOR_VERSION 1)
55 SET(PROJECT_MINOR_VERSION 2)
56 SET(PROJECT_BUILD_VERSION 0)
58 #==================================
61 set (CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Module)
63 #==================================
64 SET(CREA_VERBOSE_CMAKE TRUE)
66 FIND_PACKAGE(crea REQUIRED)
68 INCLUDE(${crea_USE_FILE})
75 CREA_PREVENT_IN_SOURCE_BUILD()
83 OPTION(QT_USE_QTUITOOLS "QT_USE_QTUITOOLS" OFF)
86 ELSE(QT_USE_QTUITOOLS)
88 ENDIF(QT_USE_QTUITOOLS)
90 OPTION (${PROJECT_NAME}_DOC "${PROJECT_NAME}_DOC" OFF)
92 CREA_FIND_AND_USE_LIBRARIES()
94 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
95 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
97 CMAKE_BACKWARDS_COMPATIBILITY
98 EXECUTABLE_OUTPUT_PATH
102 SET(CREAMARACASVISU_LIB_PATH ${CMAKE_CREA_LIB_PATH} )
104 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/data/Icons )
105 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/include )
106 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src )
107 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/kernel )
108 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows )
109 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/Contour )
110 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets )
111 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter )
112 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour )
113 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint )
114 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView )
116 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/model )
117 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/view )
118 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaButtonContainer/controller )
119 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/creaPanelButtonContainer )
120 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo )
122 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/CutModule/interface )
123 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/src/CutModule/kernel )
124 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/maracasVisuLib/../../../ )
127 ${PROJECT_BINARY_DIR}/lib/GUI/Qt/Viewers
128 ${PROJECT_SOURCE_DIR}/lib/GUI/Qt/Viewers
129 ${PROJECT_SOURCE_DIR}/lib/GUI/Qt/VolumeRenderer
130 ${PROJECT_SOURCE_DIR}/lib/GUI/Qt/SurfaceRenderer
133 ${PROJECT_SOURCE_DIR}/lib/GUI/Wx/VolumeRenderer
134 ${PROJECT_SOURCE_DIR}/lib/GUI/Wx/SurfaceRenderer
136 ${PROJECT_SOURCE_DIR}/lib/GUI/Base/VolumeRenderer
137 ${PROJECT_SOURCE_DIR}/lib/GUI/Base/SurfaceRenderer
139 ${PROJECT_SOURCE_DIR}/lib/Kernel/VTKObjects/SurfaceRenderer
140 ${PROJECT_SOURCE_DIR}/lib/Kernel/VTKObjects/ViewerWidgets
141 ${PROJECT_SOURCE_DIR}/lib/Kernel/VTKObjects/VolumeRenderer
145 #JCP Ubuntu this file not found glibconfig.h, config of wxgtk goes wrong somewhere
146 INCLUDE_DIRECTORIES(/usr/lib/x86_64-linux-gnu/gtk-2.0/include/)
147 LINK_DIRECTORIES(/usr/lib/x86_64-linux-gnu/)
148 #JCP Ubuntu this file not found glibconfig.h, config of wxgtk goes wrong somewhere
152 ADD_SUBDIRECTORY(install)
153 ADD_SUBDIRECTORY(lib)
154 ADD_SUBDIRECTORY(bbtk)
155 ADD_SUBDIRECTORY(appli)
158 SET(INPUT_DATA_DIR ${PROJECT_SOURCE_DIR}/data)
159 FILE(GLOB CONFIGURE_DATA_FILES *.*)
161 SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/Debug/data)
162 CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
163 SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/Release/data)
164 CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
165 SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/RelWithDebInfo/data)
166 CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
168 SET(OUTPUT_DATA_DIR ${PROJECT_BINARY_DIR}/data)
169 CREA_CPDIR(${INPUT_DATA_DIR} ${OUTPUT_DATA_DIR})
173 #. ---- MacOs ---------
174 #EED /Library/Developer/CommandLineTools/usr/bin/c++
175 #EED FLAGS C++ : -Xpreprocessor -fopenmp
176 # http://secomparteosepierde.blogspot.com/2019/04/how-to-install-openmp-on-mac-using.html
177 # https://stackoverflow.com/questions/23554716/using-openmp-on-windows-with-mingw-cannot-find-lpthread
178 #You need -Xpreprocessor flag to use -fopenmp flag
180 # sudo port install libomp-devel
181 # sudo port -f activate libomp-devel
183 ##. This cmake code is not working ?????? MacOs..
185 message(STATUS "Checking OpenMP")
186 find_package(OpenMP )
188 message("OpenMP. Yessssssss")
191 message("Found OpenMP! ^_^")
192 # add flags for OpenMP
193 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
194 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
195 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OpenMP_SHARED_LINKER_FLAGS}")
196 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
198 message("Missed OpenMP! :(")