0
0
mirror of https://github.com/zeux/pugixml.git synced 2024-12-31 00:13:01 +08:00
pugixml/Jamfile.jam
2010-05-17 07:50:16 +00:00

66 lines
1.4 KiB
Plaintext

# 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) )
{
if ( $(UNIX) )
{
local GCCVERSION = [ Subst [ Shell "gcc -dumpversion" ] : $(NEWLINE) ] ;
toolset = "gcc"$(GCCVERSION) ;
}
else
{
exit You should specify a toolset ;
}
}
if ( ! $(configuration) )
{
configuration = "debug" ;
}
# split defines into list
defines = [ Split $(defines) : ',' ] ;
# options
if ( $(defines) )
{
BUILD = build/$(toolset)/$(defines:J=_)/$(configuration) ;
}
else
{
BUILD = build/$(toolset)/standard/$(configuration) ;
}
if ( $(toolset:I=^mingw) || $(toolset:I=^gcc) )
{
CCFLAGS = -fprofile-arcs -ftest-coverage ;
LDFLAGS = -fprofile-arcs ;
GCOVFLAGS = -n ;
GCOVFLAGS += -o $(BUILD)/src ; # because stupid gcov can't find files via relative paths
}
# rules
include "Jamrules.jam" ;
# enable dependency cache
DEPCACHE.standard = build/.depcache ;
# targets
Library pugixml : src/pugixml.cpp src/pugixpath.cpp ;
Application tests : [ Glob tests : *.cpp ] : pugixml ;
Test run_tests : tests ;
Coverage coverage : pugixml ;
Depends coverage : run_tests ;