2121 runs-on : ubuntu-latest
2222 strategy :
2323 matrix :
24- build : [1, 2, 3, 4]
24+ build : [1, 2, 3, 4, 5, 6 ]
2525 include :
2626 # -------------------------------------------------------------------
2727 # CLANG, Release
7575 compiler-desc : gcc
7676 os : ubuntu-latest
7777
78+
79+ # -------------------------------------------------------------------
80+ # CLANG, Release header only
81+ # -------------------------------------------------------------------
82+ - build : 5
83+ build-type : Release
84+ build-shared : ' ON'
85+ header-only : ' ON'
86+ cxx-standard : 17
87+ cxx-compiler : clang++
88+ cxx-flags : ' '
89+ cc-compiler : clang
90+ compiler-desc : clang
91+ os : ubuntu-latest
92+
93+ # -------------------------------------------------------------------
94+ # gcc, Release header only
95+ # -------------------------------------------------------------------
96+ - build : 6
97+ build-type : Release
98+ build-shared : ' ON'
99+ header-only : ' ON'
100+ cxx-standard : 17
101+ cxx-compiler : g++
102+ cxx-flags : ' '
103+ cc-compiler : gcc
104+ compiler-desc : gcc
105+ os : ubuntu-latest
106+
107+
78108 env :
79109 CXX : ${{ matrix.cxx-compiler }}
80110 CC : ${{ matrix.cc-compiler }}
@@ -88,17 +118,17 @@ jobs:
88118 - name : Configure
89119 run : |
90120 cmake .. \
91- -DCMAKE_INSTALL_PREFIX=.. /_install \
121+ -DCMAKE_INSTALL_PREFIX=${{ github.workspace }} /_install \
92122 -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
93123 -DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
94124 -DCMAKE_CXX_FLAGS=${{ matrix.cxx-flags }} \
95125 -DCMAKE_VERBOSE_MAKEFILE:BOOL='OFF' \
96126 -DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \
127+ -DPYSTRING_HEADER_ONLY=${{ matrix.header-only }}
97128 working-directory : _build
98129 - name : Build
99130 run : |
100131 cmake --build . \
101- --target install \
102132 --config ${{ matrix.build-type }}
103133 working-directory : _build
104134 - name : Test
@@ -115,7 +145,7 @@ jobs:
115145 runs-on : macos-latest
116146 strategy :
117147 matrix :
118- build : [1, 2]
148+ build : [1, 2, 3 ]
119149 include :
120150
121151 # Release
@@ -135,6 +165,16 @@ jobs:
135165 cxx-flags : ' '
136166 os : macos-latest
137167
168+
169+ # Release header only
170+ - build : 3
171+ build-type : Release
172+ build-shared : ' ON'
173+ header-only : ' ON'
174+ cxx-standard : 17
175+ cxx-flags : ' '
176+ os : macos-latest
177+
138178 steps :
139179 - name : Checkout
140180 uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -146,17 +186,17 @@ jobs:
146186 - name : Configure
147187 run : |
148188 cmake ../. \
149- -DCMAKE_INSTALL_PREFIX=.. /_install \
189+ -DCMAKE_INSTALL_PREFIX=${{ github.workspace }} /_install \
150190 -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
151191 -DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
152192 -DCMAKE_CXX_FLAGS=${{ matrix.cxx-flags }} \
153193 -DCMAKE_VERBOSE_MAKEFILE:BOOL='OFF' \
154- -DBUILD_SHARED_LIBS=${{ matrix.build-shared }}
194+ -DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \
195+ -DPYSTRING_HEADER_ONLY=${{ matrix.header-only }}
155196 working-directory : _build
156197 - name : Build
157198 run : |
158199 cmake --build . \
159- --target install \
160200 --config ${{ matrix.build-type }} \
161201 working-directory : _build
162202 - name : Test
@@ -192,6 +232,15 @@ jobs:
192232 cxx-flags : ' '
193233 os : windows-latest
194234
235+ # Release header only
236+ - build : 3
237+ build-type : Release
238+ build-shared : ' ON'
239+ header-only : ' ON'
240+ cxx-standard : 17
241+ cxx-flags : ' '
242+ os : windows-latest
243+
195244
196245 steps :
197246 - name : Checkout
@@ -205,19 +254,19 @@ jobs:
205254 # the windows build needs the -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS to work
206255 run : |
207256 cmake ../. \
208- -DCMAKE_INSTALL_PREFIX=.. /_install \
257+ -DCMAKE_INSTALL_PREFIX=${{ github.workspace }} /_install \
209258 -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS='ON'\
210259 -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
211260 -DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
212261 -DCMAKE_CXX_FLAGS=${{ matrix.cxx-flags }} \
213262 -DCMAKE_VERBOSE_MAKEFILE:BOOL='OFF' \
214- -DBUILD_SHARED_LIBS=${{ matrix.build-shared }}
263+ -DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \
264+ -DPYSTRING_HEADER_ONLY=${{ matrix.header-only }}
215265 shell : bash
216266 working-directory : _build
217267 - name : Build
218268 run : |
219269 cmake --build . \
220- --target install \
221270 --config ${{ matrix.build-type }}
222271 shell : bash
223272 working-directory : _build
0 commit comments