Commit Graph

62 Commits

Author SHA1 Message Date
Martin Hořeňovský
2cb5210caf
Fix and improve GitHub Actions CI
* Fixed problem with older compilers by explicitly installing the
  right compiler version.
* Split apart simple builds that can be well described by a build
  matrix, and builds that need special CMake defines or similar
  special snowflake handling.
* Ported some extras + examples builds from TravisCI to GitHub
  Actions.
2021-04-30 23:26:28 +02:00
Martin Hořeňovský
c19b8ec5d7
Remove TravisCI builds subsumed by GitHub Actions builds 2020-11-29 23:18:57 +01:00
Martin Hořeňovský
1d746a15ac
Move Examples and ExtraTests Mac builds to Github Actions 2020-11-28 21:03:38 +01:00
Martin Hořeňovský
f30a9e3feb
Move some Mac builds from Travis to GitHub Actions 2020-11-28 17:47:26 +01:00
Martin Hořeňovský
0442229dc9
Start using GitHub actions for Linux builds
For now we switched only some of the builds, those that do not
need manually installed compiler packages to function.
2020-11-28 11:13:16 +01:00
Martin Hořeňovský
60dfec559f
Provide 1 .hpp + 1 .cpp distribution of Catch2
This commits also adds a script that does the amalgamation of headers
and .cpp files into the distributable version, removes the old
`generateSingleHeader` script, and also adds a very simple compilation
test for the amalgamated distribution.
2020-09-09 13:02:50 +02:00
Martin Hořeňovský
6e270958a2
Add development build option to CMake and enable it on CI
Development build enables warnings and and `Werror` or equivalent.
2020-02-26 16:07:26 +01:00
Martin Hořeňovský
2e1ce37faa
Try uploading in-development versions of v3 as testing packages 2020-01-25 21:09:48 +01:00
Martin Hořeňovský
69bd213c40
Reenable travis for CI 2019-12-16 00:15:10 +01:00
Martin Hořeňovský
91ee07e08c
Moved scripts/ to tools/scripts/ 2019-12-06 11:53:31 +01:00
Martin Hořeňovský
9ff2b81164
Remove gcc-4.9 from the travis builds
According to CMake, it does not support templated variables. Strictly
speaking, we added that to the target so that the project defaults
to C++14, but I am planning to use them inside Catch2 anyway.
2019-11-07 15:58:37 +01:00
Martin Hořeňovský
2c6ace04a7
Redo build matrix on .travis for C++14 and up
* Use Xenial as the base distribution
* Remove C++11 builds
* Add a lot more C++14 builds
* Add some C++17 builds
* Include newer versions of Clang and GCC
2019-10-31 16:19:56 +01:00
Martin Hořeňovský
ac4958395c
Rejigger OSX images on Travis 2019-10-29 23:32:24 +01:00
Martin Hořeňovský
c781301cd4
Stop support for gcc 4.8, XCode 7.3 and VS 2015 2019-10-29 14:07:18 +01:00
Martin Hořeňovský
815f99541d
Do not explicitly install conan
Instead, let it be installed as a dependency of `conan-package-tools`
to avoid trouble with the fact that pip is really bad at version
resolution, and that up-to-date version of the `conan` package is not
supported by up-to-date version of the `conan-package-tools` package.
2019-10-03 00:00:17 +02:00
Martin Hořeňovský
c6bf56b3d5
Fix Travis builds with clang 5/6
There is some weird broken dependency in their version of Trusty
(14.04 LTE), so we are using Xenial (16.04 LTE) instead.
2019-09-06 12:07:29 +02:00
Martin Hořeňovský
dc8c8e957f
Use an up to date conan package version again
Last time it was fixed to a specific version because the `conan`
and the `conan-package-tools` package that `pip install` would
gather were not compatible, let's hope it won't happen again.
2019-07-31 15:59:16 +02:00
Jayesh Badwaik
b87caafd91 Remove explicit setting of CXX_STANDARD for SelfTest target
- The current setup tries to detect USE_CPP14/USE_CPP17 and sets the
    CXX_STANDARD property for the SelfTest target. This is not ideal, since
    CMAKE_CXX_STANDARD can be provided by the toolchain file or as command line
    option and should be used by the library internally correctly.  Hence, the
    whole set of the relevant lines from `projects/CMakeLists.txt` have been
    removed.

  - The above can also cause subtle issues where the user is expecting the tests
    to compile with C++17 after setting CMAKE_CXX_STANDARD and then getting
    results of compilation with C++11 as USE_CPP17 has not been set.

  - The current build matrix used the above code to run the tests. So, even
    though the it should not required anymore to build Catch2, it was still
    required to send correct options to build matrix. In that respect,
    .travis.yml has been modified to send correct options to the build command
    in the new setup.
2019-06-15 20:33:28 +02:00
Martin Hořeňovský
6f9cdd6583
Release builds on travis now respect C++17 if specified 2019-01-25 22:51:15 +01:00
Uilian Ries
e7fce90b49 Force to install Conan 1.10.2
- Conan Package Tools is not ready for Conan 1.11.x

Signed-off-by: Uilian Ries <uilianries@gmail.com>
2019-01-01 12:22:11 +01:00
offa
18ff34788c Deprecated 'sudo: false' removed from travis config. 2018-11-26 22:51:23 +01:00
Uilian Ries
ac0a83a35d Update Conan recipe
- Apply new conventions introduced on Conan 1.8
- Removed outdated settings
- Update license to follow SPDX format

