diff options
| -rw-r--r-- | Jamfile.jam | 25 | ||||
| -rw-r--r-- | Jamrules.jam | 12 | 
2 files changed, 37 insertions, 0 deletions
diff --git a/Jamfile.jam b/Jamfile.jam index 54326de..b636025 100644 --- a/Jamfile.jam +++ b/Jamfile.jam @@ -108,3 +108,28 @@ for CONFIG in $(CONFIGURATIONS)  Documentation docs/manual.html : docs/manual.qbk ;
  Alias docs : docs/manual.html ;
 +
 +# samples
 +for SAMPLE in [ Glob docs/samples : *.cpp ]
 +{
 +	local CONFIG = "debug" ;
 +	local DEFINES = "PUGIXML_STANDARD" ;
 +
 +	# build folder
 +	local CFGBUILD = $(BUILD)/$(toolset)/$(DEFINES:J=_)/$(CONFIG) ;
 +
 +	# compilation options
 +	local CFGFLAGS = $(CCFLAGS) [ GetCFlags $(CONFIG) : $(DEFINES) ] ;
 +	CFGFLAGS += -I src ;
 +
 +	# build and run sample
 +	local EXECUTABLE = $(CFGBUILD)/samples/$(SAMPLE:S=.exe) ;
 +	local PUGIXML = $(CFGBUILD)/pugixml.lib ;
 +
 +	Application $(EXECUTABLE) : $(SAMPLE) : $(CFGFLAGS) : $(PUGIXML) ;
 +
 +	RunSampleAction $(EXECUTABLE)_run : $(EXECUTABLE) ;
 +	Depends $(EXECUTABLE)_run : $(EXECUTABLE) ;
 +
 +	Depends samples : $(EXECUTABLE)_run ;
 +}
 diff --git a/Jamrules.jam b/Jamrules.jam index 6dfba7d..1efd90c 100644 --- a/Jamrules.jam +++ b/Jamrules.jam @@ -441,6 +441,12 @@ if ( $(UNIX) )  		$(>)  	} +	actions RunSampleAction +	{ +		cd docs/samples +		../../$(>) +	} +  	actions quietly ignore MakeDirAction  	{  		mkdir -p $(<) @@ -458,6 +464,12 @@ else  		$(>:\\)  	} +	actions RunSampleAction +	{ +		cd docs\samples +		..\..\$(>:\\) +	} +  	actions quietly ignore MakeDirAction  	{  		mkdir $(<:\\) >nul 2>&1  | 
