forked from mathLab/WaveBEM
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
58 lines (47 loc) · 1.39 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8)
SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
# Include all macros. Some of them are copied brutally from deal.II
FILE(GLOB _cmake_files "cmake/macros/*.cmake")
FOREACH(_file ${_cmake_files})
INCLUDE(${_file})
ENDFOREACH()
# These ones are for GSL, OCE and SUNDIALS
LIST(APPEND CMAKE_MODULE_PATH
$ENV{MATHLAB_SRC}/cmake/
$ENV{MATHLAB_SRC}/cmake/modules/
)
FIND_PACKAGE(deal.II 8.0 REQUIRED HINTS $ENV{DEAL_II_DIR})
FIND_PACKAGE(OpenCASCADE MODULE REQUIRED)
SET(TARGET "waveBem")
set(CMAKE_BUILD_TYPE "Release")
file(GLOB TARGET_SRC source/*cc)
include_directories(
include
$ENV{MATHLAB_SRC}/include
${DEAL_II_INCLUDE_DIRS}
${OpenCASCADE_INCLUDE_DIRS}
$ENV{SUNDIALS_DIR}/include
$ENV{GSL_DIR}/include
)
DEAL_II_INITIALIZE_CACHED_VARIABLES()
PROJECT(${TARGET})
DEAL_II_INVOKE_AUTOPILOT()
SET(_install $ENV{WAVEBEM_DIR})
SET(CMAKE_INSTALL_PREFIX ${_install})
STRING(TOLOWER ${CMAKE_BUILD_TYPE} _build)
MESSAGE(mathlab.${_build})
FIND_LIBRARY(mathlab mathlab.${_build}
HINTS $ENV{MATHLAB_DIR}/lib)
MESSAGE('mathlab.${_build}')
MESSAGE(${mathlab})
target_link_libraries(
${TARGET}
${OpenCASCADE_LIBRARIES}
${mathlab}
gsl gslcblas
-L$ENV{GSL_DIR}/lib
)
install(DIRECTORY utilities DESTINATION utilities
PATTERN ".svn" EXCLUDE)
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/waveBem DESTINATION .)
install(FILES waveBem.prm DESTINATION .)