| 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 |
> |
|
| 29 |
> |
message(STATUS "The compiler is ${CMAKE_CXX_COMPILER}.") |
| 30 |
> |
|
| 31 |
> |
include(CheckCXXCompilerFlag) |
| 32 |
> |
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) |
| 33 |
> |
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) |
| 34 |
> |
if(COMPILER_SUPPORTS_CXX11) |
| 35 |
> |
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") |
| 36 |
> |
elseif(COMPILER_SUPPORTS_CXX0X) |
| 37 |
> |
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") |
| 38 |
> |
else() |
| 39 |
> |
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.") |
| 40 |
> |
endif() |
| 41 |
> |
|
| 42 |
> |
set(CADXFEM_PATH "../cadxfem" CACHE STRING "CADXFEM Path") |
| 43 |
> |
set(ASTER_VERSION_FLAG "12.5" CACHE STRING "Version par défaut de Code ASTER dans la compilation") |
| 44 |
> |
add_definitions(-DASTER_VERSION_DEFAUT="${ASTER_VERSION_FLAG}") |
| 45 |
> |
if(ENABLE_OCC_COMPLET) |
| 46 |
> |
set (ENABLE_OCC ON) |
| 47 |
> |
endif(ENABLE_OCC_COMPLET) |
| 48 |
|
if(ENABLE_OCC) |
| 49 |
< |
if(WIN32) |
| 23 |
< |
set(OCC_SYS_NAME win32) |
| 24 |
< |
else(WIN32) |
| 25 |
< |
set(OCC_SYS_NAME ${CMAKE_SYSTEM_NAME}) |
| 26 |
< |
endif(WIN32) |
| 49 |
> |
set(OCC_SYS_NAME ${CMAKE_SYSTEM_NAME}) |
| 50 |
|
set(OCC_LIBS_REQUIRED |
| 51 |
|
# subset of DataExchange |
| 52 |
< |
TKSTEP TKSTEP209 TKSTEPAttr TKSTEPBase TKIGES TKXSBase |
| 52 |
> |
TKSTEP TKSTEP209 TKSTEPAttr TKSTEPBase TKIGES TKXSBase TKXCAF TKXDESTEP |
| 53 |
> |
|
| 54 |
> |
TKBinXCAF TKSTL TKVRML TKXDEIGES TKXmlXCAF |
| 55 |
> |
|
| 56 |
|
# ModelingAlgorithms |
| 57 |
|
TKOffset TKFeat TKFillet TKBool TKShHealing TKMesh TKHLR TKBO TKPrim |
| 58 |
|
TKTopAlgo TKGeomAlgo |
| 59 |
|
# ModelingData |
| 60 |
|
TKBRep TKGeomBase TKG3d TKG2d |
| 61 |
|
# FoundationClasses |
| 62 |
< |
TKAdvTools TKMath TKernel) |
| 62 |
> |
#TKAdvTools |
| 63 |
> |
TKMath TKernel) |
| 64 |
|
list(LENGTH OCC_LIBS_REQUIRED NUM_OCC_LIBS_REQUIRED) |
| 65 |
|
set(OCC_LIBS) |
| 66 |
|
foreach(OCC ${OCC_LIBS_REQUIRED}) |
| 67 |
< |
find_library(OCC_LIB ${OCC} PATHS ENV CASROOT PATH_SUFFIXES lib |
| 68 |
< |
${OCC_SYS_NAME}/lib) |
| 67 |
> |
find_library(OCC_LIB ${OCC} PATHS HINTS ENV CASROOT PATH_SUFFIXES lib |
| 68 |
> |
${OCC_SYS_NAME}/lib ${OCC_SYS_NAME}/vc8/lib ) |
| 69 |
|
if(OCC_LIB) |
| 70 |
|
list(APPEND OCC_LIBS ${OCC_LIB}) |
| 71 |
|
endif(OCC_LIB) |
| 72 |
< |
set(OCC_LIB OCC_LIB-NOTFOUND CACHE INTERNAL "") |
| 73 |
< |
# unset(OCC_LIB CACHE) # cleaner, but only available in cmake >= 2.6.4 |
| 72 |
> |
#set(OCC_LIB OCC_LIB-NOTFOUND CACHE INTERNAL "") |
| 73 |
> |
unset(OCC_LIB CACHE) # cleaner, but only available in cmake >= 2.6.4 |
| 74 |
|
endforeach(OCC) |
| 75 |
|
list(LENGTH OCC_LIBS NUM_OCC_LIBS) |
| 76 |
|
if(NUM_OCC_LIBS EQUAL NUM_OCC_LIBS_REQUIRED) |
| 77 |
+ |
unset(OCC_INC CACHE) |
| 78 |
|
find_path(OCC_INC "BRep_Tool.hxx" PATHS ENV CASROOT PATH_SUFFIXES inc |
| 79 |
< |
include opencascade) |
| 79 |
> |
include opencascade include/oce) |
| 80 |
> |
|
| 81 |
|
if(OCC_INC) |
| 82 |
|
add_definitions(-DBREP_OCC) |
| 83 |
+ |
if(ENABLE_OCC_COMPLET) |
| 84 |
+ |
add_definitions(-DALL_OCC) |
| 85 |
+ |
endif(ENABLE_OCC_COMPLET) |
| 86 |
|
list(APPEND EXTERNAL_LIBRARIES ${OCC_LIBS}) |
| 87 |
|
list(APPEND EXTERNAL_INCLUDES ${OCC_INC}) |
| 88 |
|
if(HAVE_64BIT_SIZE_T) |
| 102 |
|
endif(NUM_OCC_LIBS EQUAL NUM_OCC_LIBS_REQUIRED) |
| 103 |
|
endif(ENABLE_OCC) |
| 104 |
|
|
| 105 |
+ |
if(ENABLE_PROJECT_CHRONO) |
| 106 |
+ |
find_package(Chrono REQUIRED |
| 107 |
+ |
COMPONENTS Irrlicht |
| 108 |
+ |
CONFIG |
| 109 |
+ |
HINTS ${CMAKE_CURRENT_SOURCE_DIR}/../project_chrono/chrono-develop/build/cmake) |
| 110 |
+ |
add_definitions(-DPROJECT_CHRONO) |
| 111 |
+ |
endif(ENABLE_PROJECT_CHRONO) |
| 112 |
+ |
|
| 113 |
+ |
execute_process(COMMAND "date" "+%Y" OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE annee) |
| 114 |
+ |
execute_process(COMMAND "date" "+%Y" OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE dateannee) |
| 115 |
+ |
SET(ANNEE -DVERSION=\"${annee}\") |
| 116 |
+ |
SET(DATEANNEE -DDATEVERSION=\"1999-${dateannee}\") |
| 117 |
+ |
|
| 118 |
+ |
add_definitions(${ANNEE}) |
| 119 |
+ |
add_definitions(${DATEANNEE}) |
| 120 |
+ |
|
| 121 |
+ |
|
| 122 |
|
if(ENABLE_SAT) |
| 123 |
|
add_definitions(-DBREP_SAT) |
| 124 |
|
endif(ENABLE_SAT) |
| 125 |
|
|
| 126 |
+ |
if(ENABLE_OCC) |
| 127 |
+ |
add_definitions(-DBREP_OCC) |
| 128 |
+ |
add_definitions(-DCSG_OCC) |
| 129 |
+ |
endif(ENABLE_OCC) |
| 130 |
|
if(ENABLE_STEP) |
| 131 |
|
add_definitions(-DBREP_STEP) |
| 132 |
|
endif(ENABLE_STEP) |
| 133 |
|
|
| 134 |
< |
set(INTERNAL_LIBRARIES fichier carte geometrie outil parseur mecanique optimisation mailleur vectorisation diamesh) |
| 135 |
< |
if (ENABLE_SAT) |
| 136 |
< |
list (APPEND INTERNAL_LIBRARIES sat) |
| 84 |
< |
endif (ENABLE_SAT) |
| 85 |
< |
if (ENABLE_STEP) |
| 86 |
< |
list (APPEND INTERNAL_LIBRARIES step) |
| 87 |
< |
endif (ENABLE_STEP) |
| 88 |
< |
if (ENABLE_OCC) |
| 89 |
< |
list (APPEND INTERNAL_LIBRARIES reconstruction) |
| 90 |
< |
endif (ENABLE_OCC) |
| 91 |
< |
|
| 134 |
> |
if (ENABLE_ENGLISH) |
| 135 |
> |
add_definitions(-DUSE_ENGLISH) |
| 136 |
> |
endif(ENABLE_ENGLISH) |
| 137 |
|
|
| 138 |
|
if(ENABLE_IBREP) |
| 139 |
< |
add_subdirectory(IBrep) |
| 140 |
< |
if (OPTION_SHARED) |
| 96 |
< |
list (APPEND INTERNAL_LIBRARIES ibrep-dynamic) |
| 97 |
< |
else (OPTION_SHARED) |
| 98 |
< |
list (APPEND INTERNAL_LIBRARIES ibrep-static) |
| 99 |
< |
endif(OPTION_SHARED) |
| 100 |
< |
list (APPEND INTERNAL_LIBRARIES toIbrep) |
| 139 |
> |
add_subdirectory(${CADXFEM_PATH}/IBrep "${CMAKE_CURRENT_BINARY_DIR}/IBrep") |
| 140 |
> |
add_definitions(-DIBREP) |
| 141 |
|
endif(ENABLE_IBREP) |
| 142 |
+ |
if(ENABLE_NUTIL) |
| 143 |
+ |
add_subdirectory(${CADXFEM_PATH}/nutil "${CMAKE_CURRENT_BINARY_DIR}/nutil") |
| 144 |
+ |
add_definitions(-DVTK_INTERFACE) |
| 145 |
+ |
endif(ENABLE_NUTIL) |
| 146 |
+ |
|
| 147 |
+ |
if (ENABLE_CAD4FE) |
| 148 |
+ |
add_definitions(-DUSECAD4FE) |
| 149 |
+ |
endif(ENABLE_CAD4FE) |
| 150 |
+ |
|
| 151 |
+ |
if (ENABLE_CHOIX_TERMINAL_ASTER) |
| 152 |
+ |
add_definitions(-DCHOIXTERMASTER) |
| 153 |
+ |
endif(ENABLE_CHOIX_TERMINAL_ASTER) |
| 154 |
+ |
|
| 155 |
+ |
|
| 156 |
+ |
message(STATUS "Configuration de MAGiC${annee}:1999-${dateannee}") |
| 157 |
+ |
message(STATUS "Version de code ASTER integree ${ASTER_VERSION_FLAG}") |
| 158 |
|
|
| 159 |
|
|
| 160 |
|
add_subdirectory(lib) |