File tree Expand file tree Collapse file tree 2 files changed +14
-5
lines changed Expand file tree Collapse file tree 2 files changed +14
-5
lines changed Original file line number Diff line number Diff line change 20
20
os : [ubuntu-latest, windows-latest, macos-13, macos-15]
21
21
exclude :
22
22
- os : windows-latest
23
- compiler : llvm-18
23
+ compiler : gcc-14
24
24
- os : macos-13
25
25
compiler : native # AppleClang is too old
26
26
@@ -32,12 +32,12 @@ jobs:
32
32
uses : lukka/get-cmake@latest
33
33
34
34
- name : Install Clang
35
- if : ${{ matrix.compiler == 'llvm-18' && (matrix.os == 'macos-13' || matrix.os == 'macos-15') }}
36
35
run : |
37
36
brew install llvm@18
38
37
brew link --force --overwrite llvm@18
39
38
echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
40
39
echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
40
+ if : ${{ matrix.compiler == 'llvm-18' && (matrix.os == 'macos-13' || matrix.os == 'macos-15') }}
41
41
42
42
- name : Use LLVM and Clang
43
43
run : |
53
53
54
54
- name : Configure
55
55
run : cmake -B build -DCPPSPEC_BUILD_TESTS=YES
56
+ if : ${{ matrix.compiler != 'llvm-18' || matrix.os != 'windows-latest' }}
57
+
58
+ - name : Configure ClangCL
59
+ run : cmake -B build -DCPPSPEC_BUILD_TESTS=YES -G "Visual Studio 17 2022" -T ClangCL
60
+ if : ${{ matrix.compiler == 'llvm-18' && matrix.os == 'windows-latest' }}
56
61
57
62
- name : Build
58
63
run : cmake --build build --config Release
Original file line number Diff line number Diff line change 1
- # C++Spec
1
+ # C++Spec
2
2
[ ![ license] ( https://img.shields.io/badge/license-MIT-blue )] ( https://choosealicense.com/licenses/mit/ )
3
3
[ ![ GitHub Action] ( https://github.com/toroidal-code/cppspec/actions/workflows/test.yml/badge.svg )] ( )   ;
4
4
[ ![ GitHub release] ( https://img.shields.io/github/release/toroidal-code/cppspec.svg )] ( https://github.com/toroidal-code/cppspec/releases/latest )   ;
@@ -12,9 +12,13 @@ See [http://cppspec.readthedocs.org/](http://cppspec.readthedocs.org/) for full
12
12
13
13
## Requirements
14
14
15
- C++Spec requires a compiler and standard library with support for C++20.
15
+ C++Spec requires a compiler and standard library with support for C++23: Currently tested and confirmed working are:
16
+ - LLVM/Clang 18 (on Linux, macOS, and Windows)
17
+ - GCC 14.2 (on Linux and macOS)
18
+ - MSVC 19.43 (on Windows)
19
+ - AppleClang 16 (on macOS)
16
20
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.
21
+ __ Note:__ Only the tests require being compiled with C++23 support (` -std=c++23 ` ). No other part of an existing project's build must be modified.
18
22
19
23
## Usage
20
24
The recommended usage is as a subproject integrated into your build system. For CMake this would look something like below:
You can’t perform that action at this time.
0 commit comments