v0.14.0
FindMESHKIT.cmake
Go to the documentation of this file.
1 # - Try to find MESHKIT
2 
3 # If unset, try environment
4 
5 if(NOT MESHKIT_DIR)
6  set(MESHKIT_DIR $ENV{MESHKIT_DIR})
7 endif(NOT MESHKIT_DIR)
8 
9 find_file(MESHKIT_VARIABLES_FILE meshkit.make HINTS ${MESHKIT_DIR}/lib)
10 
11 if(MESHKIT_VARIABLES_FILE)
12 
13  set(MESHKIT_INCLUDES_COUNTER 0)
14 
15  file(STRINGS ${MESHKIT_VARIABLES_FILE} MESHKIT_VARIABLES)
16  foreach(LINE ${MESHKIT_VARIABLES})
17  if(NOT LINE MATCHES "^#.*")
18  string(REGEX REPLACE "=" ";" FIELDS ${LINE})
19  list(GET FIELDS 0 VAR)
20  string(REGEX REPLACE " " "" VARSTRIP ${VAR})
21 
22  if(${VARSTRIP} STREQUAL MESHKIT_INCLUDES)
23  set(VARSTRIPEXT "${VARSTRIP}${MESHKIT_INCLUDES_COUNTER}")
24  string(REGEX REPLACE "${VARSTRIP} *=" "" VAL ${LINE})
25  set("${VARSTRIPEXT}" ${VAL} CACHE INTERNAL "moab varible")
26  set(MESHKIT_INCLUDES_COUNTER 1)
27  # message(STATUS ${VARSTRIPEXT})
28  # message(STATUS ${VAL})
29  else (${VARSTRIP} STREQUAL MESHKIT_INCLUDES)
30  string(REGEX REPLACE "${VARSTRIP} *=" "" VAL ${LINE})
31  # message(STATUS ${VARSTRIP})
32  # message(STATUS ${VAL})
33  set(${VARSTRIP} ${VAL} CACHE INTERNAL "moab varible")
34  endif(${VARSTRIP} STREQUAL MESHKIT_INCLUDES)
35 
36  endif(NOT LINE MATCHES "^#.*")
37  endforeach(LINE ${MESHKIT_VARIABLES})
38 
39  # Add meshkit definitions
40  if(MESHKIT_DEFINITIONS)
41  resolve_definitions(MESHKIT_DEFINITIONS ${MESHKIT_CPPFLAGS})
42  message(STATUS ${MESHKIT_DEFINITIONS})
43  add_definitions(${MESHKIT_DEFINITIONS})
44  endif(MESHKIT_DEFINITIONS)
45 
46  add_definitions(-DWITH_MESHKIT)
47 
48 endif(MESHKIT_VARIABLES_FILE)