As tests seem to confirm, Travis may build forks auto-selecting
Xenial or Trusty. For example, Xenial for boostorg/gil and
Trusty for mloskot/gil.
[skip azp]
Rename custom variant with gil_ prefix.
Do not define project ID from Jamfile-s as unnecessary.
The project ID-s and build features are global resources, easy to clash.
Add recently added test/ subdirectories to build.
Replaced BOOST_STATIC_ASSERT with C++11 binary static_assert,
with empty message.
In future, this should make it possible to automatically refactor
into C++17 unary static_assert using clang-tidy and
its modernize-unary-static-assert check.
Closes#106
Currently, we are experiencing UBSan builds failures due to issues in
Boost.Function version attached to Boost super-project.
Build UBSan with b2 visibility=global instead of default hidden.
Detailed discussions at:
- https://github.com/boostorg/function/pull/29
- https://lists.boost.org/boost-gil/2018/10/0100.php
Note, we are switching temporarily and we should switch back to
testing against Boost super-project master branch
- a stable Boost version closest to the next release state.
For each header, a translation unit is generated along with
corresponding compile target.
Currently, only boost/gil/*.hpp and boost/gil/io/* headres are included.
On CI services, compile self_contained_headers targets only if
TEST_HEADERS environment variable is set. This is to avoid build
timeouts due to CI services limits.
When running b2 locally, the tests are compiled by default.
Currently, UBSan integer checks report several false positives due to
unsigned integer overflows (well-defined).
Instead of hiding them completely, keep them displayed on the matrix
until we decide how to handle. For example, there may be some issues
regarding size of unsigned type used, etc.
Sort variant=ubsan_* jobs.
tools/boostdep/depinst/depinst.py helper automatically calculates
maximum set of required Boost libraries, based on #include-s.
Manual listing should help to control any new additions
and prevent introduction of unwanted dependencies.
The build variants enable group of checks offered by clang
UndefinedBehaviorSanitizer detector.
Add sanitizers suppression file in .ci/blacklist.supp based on
copy of the file from Boost.Beast.
Update Travis CI:
- Add .ci/build-and-test.sh script as handy proxy for b2 command.
- Add build jobs for each of the three new UBSan variants.
- Display COMPILER and VARIANT first as these two are most important
details while inspecting the build matrix
(TOOLSET can be derived from COMPILER).