forked from dynamomd/DynamO
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJamroot
More file actions
70 lines (63 loc) · 3.14 KB
/
Jamroot
File metadata and controls
70 lines (63 loc) · 3.14 KB
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
# 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/>.
##### Constant variables
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 ;
path-constant TOP : . ;
##### Project shortcuts
##### This makes the /system project a link to this file, so that all the system libraries may be accessed.
use-project /system : ./ ;
use-project /dynamo : src/dynamo ;
use-project /magnet : src/magnet ;
use-project /coil : src/coil ;
use-project /opencl : src/opencl ;
##### Targets representing all of the system libraries
lib cwiid : : <link>shared <name>cwiid : : <define>COIL_wiimote ;
lib png : : <link>shared <name>png ;
lib glut : : <link>shared <name>glut ;
lib GLU : : <link>shared <name>GLU ;
lib GL : : <link>shared <name>GL ;
lib Xext : : <link>shared <name>Xext ;
lib X11 : : <link>shared <name>X11 ;
lib rt : : <link>shared <name>rt ;
lib GLEW : : <link>shared <name>GLEW ;
lib bz2 : : <link>shared <name>bz2 ;
lib z : : <link>shared <name>z ;
lib dl : : <link>shared <name>dl ;
lib boost_system : : <name>boost_system ;
lib boost_filesystem : boost_system : <name>boost_filesystem ;
lib boost_program_options : boost_system : <name>boost_program_options ;
lib boost_iostreams : boost_system bz2 z : <name>boost_iostreams ;
alias gtkmm : png : : : <linkflags>"`pkg-config gtkmm-2.4 --libs`" <cflags>"`pkg-config gtkmm-2.4 --cflags`" ;
alias libavcodec : : : : <define>MAGNET_FFMPEG_SUPPORT <linkflags>"`pkg-config libavcodec libavutil --libs`" <cflags>"`pkg-config libavcodec libavutil --cflags`" ;
##### Additional build variants
##### The valgrind variant is useful for code analysis in tools like valgrind. It adds debug symbols while keeping optimisation.
variant valgrind : <inlining>on <optimization>speed <debug-symbols>on <profiling>off <cflags>-fno-omit-frame-pointer ;
##### Main project definition
project : requirements <threading>multi <variant>release:<define>NDEBUG
<cflags>-std=c++0x
# <cflags>-ansi <cflags>-pedantic
: default-build release : build-dir $(BUILD_DIR_PATH) ;
##### Targets
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 ;
##### Perform only the install by default
explicit install-libraries test coilparticletest lsCL ;