1
# Try to find Salome SMESH
2
# Once done this will define
4
# SMESH_FOUND - system has Salome SMESH
5
# SMESH_INCLUDE_DIR - where the Salome SMESH include directory can be found
6
# SMESH_LIBRARIES - Link this to use Salome SMESH
10
find_package(VTK REQUIRED)
12
# If this definition is not set, linker errors will occur against SMESH on 64 bit machines.
13
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
14
add_definitions(-DSALOME_USE_64BIT_IDS)
15
endif(CMAKE_SIZEOF_VOID_P EQUAL 8)
17
IF (CMAKE_COMPILER_IS_GNUCC)
18
FIND_PATH(SMESH_INCLUDE_DIR SMESH_Mesh.hxx
19
# These are default search paths, why specify them?
20
PATH_SUFFIXES smesh SMESH smesh/SMESH
22
FIND_LIBRARY(SMESH_LIBRARY SMESH)
23
ELSE (CMAKE_COMPILER_IS_GNUCC)
25
ENDIF (CMAKE_COMPILER_IS_GNUCC)
28
SET(SMESH_INC_ROOT "${SMESH_INCLUDE_DIR}/..")
29
# Append extra include dirs
31
"${SMESH_INCLUDE_DIR};
32
${SMESH_INC_ROOT}/Controls;
33
${SMESH_INC_ROOT}/Driver;
34
${SMESH_INC_ROOT}/DriverDAT;
35
${SMESH_INC_ROOT}/DriverGMF;
36
${SMESH_INC_ROOT}/DriverSTL;
37
${SMESH_INC_ROOT}/DriverUNV;
38
${SMESH_INC_ROOT}/Geom;
39
${SMESH_INC_ROOT}/Kernel;
40
${SMESH_INC_ROOT}/MEFISTO2;
41
${SMESH_INC_ROOT}/MeshVSLink;
42
${SMESH_INC_ROOT}/Netgen;
43
${SMESH_INC_ROOT}/NETGENPlugin;
44
${SMESH_INC_ROOT}/SMDS;
45
${SMESH_INC_ROOT}/SMESHDS;
46
${SMESH_INC_ROOT}/SMESHUtils;
47
${SMESH_INC_ROOT}/StdMeshers;")
48
ELSE(SMESH_INCLUDE_DIR)
49
message(FATAL_ERROR "SMESH include directories not found!")
50
ENDIF(SMESH_INCLUDE_DIR)
55
GET_FILENAME_COMPONENT(SMESH_LIBRARY_DIR ${SMESH_LIBRARY} PATH)
57
${SMESH_LIBRARY_DIR}/libDriver.so
58
${SMESH_LIBRARY_DIR}/libDriverDAT.so
59
${SMESH_LIBRARY_DIR}/libDriverSTL.so
60
${SMESH_LIBRARY_DIR}/libDriverUNV.so
61
${SMESH_LIBRARY_DIR}/libSMDS.so
62
${SMESH_LIBRARY_DIR}/libSMESH.so
63
${SMESH_LIBRARY_DIR}/libSMESHDS.so
64
${SMESH_LIBRARY_DIR}/libStdMeshers.so
66
set(EXTERNAL_SMESH_LIBS ${SMESH_LIBRARIES})
68
message(FATAL_ERROR "SMESH libraries NOT FOUND!")