3 |
|
# to the root binary directory of the project as ${HELLO_BINARY_DIR}. |
4 |
|
cmake_minimum_required (VERSION 2.6 FATAL_ERROR) |
5 |
|
|
6 |
+ |
|
7 |
|
if(DEFINED CMAKE_BUILD_TYPE) |
8 |
|
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "Choose build type") |
9 |
|
else(DEFINED CMAKE_BUILD_TYPE) |
13 |
|
project(MAGIC) |
14 |
|
|
15 |
|
option(ENABLE_OCC "Magic Enable Occ" ON) |
16 |
+ |
option(ENABLE_OCC_COMPLET "Magic Enable Occ BREP+Operation" ON) |
17 |
|
option(ENABLE_SAT "Magic Enable Sat" ON) |
18 |
|
option(ENABLE_STEP "Magic Enable Step" ON) |
19 |
+ |
option(ENABLE_CAD4FE "Magic Enable CAD4FE" ON) |
20 |
|
option(ENABLE_IBREP "Magic Enable IBREP" OFF) |
21 |
+ |
option(ENABLE_TOIBREP "Magic Enable TOIBREP" ON) |
22 |
+ |
option(ENABLE_NUTIL "Magic Enable NUTIL (pour la visu VTK)" OFF) |
23 |
|
option(ENABLE_TEST "Magic Enable test" OFF) |
24 |
< |
option(OPTION_SHARED "Magic Compilation avec Shared" ON) |
25 |
< |
|
24 |
> |
option(ENABLE_ENGLISH "Magic Use English" OFF) |
25 |
> |
option(ENABLE_TUTORIEL "Magic turorial" OFF) |
26 |
> |
option(ENABLE_CHOIX_TERMINAL_ASTER "Magic Choix d'un terminal pour executer Code Aster" ON) |
27 |
> |
option(ENABLE_PROJECT_CHRONO "Magic Enable Project_chrono" OFF) |
28 |
> |
option(ENABLE_PROJECT_POLYCRISTAUX "Magic Enable Project_polycristaux" OFF) |
29 |
> |
|
30 |
> |
message(STATUS "The compiler is ${CMAKE_CXX_COMPILER}.") |
31 |
> |
|
32 |
> |
include(CheckCXXCompilerFlag) |
33 |
> |
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) |
34 |
> |
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) |
35 |
> |
if(COMPILER_SUPPORTS_CXX11) |
36 |
> |
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") |
37 |
> |
elseif(COMPILER_SUPPORTS_CXX0X) |
38 |
> |
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") |
39 |
> |
else() |
40 |
> |
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.") |
41 |
> |
endif() |
42 |
> |
|
43 |
> |
set(CADXFEM_PATH "../cadxfem" CACHE STRING "CADXFEM Path") |
44 |
> |
set(POLYCRISTAUX_PATH "../poly_occ" CACHE STRING "CADXFEM Path") |
45 |
> |
set(ASTER_VERSION_FLAG "12.5" CACHE STRING "Version par défaut de Code ASTER dans la compilation") |
46 |
> |
add_definitions(-DASTER_VERSION_DEFAUT="${ASTER_VERSION_FLAG}") |
47 |
> |
if(ENABLE_OCC_COMPLET) |
48 |
> |
set (ENABLE_OCC ON) |
49 |
> |
endif(ENABLE_OCC_COMPLET) |
50 |
|
if(ENABLE_OCC) |
51 |
< |
if(WIN32) |
23 |
< |
set(OCC_SYS_NAME win32) |
24 |
< |
else(WIN32) |
25 |
< |
set(OCC_SYS_NAME ${CMAKE_SYSTEM_NAME}) |
26 |
< |
endif(WIN32) |
51 |
> |
set(OCC_SYS_NAME ${CMAKE_SYSTEM_NAME}) |
52 |
|
set(OCC_LIBS_REQUIRED |
53 |
|
# subset of DataExchange |
54 |
< |
TKSTEP TKSTEP209 TKSTEPAttr TKSTEPBase TKIGES TKXSBase |
54 |
> |
TKSTEP TKSTEP209 TKSTEPAttr TKSTEPBase TKIGES TKXSBase TKXCAF TKXDESTEP |
55 |
> |
|
56 |
> |
TKBinXCAF TKSTL TKVRML TKXDEIGES TKXmlXCAF |
57 |
> |
|
58 |
|
# ModelingAlgorithms |
59 |
|
TKOffset TKFeat TKFillet TKBool TKShHealing TKMesh TKHLR TKBO TKPrim |
60 |
|
TKTopAlgo TKGeomAlgo |
61 |
|
# ModelingData |
62 |
|
TKBRep TKGeomBase TKG3d TKG2d |
63 |
|
# FoundationClasses |
64 |
< |
TKAdvTools TKMath TKernel) |
64 |
> |
#TKAdvTools |
65 |
> |
TKMath TKernel) |
66 |
|
list(LENGTH OCC_LIBS_REQUIRED NUM_OCC_LIBS_REQUIRED) |
67 |
|
set(OCC_LIBS) |
68 |
|
foreach(OCC ${OCC_LIBS_REQUIRED}) |
69 |
< |
find_library(OCC_LIB ${OCC} PATHS ENV CASROOT PATH_SUFFIXES lib |
70 |
< |
${OCC_SYS_NAME}/lib) |
69 |
> |
find_library(OCC_LIB ${OCC} PATHS HINTS ENV CASROOT PATH_SUFFIXES lib |
70 |
> |
${OCC_SYS_NAME}/lib ${OCC_SYS_NAME}/vc8/lib ) |
71 |
|
if(OCC_LIB) |
72 |
|
list(APPEND OCC_LIBS ${OCC_LIB}) |
73 |
|
endif(OCC_LIB) |
74 |
< |
set(OCC_LIB OCC_LIB-NOTFOUND CACHE INTERNAL "") |
75 |
< |
# unset(OCC_LIB CACHE) # cleaner, but only available in cmake >= 2.6.4 |
74 |
> |
#set(OCC_LIB OCC_LIB-NOTFOUND CACHE INTERNAL "") |
75 |
> |
unset(OCC_LIB CACHE) # cleaner, but only available in cmake >= 2.6.4 |
76 |
|
endforeach(OCC) |
77 |
|
list(LENGTH OCC_LIBS NUM_OCC_LIBS) |
78 |
|
if(NUM_OCC_LIBS EQUAL NUM_OCC_LIBS_REQUIRED) |
79 |
+ |
unset(OCC_INC CACHE) |
80 |
|
find_path(OCC_INC "BRep_Tool.hxx" PATHS ENV CASROOT PATH_SUFFIXES inc |
81 |
< |
include opencascade) |
81 |
> |
include opencascade include/oce) |
82 |
> |
|
83 |
|
if(OCC_INC) |
84 |
|
add_definitions(-DBREP_OCC) |
85 |
+ |
if(ENABLE_OCC_COMPLET) |
86 |
+ |
add_definitions(-DALL_OCC) |
87 |
+ |
endif(ENABLE_OCC_COMPLET) |
88 |
|
list(APPEND EXTERNAL_LIBRARIES ${OCC_LIBS}) |
89 |
|
list(APPEND EXTERNAL_INCLUDES ${OCC_INC}) |
90 |
|
if(HAVE_64BIT_SIZE_T) |
104 |
|
endif(NUM_OCC_LIBS EQUAL NUM_OCC_LIBS_REQUIRED) |
105 |
|
endif(ENABLE_OCC) |
106 |
|
|
107 |
+ |
if(ENABLE_PROJECT_CHRONO) |
108 |
+ |
find_package(Chrono REQUIRED |
109 |
+ |
COMPONENTS Irrlicht |
110 |
+ |
CONFIG |
111 |
+ |
HINTS /usr/local/lib64 |
112 |
+ |
) |
113 |
+ |
add_definitions(-DPROJECT_CHRONO) |
114 |
+ |
endif(ENABLE_PROJECT_CHRONO) |
115 |
+ |
|
116 |
+ |
execute_process(COMMAND "date" "+%Y" OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE annee) |
117 |
+ |
execute_process(COMMAND "date" "+%Y" OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE dateannee) |
118 |
+ |
SET(ANNEE -DVERSION=\"${annee}\") |
119 |
+ |
SET(DATEANNEE -DDATEVERSION=\"1999-${dateannee}\") |
120 |
+ |
|
121 |
+ |
add_definitions(${ANNEE}) |
122 |
+ |
add_definitions(${DATEANNEE}) |
123 |
+ |
|
124 |
+ |
|
125 |
|
if(ENABLE_SAT) |
126 |
|
add_definitions(-DBREP_SAT) |
127 |
|
endif(ENABLE_SAT) |
128 |
|
|
129 |
|
if(ENABLE_OCC) |
130 |
|
add_definitions(-DBREP_OCC) |
131 |
+ |
add_definitions(-DCSG_OCC) |
132 |
|
endif(ENABLE_OCC) |
133 |
|
if(ENABLE_STEP) |
134 |
|
add_definitions(-DBREP_STEP) |
135 |
|
endif(ENABLE_STEP) |
136 |
|
|
137 |
< |
set(INTERNAL_LIBRARIES fichier carte geometrie outil parseur mecanique optimisation mailleur vectorisation diamesh) |
138 |
< |
if (ENABLE_SAT) |
139 |
< |
list (APPEND INTERNAL_LIBRARIES sat) |
140 |
< |
endif (ENABLE_SAT) |
141 |
< |
if (ENABLE_STEP) |
142 |
< |
list (APPEND INTERNAL_LIBRARIES step) |
143 |
< |
endif (ENABLE_STEP) |
144 |
< |
if (ENABLE_OCC) |
92 |
< |
list (APPEND INTERNAL_LIBRARIES reconstruction) |
93 |
< |
endif (ENABLE_OCC) |
94 |
< |
|
137 |
> |
if (ENABLE_ENGLISH) |
138 |
> |
add_definitions(-DUSE_ENGLISH) |
139 |
> |
endif(ENABLE_ENGLISH) |
140 |
> |
|
141 |
> |
if(ENABLE_NUTIL) |
142 |
> |
add_subdirectory(${CADXFEM_PATH}/nutil "${CMAKE_CURRENT_BINARY_DIR}/nutil") |
143 |
> |
add_definitions(-DVTK_INTERFACE) |
144 |
> |
endif(ENABLE_NUTIL) |
145 |
|
|
146 |
|
if(ENABLE_IBREP) |
147 |
< |
add_subdirectory(IBrep) |
148 |
< |
if (OPTION_SHARED) |
99 |
< |
list (APPEND INTERNAL_LIBRARIES ibrep-dynamic) |
100 |
< |
else (OPTION_SHARED) |
101 |
< |
list (APPEND INTERNAL_LIBRARIES ibrep-static) |
102 |
< |
endif(OPTION_SHARED) |
103 |
< |
list (APPEND INTERNAL_LIBRARIES toIbrep) |
147 |
> |
add_subdirectory(${CADXFEM_PATH}/IBrep "${CMAKE_CURRENT_BINARY_DIR}/IBrep") |
148 |
> |
add_definitions(-DIBREP) |
149 |
|
endif(ENABLE_IBREP) |
150 |
|
|
151 |
+ |
if (ENABLE_PROJECT_POLYCRISTAUX) |
152 |
+ |
add_subdirectory(${POLYCRISTAUX_PATH} "${CMAKE_CURRENT_BINARY_DIR}/poly") |
153 |
+ |
add_definitions(-DPROJECT_POLYCRISTAUX) |
154 |
+ |
endif (ENABLE_PROJECT_POLYCRISTAUX) |
155 |
+ |
|
156 |
+ |
|
157 |
+ |
|
158 |
+ |
|
159 |
+ |
if (ENABLE_CAD4FE) |
160 |
+ |
add_definitions(-DUSECAD4FE) |
161 |
+ |
endif(ENABLE_CAD4FE) |
162 |
+ |
|
163 |
+ |
if (ENABLE_CHOIX_TERMINAL_ASTER) |
164 |
+ |
add_definitions(-DCHOIXTERMASTER) |
165 |
+ |
endif(ENABLE_CHOIX_TERMINAL_ASTER) |
166 |
+ |
|
167 |
+ |
|
168 |
+ |
message(STATUS "Configuration de MAGiC${annee}:1999-${dateannee}") |
169 |
+ |
message(STATUS "Version de code ASTER integree ${ASTER_VERSION_FLAG}") |
170 |
+ |
|
171 |
|
|
172 |
|
add_subdirectory(lib) |
173 |
|
add_subdirectory(app) |