Add support for modular build structure. (#21)

* Adjust CI to work with modular branches.

* Add modular build setup.

* Add modular build setup.

* Avoid complexities of shared libs for CI.

* Fix filsystem lib refs.

* Remove redundant build//install target.

* Fix reference to build in CI as a way to dist install.

* Build the dist target for tools by default.

* Rework BOOST_BRANCH value to avoid modular branch name in the logic.

* Use imperative declarations of explicit targets per @pdimov's preference.

* Remove temp link=static that crept in for CI build.

* Add requires-b2 check to top-level build file.

* Bump B2 require to 5.2

* Undo modular CI testing fork changes.

* Need to explicitly install boostdep for this test.
This commit is contained in:
René Ferdinand Rivera Morell
2025-04-14 09:08:05 -05:00
committed by GitHub
parent 4e14202412
commit d0b3b19165
4 changed files with 38 additions and 10 deletions
+1 -1
View File
@@ -358,7 +358,7 @@ jobs:
rm -rf tools/boostdep/*
cp -r $GITHUB_WORKSPACE/* tools/boostdep
./bootstrap.sh
./b2 tools/boostdep/build
./b2 tools/boostdep//dist
- name: Check exceptions
run: |
+30
View File
@@ -0,0 +1,30 @@
# Copyright René Ferdinand Rivera Morell 2024
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
require-b2 5.2 ;
import option ;
import path ;
local DIST_DIR = [ option.get distdir ] ;
DIST_DIR ?= [ option.get build-dir ] ;
DIST_DIR ?= [ path.join $(BOOST_ROOT) dist ] ;
DIST_DIR ?= dist ;
DIST_DIR = [ path.root [ path.make $(DIST_DIR) ] [ path.pwd ] ] ;
project /boost/boostdep ;
install dist-bin
: build//boostdep/<link>static
: <install-type>EXE <location>$(DIST_DIR)/bin
: release ;
explicit install ;
alias boostdep : build//boostdep ;
explicit boostdep ;
alias all : boostdep test dist-bin ;
explicit all ;
# Install distribution files/execs by default.
alias dist : dist-bin ;
+1 -3
View File
@@ -6,6 +6,4 @@
project : default-build release ;
exe boostdep : ../src/boostdep.cpp /boost//filesystem ;
install dist-bin : boostdep : <location>../../../dist/bin ;
exe boostdep : ../src/boostdep.cpp /boost/filesystem//boost_filesystem ;
+6 -6
View File
@@ -8,11 +8,11 @@ import testing ;
path-constant ROOT : ../../.. ;
path-constant HERE : . ;
run ../src/boostdep.cpp /boost//filesystem : --boost-root $(ROOT) --capture-output assert --compare-output $(HERE)/assert-primary.txt : : : assert-primary-txt ;
run ../src/boostdep.cpp /boost//filesystem : --boost-root $(ROOT) --capture-output --secondary bind --compare-output $(HERE)/bind-secondary.txt : : : bind-secondary-txt ;
run ../src/boostdep.cpp /boost/filesystem//boost_filesystem : --boost-root $(ROOT) --capture-output assert --compare-output $(HERE)/assert-primary.txt : : : assert-primary-txt ;
run ../src/boostdep.cpp /boost/filesystem//boost_filesystem : --boost-root $(ROOT) --capture-output --secondary bind --compare-output $(HERE)/bind-secondary.txt : : : bind-secondary-txt ;
run ../src/boostdep.cpp /boost//filesystem : --boost-root $(ROOT) --capture-output --html --primary assert --compare-output $(HERE)/assert-primary.html : : : assert-primary-html ;
run ../src/boostdep.cpp /boost//filesystem : --boost-root $(ROOT) --capture-output --html --secondary bind --compare-output $(HERE)/bind-secondary.html : : : bind-secondary-html ;
run ../src/boostdep.cpp /boost/filesystem//boost_filesystem : --boost-root $(ROOT) --capture-output --html --primary assert --compare-output $(HERE)/assert-primary.html : : : assert-primary-html ;
run ../src/boostdep.cpp /boost/filesystem//boost_filesystem : --boost-root $(ROOT) --capture-output --html --secondary bind --compare-output $(HERE)/bind-secondary.html : : : bind-secondary-html ;
run ../src/boostdep.cpp /boost//filesystem : --boost-root $(ROOT) --csv --capture-output --primary assert --compare-output $(HERE)/assert-primary.csv : : : assert-primary-csv ;
run ../src/boostdep.cpp /boost//filesystem : --boost-root $(ROOT) --csv --capture-output --secondary bind --compare-output $(HERE)/bind-secondary.csv : : : bind-secondary-csv ;
run ../src/boostdep.cpp /boost/filesystem//boost_filesystem : --boost-root $(ROOT) --csv --capture-output --primary assert --compare-output $(HERE)/assert-primary.csv : : : assert-primary-csv ;
run ../src/boostdep.cpp /boost/filesystem//boost_filesystem : --boost-root $(ROOT) --csv --capture-output --secondary bind --compare-output $(HERE)/bind-secondary.csv : : : bind-secondary-csv ;