Skip to content

Commit da4c8f5

Browse files
authored
Merge pull request #25 from grafikrobot/modular
Add support for modular build structure.
2 parents 56e4aca + 1a03dc6 commit da4c8f5

5 files changed

Lines changed: 61 additions & 69 deletions

File tree

.github/workflows/ci.yml

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,12 @@ jobs:
4343
install: g++-10
4444
- toolset: gcc-11
4545
os: ubuntu-22.04
46+
install: g++-11
4647
- toolset: gcc-12
4748
os: ubuntu-22.04
4849
install: g++-12
4950
- toolset: gcc-13
50-
container: ubuntu:23.04
51+
container: ubuntu:24.04
5152
os: ubuntu-latest
5253
install: g++-13
5354
- toolset: gcc-14
@@ -111,42 +112,53 @@ jobs:
111112
install: clang-15
112113
- toolset: clang
113114
compiler: clang++-16
114-
container: ubuntu:23.04
115+
container: ubuntu:24.04
115116
os: ubuntu-latest
116117
install: clang-16
117118
- toolset: clang
118119
compiler: clang++-17
119-
container: ubuntu:23.10
120+
container: ubuntu:24.04
120121
os: ubuntu-latest
121122
install: clang-17
122123
- toolset: clang
123124
compiler: clang++-18
124125
container: ubuntu:24.04
125126
os: ubuntu-latest
126127
install: clang-18
127-
- toolset: clang
128-
os: macos-12
129128
- toolset: clang
130129
os: macos-13
131130
- toolset: clang
132131
os: macos-14
132+
- toolset: clang
133+
os: macos-15
133134

134135
runs-on: ${{matrix.os}}
135-
container: ${{matrix.container}}
136+
container:
137+
image: ${{matrix.container}}
138+
volumes:
139+
- /node20217:/node20217:rw,rshared
140+
- ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20217:/__e/node20:ro,rshared' || ' ' }}
136141

137142
defaults:
138143
run:
139144
shell: bash
140145

141146

142147
steps:
143-
- uses: actions/checkout@v3
144-
145148
- name: Setup container environment
146149
if: matrix.container
147150
run: |
148151
apt-get update
149-
apt-get -y install sudo python3 git g++
152+
apt-get -y install sudo python3 git g++ curl xz-utils
153+
154+
- name: Install nodejs20glibc2.17
155+
if: ${{ startsWith( matrix.container, 'ubuntu:1' ) }}
156+
run: |
157+
curl -LO https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz
158+
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
159+
ldd /__e/node20/bin/node
160+
161+
- uses: actions/checkout@v3
150162

151163
- name: Install packages
152164
if: matrix.install
@@ -181,7 +193,7 @@ jobs:
181193
- name: Run tests
182194
run: |
183195
cd ../boost-root
184-
./b2 -j3 tools/quickbook/test toolset=${{matrix.toolset}} variant=debug,release
196+
./b2 tools/quickbook//all toolset=${{matrix.toolset}} variant=debug,release
185197
186198
windows:
187199
strategy:
@@ -230,4 +242,4 @@ jobs:
230242
shell: cmd
231243
run: |
232244
cd ../boost-root
233-
b2 -j3 tools/quickbook/test toolset=${{matrix.toolset}} variant=debug,release embed-manifest-via=linker
245+
b2 tools/quickbook//all toolset=${{matrix.toolset}} variant=debug,release embed-manifest-via=linker

Jamfile.v2

Lines changed: 22 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,18 @@
99
# http://www.boost.org/LICENSE_1_0.txt)
1010
#==============================================================================
1111

