summaryrefslogtreecommitdiff
path: root/Jamfile.jam
blob: b66b04cef2d27a474a33ff04d6568e33ba83e534 (plain)
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
# Latest jamplus is needed to use this

# Targets:
# pugixml - build pugixml library
# tests - build pugixml test suite
# run_tests - run pugixml test suite
# coverage - get test suite coverage

# Options:
# toolset=name - select toolset
# 	supported toolsets: mingw*, msvc*

# default toolset/configuration
if ( ! $(toolset) )
{
	exit You should specify a toolset ;
}

if ( ! $(configuration) )
{
	configuration = "debug" ;
}

# remove empty define
defines -= "" ;

# options
if ( $(defines) )
{
	BUILD = build/$(toolset)/$(defines:J=_)/$(configuration) ;
}
else
{
	BUILD = build/$(toolset)/standard/$(configuration) ;
}

if ( $(toolset) = "mingw" )
{
	CCFLAGS = -fprofile-arcs -ftest-coverage ;
	LDFLAGS = -fprofile-arcs ;
	GCOVFLAGS = -n ;
}

# rules
include "Jamrules.jam" ;

# targets
Library pugixml : src/pugixml.cpp src/pugixpath.cpp ;
Application tests : tests/main.cpp [ Glob tests : test_*.cpp ] : pugixml ;
Test run_tests : tests ;
Coverage coverage : run_tests ;