Commit Graph

849 Commits

Author SHA1 Message Date
Mateusz Łoskot
99f813846a
[travis] Replace clang 5.0 with 6.0 for UBSAN builds [skip appveyor]
[skip azp]
2019-05-23 10:16:51 +02:00
Mateusz Łoskot
4dc3836449
[cmake] Rationalise names of tests vs targets 2019-05-23 01:15:44 +02:00
Mateusz Łoskot
9cf68deae0
[azp] Install latest CMake 3.14.4 [skip appveyor]
[skip travis]
2019-05-23 00:18:59 +02:00
Mateusz Łoskot
1fc6e86256
[azp] Add apt-get update 2019-05-23 00:07:51 +02:00
Mateusz Łoskot
992241d88e
[cmake] Boost.System is not direct dependency [ci skip] 2019-05-22 22:11:13 +02:00
Mateusz Łoskot
f88b1cd16c
Restore copyright notice removed by accident [ci skip]
It was removed in ecc19de7c9
2019-05-21 11:31:53 +02:00
Mateusz Łoskot
22baa73c05
[cmake] Allow GIL_USE_CONAN independently from IO ext 2019-05-12 13:43:10 +02:00
Mateusz Łoskot
c20d4f266d
[numeric] Add unit test for matrix3x2<T> class (#293)
Additionally, in numeric.cpp:
- Add #include "unit_test.hpp" - proxy header common to all GIL tests.
- Tidy up copyright notice.
2019-05-08 09:15:22 +02:00
Olzhas Zhumabek
c504f8279c Add missing equal sign in interleaved_ptr.hpp (#299) [ci skip]
Ignore Conan artefacts.
2019-05-07 21:44:45 +02:00
Mateusz Łoskot
10f1efff5b
[cmake] Name targets of legacy tests with legacy_ prefix [ci skip] 2019-05-06 12:04:41 +02:00
Mateusz Łoskot
7e7bacd932
Remove -Wextra from default flags [skip ci]
Move it to the set of non-CI flags.
2019-05-03 00:37:38 +02:00
Mateusz Łoskot
130c7fc72e
Update README.md compilers list [skip ci] 2019-05-02 18:46:44 +02:00
Mateusz Łoskot
2b1cde67aa
[circleci] Fix YAML syntax [skip appveyor]
[skip travis]
[skip azp]
2019-05-02 18:44:09 +02:00
Mateusz Łoskot
88faf47c22
[circleci] Restore building master and develop only [skip appveyor]
Add GCC 8.3 build job.
Tidy up.

[skip travis]
[skip azp]
2019-05-02 18:41:18 +02:00
Mateusz Łoskot
d36a2c8edf
Add SFINAE-friendly version of std::common_type (#298)
It should help to improve uses of SFINAE like the one from #295
and fix #289 for MSVC 14.0 (VS2015) for good.

Copied from Boost.Hana.
2019-05-02 14:38:21 +02:00
Mateusz Łoskot
6832ad6ac6
Ignore -Wsign-conversion warning from Boost.Test 2019-05-02 10:05:09 +02:00
Mateusz Łoskot
02dc6de521
Ignore .log files [skip ci] 2019-05-02 10:04:16 +02:00
Mateusz Łoskot
e0c27a337a
Disable free operator* of point<T> for non-arithmetic operand (#295)
Add Boost.Build-only test to verify compilation failure.

Fixes #289 as much better solution than #294 workaround.
Closes #294
2019-04-29 20:59:51 +02:00
Mateusz Łoskot
c9ccc83551
Officially drop support for GCC <= 4.8 (#296)
Although GCC 4.8 is labelled as C++11 compatible, the reasons are:

* GCC 4.8 is buggy enough to prevent reasonable use of Boost.MP11
* GCC 4.8 is dying

Closes #282
2019-04-28 15:50:56 +02:00
Mateusz Łoskot
8c331a55fe
[doc] Move Pixel Locator out of Pixel Iterator section (#288) [ci skip] 2019-04-24 21:59:54 +02:00
Mateusz Łoskot
3747846acb
GCC 4.8/4.9 define std::is_trivially_destructible (#292) 2019-04-20 14:33:50 +02:00
Mateusz Łoskot
427956fa3f
[circleci] Enable builds for all branches [skip appveyor]
One leftover and missing from db8c76bf54

[skip travis]
[skip azp]
2019-04-19 21:40:36 +02:00
Mateusz Łoskot
a123653127
Add internal version of std::is_trivially_default_constructible (#291)
Add similar for std::is_trivially_destructible.
This should help to restore support for GCC<5 (credit to @pdimov).

Partially fixes #282
2019-04-18 17:30:49 +02:00
Mateusz Łoskot
5af7a959f8
Restore value_type access from std::iterator_traits
Lost in 5611bd5807 from #274 merge
Credit for catching this goes to @stefanseefeld
2019-04-18 12:30:37 +02:00
Mateusz Łoskot
db8c76bf54
[circleci] Enable builds for all branches [skip appveyor] [skip travis]
Builds for PRs are still disabled via the CircleCI dashboard.
2019-04-17 22:54:35 +02:00
Mateusz Łoskot
8bcc9b032e
[appveyor] Add build jobs using VS2015 (#290) [travis skip] 2019-04-17 01:29:38 +02:00
Mateusz Łoskot
1f2474fa1e
[cmake] Update CMakeSettings.json with Boost hints [ci skip] 2019-04-16 21:06:07 +02:00
Mateusz Łoskot
6a5772144b
Document purpose of cached_location_t [ci skip] (#287)
Closes #130
2019-04-16 00:31:45 +02:00
Mateusz Łoskot
d5348c6c61
Remove doc/doxygen/design_guide.dox as old docs remains (#285)
Closes #285
2019-04-15 23:16:11 +02:00
Mateusz Łoskot
0ffeaa775b
Ignore Python virtual env in /.env 2019-04-15 23:15:28 +02:00
Mateusz Łoskot
555c4cc7b5
Fix UB due is_trivially_default_constructible specializations (#284)
C++11 / 20.11.2 Header <type_traits> synopsis
   1 The behavior of a program that adds specializations for any
   of the class templates defined in this subclause is undefined
   unless otherwise specified.

The specializations are not used anywhere, so they are safe to remove
without providing a replacement.

Fixes #283
2019-04-15 23:00:16 +02:00
Mateusz Łoskot
20308531d4
Rationalize GitHub templates [ci skip] 2019-04-15 21:23:58 +02:00
Mateusz Łoskot
53e341b6c4
Disable stats from git log -1 during CI build
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)`
2019-04-14 23:57:18 +02:00
Mateusz Łoskot
5611bd5807
Replace Boost.MPL with Boost.MP11 (#274)
Use type traits and features of C++11, then use Boost.MP11.
Remove unused and unnecessary metafunctions in `detail` namespace.
Remove explicit access to ::type as no longer necessary with MP11.
Clean up and reformat code according to the current guidelines.

Legacy tests have been updated where necessary to accommodate
switch to MP11.

Replace std::is_integral with gil::detail::is_channel_integral
Replacing boost::is_integral with std::is_integral is C++ UB:

    C++11 / 20.11.2 Header <type_traits> synopsis
    1 The behavior of a program that adds specializations for any
    of the class templates defined in this subclause is undefined
    unless otherwise specified.


Implements also proposal in #93
Closes #229
2019-04-14 22:13:45 +02:00
Mateusz Łoskot
63c18e34e7
Tweak README.md format [ci skip] 2019-04-13 20:42:53 +02:00
Mateusz Łoskot
eec604c94c
Update README.md with tests coverage for CI status [ci skip] 2019-04-13 20:38:44 +02:00
Mateusz Łoskot
a0c5eb3d35
[test] Fix CMake status message [ci skip] 2019-04-13 19:10:09 +02:00
Mateusz Łoskot
c11a19880c
[CI] Rationalize deployment of Boost dependencies (#279)
Introduce `get-boost.sh` as Boost downloader for all our CI services.
Closes #276

Credits for `get-boost.sh` idea go to @djarek and @boostorg/beast
2019-04-13 11:51:26 +02:00
Mateusz Łoskot
7977b279cf
Add section on CMakeSettings.json for VS 2019-04-11 18:36:12 +02:00
Mateusz Łoskot
d8280e6b9d
[appveyor] Add C++17 builds with VS2017 (#278) [skip travis]
For existing builds, bump C++ version to 14 which is lowest effective
version (and default) supported by compiler from VS2017.
2019-04-11 14:07:44 +01:00
Mateusz Łoskot
d7c7edd11c
[azp] Avoid pre-installed Boost 1.69 (#277) [skip appveyor] [skip travis]
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
2019-04-10 22:14:32 +01:00
Mateusz Łoskot
7db51faff3
Cast scoped_channel_value to integer prior comparin to an integer 2019-04-09 22:09:34 +02:00
Mateusz Łoskot
8d2a90bf1b
Add missing #include <iostream> in test 2019-04-02 22:08:51 +02:00
Mateusz Łoskot
c6c5336cc0
Value-initialize channel and pixel value members (#273)
Add tests to ensure member values of channel and pixel classes are
determined, zero-initialized.
Fixes #270

Tidy up formatting.
2019-04-01 17:19:22 +01:00
Mateusz Łoskot
89ce280c6f
Fix warning about unused variable 2019-03-29 23:33:21 +01:00
Mateusz Łoskot
715d760be8
Add build-project color missing from test/Jamfile 2019-03-25 20:38:17 +01:00
Mateusz Łoskot
35d7e57a41
Update test of packed_pixel with run-time checks (#269)
Test additional packed_pixel variants for 3-bit gray and 535-bits rgb.
2019-03-25 08:02:19 +01:00
Mateusz Łoskot
0f9b6c4ddf
Add test for packed_channel_value and is_integral specialization (#268) 2019-03-25 07:54:29 +01:00
Mateusz Łoskot
787d5cf90b
Update build status in README [ci skip] 2019-03-22 22:24:23 +01:00
Mateusz Łoskot
7e3825d362
[travis] Update libstdcxx for clang build jobs (#267)
[skip appveyor]
[skip azp]
2019-03-22 22:15:45 +01:00