forked from citibeth/everytrace
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
82 lines (65 loc) · 2.13 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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
cmake_minimum_required(VERSION 3.1)
enable_language(Fortran)
enable_language(CXX)
set(CMAKE_CXX_STANDARD 11)
# Needed to get just a single .o file for everytrace_refaddr_gcc
# http://stackoverflow.com/questions/4765222/how-do-i-produce-only-an-object-file-o-from-a-cmake-build-target
PROJECT(CPO C)
list (APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
include (setup_rpath)
# --------------------- Define our toolchain
if (NOT DEFINED USE_FORTRAN)
set(USE_FORTRAN NO)
endif()
if (${USE_FORTRAN})
if ("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU")
add_definitions(-DCMAKE_FORTRAN_GNU)
elseif("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "Clang")
add_definitions(-DCMAKE_FORTRAN_CLANG)
elseif("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "Intel")
add_definitions(-DCMAKE_FORTRAN_INTEL)
elseif("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "MSVC")
add_definitions(-DCMAKE_FORTRAN_MSVC)
endif()
endif()
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
add_definitions(-DCMAKE_CXX_GNU)
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
add_definitions(-DCMAKE_CXX_CLANG)
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
add_definitions(-DCMAKE_CXX_INTEL)
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
add_definitions(-DCMAKE_CXX_MSVC)
endif()
if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
add_definitions(-DCMAKE_C_GNU)
elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
add_definitions(-DCMAKE_C_CLANG)
elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "Intel")
add_definitions(-DCMAKE_C_INTEL)
elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
add_definitions(-DCMAKE_C_MSVC)
endif()
include_directories(${PROJECT_SOURCE_DIR}/slib)
# ------- Process Configure Options
if (NOT DEFINED USE_MPI)
set(USE_MPI NO)
endif()
if(${USE_MPI})
find_package(MPI REQUIRED)
include_directories(${MPI_C_INCLUDE_PATH})
endif()
if (NOT DEFINED USE_CXX)
set(USE_CXX YES)
endif()
if (${USE_CXX})
add_definitions(-DUSE_CXX)
endif()
## -------- Locate External Libraries
#find_package(Python REQUIRED)
#if(${THREAD_SAFE})
# find_package(Boost COMPONENTS thread)
#endif()
# -------- Process subdirectories of the build
add_subdirectory(slib)
add_subdirectory(bin)