Closes #926
Closes #943
2018-11-19 15:27:47 +01:00
melak47
c638c57209 Add StringMaker for std::variant, std::monostate (#1380)
The StringMaker is off by default and can be enabled by a new macro `CATCH_CONFIG_ENABLE_VARIANT_STRINGMAKER`, to avoid increasing the footprint of stringification machinery by default.
2018-09-20 14:13:35 +02:00
Martin Hořeňovský
1eb42eed97 Add C++17 builds to Travis 2018-09-10 09:30:09 +02:00
Martin Hořeňovský
f061dabbad Add ExtraTests infrastructure
This means
* a new cmake option, `CATCH_BUILD_EXTRA_TESTS`, that conditionally
includes the ExtraTests subfolder
* building and running them on some of the Travis build images
* An example configuration test

In the future these should be extended to cover most of the
configuration options in Catch2, but this is a start.
2018-08-28 12:57:20 +02:00
Martin Hořeňovský
44722f9ed3 Integrate CMake with <catch2/catch.hpp> include paths
This also goes for pkg-config installed by our CMake installation.

This includes

* Updating CMake version on Travis
* Adding a `Catch2` subfolder to the `single_include/` folder to
provide this include path both _inside_ the repository, and _outside_.
* Updated examples to build with the new paths
* Other general CMake cleanup
2018-06-24 12:32:22 +02:00
Christopher Di Bella
8d5d49299b Added GCC 8 to Travis. Updated test so that it warning isn't triggered. 2018-05-06 12:06:39 +02:00
Christopher Di Bella
d0287e3b56 Updated Travis for LLVM 6.0 2018-05-06 11:50:03 +02:00
Martin Hořeňovský
ea1f326261 Fix potential for false negative CI results on coverage collection 2018-04-01 14:36:55 +02:00
Martin Hořeňovský
a3d3a633b2 Don't build dev-appveyor* branches on TravisCI 2018-03-07 10:53:09 +01:00
Martin Hořeňovský
1d1f8dc992 Stop installing lcov in builds without COVERAGE=1 2018-03-06 15:38:22 +01:00
Martin Hořeňovský
1466686ade Speed up TravisCI build
* Examples are no longer built on all travis images
* Coverage is no longer collected from all travis images
* Valgrind is no longer used with all travis images

This should greatly reduce the amount of compiling, downloading
binaries and general work the common images do.
2018-03-06 15:24:12 +01:00
Martin Hořeňovský
93db01c647 Fix C++14 toggle for OSX build 2018-03-05 15:09:25 +01:00
David Seifert
b0f4f16ee0 Namespace Catch CMake options 2018-01-18 23:20:26 +01:00
Martin Hořeňovský
20211a33e6 Stop using brew if not needed -- fix build on XCode9 image 2017-11-27 22:34:44 +01:00
Martin Hořeňovský
e344984a1b Add codecov.io coverage tracking
* Every Linux build tracks coverage when running Debug mode
* OS X not supported yet (Future WIP)
* Our own unit tests, non-default reporters and Clara are ignored
2017-11-27 20:13:47 +01:00
Martin Hořeňovský
f052762c11 Reduce amount of CI output on success 2017-11-22 18:29:58 +01:00
Martin Hořeňovský
63c097a077 Remove superfluous TravisCI build entry 2017-11-21 18:56:29 +01:00
Martin Hořeňovský
f36817ef83 Check single-header using test examples
This means that examples build for all matrix entries
2017-11-19 22:03:24 +01:00
Martin Moene
d5d2bee4c5 Add matrix element for examples to Travis configuration 2017-11-15 15:37:39 +01:00
Martin Hořeňovský
a20b286999 Improve travis.yml
- Added new compilers and OS X images
- Option to run SelfTest under Valgrind
- Merge "Debug" and "Release" configurations into one run
-- This saves apt setup and cmake download step per compiler, 60-90s
- Fix C++14 compilation under Clang 3.8 and up
2017-11-07 11:24:18 +01:00
Martin Hořeňovský
b2dd48f0c0 Cleanup travis.yml: remove duplicate compilers, remove unused flag 2017-11-05 15:58:12 +01:00
Martin Hořeňovský
d118ce191d Disable build broken by travis changes
It should be reenabled at some point, but I don't have the time ATM
2017-07-29 08:44:40 +02:00
Martin Hořeňovský
c1835ec203 Removed gcc 4.7 from travis
It wasn't able to deal with C++11 properly
2017-04-25 21:27:29 +02:00
Phil Nash
f57f96f190 Removed pre-C++11 versions of Clang (3.4) and GCC (4.4) 2017-04-25 12:10:04 +01:00
Martin Hořeňovský
8e8259091c Fix .travis.yml syntax 2017-04-20 22:54:17 +02:00
Martin Hořeňovský
7869e5b007 Enable C++11 and C++14 on OSX on Travis 2017-04-20 22:52:41 +02:00
Martin Hořeňovský
a49af4648c Minor .travis.yml cleanup
Still could use someone more experienced to clean it up properly...
2017-04-20 22:50:07 +02:00
Martin Hořeňovský
417b2bcf5c Enable C++14 on Linux on Travis 2017-04-20 22:47:05 +02:00
Martin Hořeňovský
a5ce57b346 Improved .travis.yml
* Removed ccache (it was slowing down the compilation for some reason)
* Enabled some C++11 builds (gcc 4.8, gcc 6, clang 3.8 for now)
* Added gcc 4.4, 4.7 and clang 3.4
2017-02-07 11:56:34 +01:00