Split header tests accordingly i.e. test core headers as part of
core tests, numeric extension headers as part of numeric tests, etc.
It extends the convention of sub-directories already established in
`include/boost/gil` directory. It is sensible to follow it in other
areas of the source tree (i.e. `test/`, `doc/` and `benchmark/`).
Another important reason to move the tests is to enable removal of
the top-level `Jamfile` with all its definitions of test-specific
requirements.
The top-level `Jamfile` is not advised, especially if it specifies
build requirements like C++ language version.
Those affect non-tests builds e.g. documentation, causing failures
during generation of HTML documentation (leads to missing docs).
(cherry picked from develop branch commit 4ed7701b47)
Split header tests accordingly i.e. test core headers as part of
core tests, numeric extension headers as part of numeric tests, etc.
It extends the convention of sub-directories already established in
`include/boost/gil` directory. It is sensible to follow it in other
areas of the source tree (i.e. `test/`, `doc/` and `benchmark/`).
Another important reason to move the tests is to enable removal of
the top-level `Jamfile` with all its definitions of test-specific
requirements.
The top-level `Jamfile` is not advised, especially if it specifies
build requirements like C++ language version.
Those affect non-tests builds e.g. documentation, causing failures
during generation of HTML documentation (leads to missing docs).
The stats may be a long list of files and some CI services
(e.g. CircleCI) freeze with `--More--` eventually failing
due to `Too long with no output (exceeded 10m0s)`
Linux and Windows images now come with pre-installed Boost 1.69.
Since it is not possible to remove GIL headers from it, we should
prefer our deployment of Boost.
References:
* #276
* C/C++: Add the latest 4 versions of Boost 1.66.0 - 1.69.0 (Linux, Windows)
Microsoft/azure-pipelines-image-generation#732
* Document available versions of Boost 1.66.0 - 1.69.0 following #732 update
Microsoft/azure-pipelines-image-generation#845
* Install latest CMake and Python on VS 2015 image.
* Remove libs/gil from installed Boost 1.68 to ensure GIL headers
from the release are not accidentally used
Configuration summary:
- Linux (GCC 5.4), Windows (VS2017), Mac OS (clang 4.0)
- Boost 1.68 built with variant=release
- Boost.GIL built and tested using CMake w/ CMAKE_BUILD_TYPE=Release
- Basic setup of GIL IO extension dependencies is in place,
using .deb packages or Conan.
- Build without GIL IO extension tests due to issues in CMake
configuration, not related to Azure Pipelines.
Closes#188
[skip appveyor]
[skip travis]
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).