forked from dynamomd/DynamO
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jamroot
79 lines (66 loc) · 2.93 KB
/
Jamroot
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
# DYNAMO:- Event driven molecular dynamics simulator
# http://www.marcusbannerman.co.uk/dynamo
# Copyright (C) 2009 Marcus N Campbell Bannerman <m.bannerman@gmail.com>
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# version 3 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
##########################################################################
path-constant BUILD_DIR_PATH : ./build-dir ;
path-constant LIB_INSTALL_PATH : ./lib ;
path-constant BIN_INSTALL_PATH : ./bin ;
path-constant INCLUDE_INSTALL_PATH : ./include ;
##########################################################################
#Additional build variants
#
# The fulldebug variant uses compiler and library features to aid in debugging
# We might consider adding <cxxflags>ansi <cxxflags>pedantic
#<cxxflags>Weffc++ <define>_GLIBXX_DEBUG_PEDANTIC
#<define>_GLIBCXX_DEBUG_PEDANTIC <define>_GLIBCXX_CONCEPT_CHECKS
#<define>_GLIBCPP_DEBUG_PEDANTIC <define>_GLIBCPP_DEBUG
#<define>_GLIBCPP_CONCEPT_CHECKS
variant fulldebug : debug
: <define>_GLIBCXX_DEBUG
<define>DYNAMO_DEBUG <define>DYNAMO_CollDebug
<cxxflags>-fstack-protector-all
;
# The valgrind variant is useful for code analysis in tools like
# valgrind. It merely turns debug symbols on.
variant valgrind : <inlining>on <optimization>speed <debug-symbols>on <profiling>off ;
##########################################################################
#Main project definition
project : requirements
<threading>multi
#<toolset>clang:<cflags>-Wno-parentheses
#<toolset>clang:<cflags>-Wno-mismatched-tags
#<toolset>clang:<cflags>-Wno-ambiguous-member-template
<variant>release:<define>NDEBUG
####Compile flags for testing ansi and pedantic
<toolset>clang:<cflags>-Wno-overlength-strings
<toolset>clang:<cflags>-Wno-mismatched-tags
<toolset>clang:<cflags>-Wno-newline-eof
<toolset>gcc:<cflags>-Wno-overlength-strings
#<cflags>-ansi <cflags>-pedantic
: default-build release
: build-dir $(BUILD_DIR_PATH)
;
##########################################################################
#Targets
use-project /dynamo : src/dynamo ;
use-project /magnet : src/magnet ;
use-project /coil : src/coil ;
use-project /opencl : src/opencl ;
alias install : /dynamo//install-dynamo ;
alias install-libraries : /coil//install-coil /magnet//install-magnet ;
alias test : /magnet//test ;
alias lsCL : /opencl//install-lsCL ;
alias coilparticletest : /coil//coilparticletest ;
explicit install test coilparticletest lsCL ;