-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
97 lines (87 loc) · 2.75 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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#
# CMakeLists.txt build mochi
# 07-Feb-2018 chuck@ece.cmu.edu
#
#
# general command line config:
#
# -DCMAKE_INSTALL_PREFIX=/usr/local # installation prefix
# -DCMAKE_BUILD_TYPE=RelWithDebInfo # or Release, Debug, etc.
# (XXX: currently only applied to cmake-based builds)
#
# -DUMBRELLA_BUILDTESTS=OFF # build unit tests?
# -DUMBRELLA_RUNTESTS=OFF # skip running unit tests?
#
# finding dependencies:
#
# -DCMAKE_PREFIX_PATH='/pkg' # look for additional installs here
#
# the following also applies for configure scripts:
# -DCMAKE_INCLUDE_PATH='/pkg/include' # extra include directories
# -DCMAKE_LIBRARY_PATH='/pkg/lib' # extra library path
#
# note these are all cmake lists (so more than one directory can
# be specified using a semicolon to create a path).
#
# specifying alternate compilers (overrides CC/CXX environment variables):
# -DCC=/bin/cc
# -DCXX=/bin/cxx
# (you can also use the long form names CMAKE_C_COMPILER/CMAKE_CXX_COMPILER)
#
# specifying which mpi to use by pointing at the wrappers, if mpi enabled:
# (but extern-umbrella doesn't use MPI)
# -DMPI_C_COMPILER=/usr/bin/mpicc
# -DMPI_CXX_COMPILER=/usr/bin/mpicxx
# -DMPIEXEC=/usr/bin/mpiexec
#
cmake_minimum_required (VERSION 3.0)
#
# put the umbrella scripts in our search path and include umbrella-init
# (umbrella-init needs to run before "project")
#
list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/umbrella")
include (umbrella-init)
#
# need to mark project as using C/CXX so we can probe for MPI
# using a compiler that may have been passed in via the command line
# or by using environment vars.
#
project (mochi-umbrella C CXX)
#
# configure umbrella for MPI and pull in the main routines
#
set (UMBRELLA_MPI 1)
include (umbrella-main)
#
# set git tags to the versions we want to stick to by default...
#
umbrella_opt_default (BMI_TAG "main")
# master fmt breaks spdlog ( see spdlog github issue #3202 )
umbrella_opt_default (FMT_TAG "11.0.2")
umbrella_opt_default (MERCURY_TAG "master")
umbrella_opt_default (OFI_TAG "v1.20.2")
#
# set other configs before we start pulling in the pieces...
#
# note: NA_INITIALLY_ON is only applied as the defaults the first time
# you run cmake. if you want to reconfigure, change MERCURY_BMI, et al.
umbrella_opt_default (MERCURY_NA_INITIALLY_ON "bmi;ofi;sm")
#
# pull in the parts
#
include (umbrella/abt-io)
include (umbrella/argobots)
include (umbrella/bake)
include (umbrella/bmi)
include (umbrella/libuuid)
include (umbrella/margo)
include (umbrella/mercury)
include (umbrella/mofka)
include (umbrella/ofi)
include (umbrella/pmdk)
include (umbrella/sds-keyval)
include (umbrella/ssg)
#
# targets we don't want by default
#
### set_property (TARGET foo PROPERTY EXCLUDE_FROM_ALL True)