12-
project quickbook
12+
require-b2 5.2 ;
13+
14+
import path ;
15+
import option ;
16+
17+
local DIST_DIR = [ option.get distdir ] ;
18+
DIST_DIR ?= [ option.get build-dir ] ;
19+
DIST_DIR ?= [ path.join $(BOOST_ROOT) dist ] ;
20+
DIST_DIR ?= dist ;
21+
DIST_DIR = [ path.root [ path.make $(DIST_DIR) ] [ path.pwd ] ] ;
22+
23+
project /boost/quickbook
1324
: requirements
1425
<toolset>gcc:<c++-template-depth>300
1526
<toolset>darwin:<c++-template-depth>300
@@ -19,39 +30,17 @@ project quickbook
1930
<warnings>all
2031
<define>BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE
2132
: default-build
22-
<cxxstd>0x
23-
;
24-
25-
import boostcpp ;
26-
import path ;
27-
import option ;
28-
29-
local DIST_DIR = [ option.get distdir ] ;
30-
if $(DIST_DIR) {
31-
DIST_DIR = [ path.root [ path.make $(DIST_DIR) ] [ path.pwd ] ] ;
32-
} else {
33-
DIST_DIR = [ path.join $(BOOST_ROOT) dist ] ;
34-
}
35-
local DIST_BIN = [ path.join $(DIST_DIR) bin ] ;
36-
37-
# Install quickbook by default.
38-
39-
install dist-bin
40-
:
41-
src//quickbook
42-
:
43-
<install-type>EXE
44-
<location>$(DIST_BIN)
45-
:
46-
release
33+
<cxxstd>11
4734
;
4835

49-
# Target for quickbook toolset's auto build.
50-
51-
alias quickbook
52-
: src//quickbook
53-
: release
36+
explicit
37+
[ install dist-bin
38+
: src//quickbook/<link>static
39+
: <install-type>EXE <location>$(DIST_DIR)/bin
40+
: release ]
41+
[ alias quickbook : src//quickbook/<link>static ]
42+
[ alias all : quickbook dist test ]
5443
;
5544

56-
explicit quickbook
57-
;
45+
# Install distribution files/execs by default.
46+
alias dist : dist-bin ;

build/Jamfile.v2

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/Jamfile.v2

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,19 @@ exe quickbook
4444
block_element_grammar.cpp
4545
phrase_element_grammar.cpp
4646
doc_info_grammar.cpp
47-
/boost//program_options
48-
/boost//filesystem
49-
: #<define>QUICKBOOK_NO_DATES
50-
<define>BOOST_FILESYSTEM_NO_DEPRECATED
51-
<toolset>msvc:<cxxflags>/wd4355
52-
<toolset>msvc:<cxxflags>/wd4511
53-
<toolset>msvc:<cxxflags>/wd4512
54-
<toolset>msvc:<cxxflags>/wd4701
55-
<toolset>msvc:<cxxflags>/wd4702
56-
<toolset>msvc:<cxxflags>/wd4244
57-
<toolset>msvc:<cxxflags>/wd4267
58-
<toolset>msvc:<cxxflags>/wd4800
59-
<toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
60-
<toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
61-
<target-os>windows:<library>shell32
47+
/boost/program_options//boost_program_options/<link>static
48+
/boost/filesystem//boost_filesystem/<link>static
49+
: #<define>QUICKBOOK_NO_DATES
50+
<define>BOOST_FILESYSTEM_NO_DEPRECATED
51+
<toolset>msvc:<cxxflags>/wd4355
52+
<toolset>msvc:<cxxflags>/wd4511
53+
<toolset>msvc:<cxxflags>/wd4512
54+
<toolset>msvc:<cxxflags>/wd4701
55+
<toolset>msvc:<cxxflags>/wd4702
56+
<toolset>msvc:<cxxflags>/wd4244
57+
<toolset>msvc:<cxxflags>/wd4267
58+
<toolset>msvc:<cxxflags>/wd4800
59+
<toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
60+
<toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
61+
<target-os>windows:<library>shell32
6262
;

test/Jamfile.v2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# http://www.boost.org/LICENSE_1_0.txt)
77
#
88

9-
project quickbook/test
9+
project
1010
: requirements
1111
<toolset>msvc:<debug-symbols>off
1212
<cxxstd>98:<build>no

0 commit comments

Comments
 (0)