# 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) ) { toolset = "gcc" ; } 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) = 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 ;