You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A behavior-driven development testing library for C++ with an RSpec-inspired DSL.
9
8
10
-
## Warning! This is pre-release software and may be incomplete, contain bugs, and/or introduce major breaking changes within a short period of time
9
+
## Documentation
11
10
12
-
## Installation ##
13
-
14
-
C++Spec will be released as a single collated header-file that can be placed in any include path in your project. After that, all features are available via `#include "cppspec.hpp"`.
15
-
16
-
If you want to use the git repo for development or to integrate it into your own
17
-
project as a submodule, releases will also be available as tags. This project's
18
-
include folder should then be added to your project's include path. Again, all
19
-
functionality is exposed through `#include "cppspec.hpp"`.
20
-
21
-
If you want to manually generate the collated `cppspec.hpp` yourself, you can download the ccollate tool [here](https://github.com/toroidal-code/ccollate/master/ccollate.rb) and then run `./ccollate.rb include/cppspec.hpp > cppspec.hpp` in the
22
-
toplevel directory of the C++Spec repo. A fully-featured `cppspec.hpp` file
23
-
will then be available in the root of the project for usage.
11
+
See [http://cppspec.readthedocs.org/](http://cppspec.readthedocs.org/) for full documentation and a tutorial.
24
12
13
+
## Requirements
25
14
26
-
## Documentation ##
15
+
C++Spec requires a compiler and standard library with support for C++20.
27
16
28
-
See [http://cppspec.readthedocs.org/](http://cppspec.readthedocs.org/) for full documentation and a tutorial.
17
+
__Note:__ Only the tests require being compiled with C++20 support (`-std=c++20`). No other part of an existing project's build must be modified.
29
18
30
-
## Requirements ##
19
+
## Usage
20
+
The recommended usage is as a subproject integrated into your build system. For CMake this would look something like below:
C++Spec requires a compiler with support for C++11 and polymorphic lambda expressions from C++14. This includes GCC >= 4.9, MSVCC >= 14.0, or clang >= 3.4. For other compilers check [this chart](http://en.cppreference.com/w/cpp/compiler_support).
33
-
34
-
__Note:__ Only the tests require being compiled with C++14 support (`-std=c++14`). No other part of an existing project's build must be modified.
28
+
# Or using CPM
29
+
CPMAddPackage("gh:toroidal-code/cppspec@VERSION")
30
+
```
35
31
36
-
## Introduction ##
32
+
## Introduction
37
33
38
34
If you've ever used RSpec or Jasmine, chances are you'll be familiar with C++Spec's syntax. For example, this is a C++Spec version of the first snippet on RSpec's [README](https://github.com/rspec/rspec-core/blob/master/README.md#basic-structure).
0 commit comments