summaryrefslogtreecommitdiff
path: root/Jamfile.jam
diff options
context:
space:
mode:
authorArseny Kapoulkine <arseny.kapoulkine@gmail.com>2015-04-13 20:30:14 -0700
committerArseny Kapoulkine <arseny.kapoulkine@gmail.com>2015-04-13 20:30:14 -0700
commit1c4098a7d9a5eb067ff63b5602d60d91a218b4a0 (patch)
treec884dd000505858a814af38269dbe72df4bc755b /Jamfile.jam
parentbaacd81907dbbb0ba153ae99acfe1ab87d028917 (diff)
Remove all files for the Jamplus-based build system
End of an era. Make can be used for regular development (Linux/OSX), documentation building and release packaging. CMake can be used for regular development (Windows); it's also used by some Linux distributions. Continuous integration is now performed by Travis CI and AppVeyor.
Diffstat (limited to 'Jamfile.jam')
-rw-r--r--Jamfile.jam169
1 files changed, 0 insertions, 169 deletions
diff --git a/Jamfile.jam b/Jamfile.jam
deleted file mode 100644
index e140f35..0000000
--- a/Jamfile.jam
+++ /dev/null
@@ -1,169 +0,0 @@
-# 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 ( $(OS) = SOLARIS )
- {
- toolset = suncc ;
- }
- else if ( $(UNIX) )
- {
- local GCCVERSION = [ Subst [ Shell "gcc -dumpversion" ] : $(NEWLINE) ] ;
- toolset = "gcc"$(GCCVERSION) ;
- }
- else
- {
- toolset = msvc ;
- }
-}
-
-if ( ! $(configuration) )
-{
- configuration = "debug" ;
-}
-
-if ( ! $(defines) )
-{
- defines = "PUGIXML_STANDARD" ;
-}
-
-# coverage options
-if ( $(toolset:I=^mingw) || $(toolset:I=^gcc) )
-{
- CCFLAGS = -fprofile-arcs -ftest-coverage ;
- LDFLAGS = -fprofile-arcs ;
-
- if $(fullcoverage)
- {
- GCOVFLAGS = --branch-probabilities --function-summaries ;
- }
- else
- {
- GCOVFLAGS = --no-output ;
- }
-}
-
-# build folder
-BUILD = build ;
-
-# enable dependency cache
-DEPCACHE.standard = $(BUILD)/.depcache ;
-
-# rules
-include "Jamrules.jam" ;
-
-# split define sets into list
-local DEFINESETS = [ Split $(defines) : ':' ] ;
-
-# split configurations into list
-local CONFIGURATIONS = [ Split $(configuration) : ',' ] ;
-
-for CONFIG in $(CONFIGURATIONS)
-{
- for DEFINESET in $(DEFINESETS)
- {
- local DEFINES = [ Split $(DEFINESET) : ',' ] ;
-
- # build folder
- local CFGBUILD = $(BUILD)/$(toolset)/$(DEFINES:J=_)/$(CONFIG) ;
-
- # compilation options
- local CFGFLAGS = $(CCFLAGS) [ GetCFlags $(CONFIG) : $(DEFINES) ] ;
-
- # build library
- local PUGIXML = $(CFGBUILD)/pugixml.lib ;
- Library $(PUGIXML) : src/pugixml.cpp : $(CFGFLAGS) ;
- Alias pugixml : $(PUGIXML) ;
-
- # build tests
- local TESTS = $(CFGBUILD)/tests.exe ;
- local TEST_SOURCES = [ Glob tests : *.cpp ] ;
- TEST_SOURCES -= [ Glob tests : fuzz_*.cpp ] ;
- Application $(TESTS) : $(TEST_SOURCES) : $(CFGFLAGS) : $(PUGIXML) ;
- Alias tests : $(TESTS) ;
-
- # run tests
- Test $(TESTS)_run : $(TESTS) ;
- Alias run_tests : $(TESTS)_run ;
-
- # gather coverage
- Coverage $(TESTS)_coverage : $(PUGIXML) ;
- Alias coverage : $(TESTS)_coverage ;
-
- GCOVFLAGS on $(TESTS)_coverage = $(GCOVFLAGS) -o $(CFGBUILD)/src ; # because stupid gcov can't find files via relative paths
-
- # add special autotest markers to build log
- if $(autotest)
- {
- COVPREFIX on $(TESTS)_coverage = "... autotest $(CONFIG) [$(DEFINESET)]" ;
- }
-
- # gather coverage after tests run
- Depends $(TESTS)_coverage : $(TESTS)_run ;
- }
-}
-
-# documentation
-Documentation docs/manual.html : docs/manual.qbk : docs/manual.xsl ;
-Documentation docs/quickstart.html : docs/quickstart.qbk : docs/quickstart.xsl ;
-
-Alias docs : docs/manual.html docs/quickstart.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:B).exe ;
- local PUGIXML = $(CFGBUILD)/pugixml.lib ;
-
- Application $(EXECUTABLE) : $(SAMPLE) : $(CFGFLAGS) : $(PUGIXML) ;
-
- RunSampleAction $(EXECUTABLE)_run : $(EXECUTABLE) ;
- Depends $(EXECUTABLE)_run : $(EXECUTABLE) ;
-
- Depends samples : $(EXECUTABLE)_run ;
-}
-
-# release
-VERSION = 1.6 ;
-RELEASE_FILES =
- [ Glob contrib : *.cpp *.hpp ]
- [ Glob src : *.cpp *.hpp ]
- [ Glob docs : *.html *.css ]
- [ Glob docs/samples : *.cpp *.hpp *.xml ]
- [ Glob docs/images : *.png ]
- [ Glob docs/manual : *.html ]
- @("scripts/**":W=:X=svn)
- readme.txt
- ;
-
-actions ArchiveAction
-{
- perl tests/archive.pl $(<) $(>)
-}
-
-ArchiveAction pugixml-$(VERSION).zip : $(RELEASE_FILES) ;
-ArchiveAction pugixml-$(VERSION).tar.gz : $(RELEASE_FILES) ;
-Depends release : pugixml-$(VERSION).zip pugixml-$(VERSION).tar.gz : $(RELEASE_FILES) ;
-NotFile release ;