Skip to content

Commit 88d4ccd

Browse files
authored
Merge pull request #14 from 7bitcoder/dev
Add version 1.2.0
2 parents d487e32 + abd4cda commit 88d4ccd

File tree

146 files changed

+3732
-2429
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+3732
-2429
lines changed

.github/actions/cmake-build/action.yml

Lines changed: 0 additions & 37 deletions
This file was deleted.

.github/actions/conan-install/action.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

.github/workflows/CI.yml

Lines changed: 0 additions & 39 deletions
This file was deleted.

.github/workflows/DevCI.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: DevCI
2+
3+
on:
4+
push:
5+
branches: [ "dev" ]
6+
paths-ignore:
7+
- ".readthedocs.yaml"
8+
- "README.md"
9+
10+
jobs:
11+
test:
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
os: [ ubuntu-22.04, macos-12, windows-2022 ]
16+
library_type: [ HeaderOnly, Static, Shared ]
17+
std: [ 17, 20 ]
18+
build_type: [ Release ]
19+
20+
runs-on: ${{matrix.os}}
21+
22+
steps:
23+
- uses: actions/checkout@v4
24+
25+
- name: Create Build Environment
26+
run: cmake -E make_directory ${{runner.workspace}}/build
27+
28+
- name: Configure
29+
run: cmake -B ${{runner.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_STANDARD=${{matrix.std}} -D_7BIT_CONF_LIBRARY_TYPE=${{matrix.library_type}} -D_7BIT_CONF_BUILD_ALL_TESTS=ON -D_7BIT_CONF_BUILD_EXAMPLES=ON
30+
31+
- name: Build
32+
run: cmake --build ${{runner.workspace}}/build --config ${{matrix.build_type}} -j
33+
34+
- name: Test
35+
working-directory: ${{runner.workspace}}/build
36+
run: ctest -C ${{matrix.build_type}}
37+
env:
38+
CTEST_OUTPUT_ON_FAILURE: True

.github/workflows/Linux.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Linux
2+
3+
on:
4+
pull_request:
5+
branches: [ "main" ]
6+
paths-ignore:
7+
- ".readthedocs.yaml"
8+
- "README.md"
9+
10+
jobs:
11+
test:
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
compiler:
16+
- { tool: gcc, ver: 8 }
17+
- { tool: gcc, ver: 9 }
18+
- { tool: gcc, ver: 10 }
19+
- { tool: gcc, ver: 11 }
20+
- { tool: gcc, ver: 12 }
21+
- { tool: gcc, ver: 13 }
22+
- { tool: clang, ver: 8 }
23+
- { tool: clang, ver: 9 }
24+
- { tool: clang, ver: 10 }
25+
- { tool: clang, ver: 11 }
26+
- { tool: clang, ver: 12 }
27+
- { tool: clang, ver: 13 }
28+
- { tool: clang, ver: 14 }
29+
- { tool: clang, ver: 15 }
30+
build_type: [ Release ]
31+
os: [ ubuntu-20.04, ubuntu-22.04 ]
32+
std: [ 17 ]
33+
library_type: [ Static ]
34+
include:
35+
- compiler: { tool: gcc }
36+
cxx: g++
37+
cc: gcc
38+
generator: Ninja
39+
- compiler: { tool: clang }
40+
cxx: clang++
41+
cc: clang
42+
generator: Ninja
43+
exclude:
44+
- { os: ubuntu-20.04, compiler: { tool: gcc, ver: 12 } }
45+
- { os: ubuntu-20.04, compiler: { tool: gcc, ver: 13 } }
46+
- { os: ubuntu-20.04, compiler: { tool: clang, ver: 13 } }
47+
- { os: ubuntu-20.04, compiler: { tool: clang, ver: 14 } }
48+
- { os: ubuntu-20.04, compiler: { tool: clang, ver: 15 } }
49+
- { os: ubuntu-22.04, compiler: { tool: gcc, ver: 8 } }
50+
- { os: ubuntu-22.04, compiler: { tool: clang, ver: 8 } }
51+
- { os: ubuntu-22.04, compiler: { tool: clang, ver: 9 } }
52+
- { os: ubuntu-22.04, compiler: { tool: clang, ver: 10 } }
53+
54+
runs-on: ${{matrix.os}}
55+
steps:
56+
- uses: actions/checkout@v4
57+
58+
- name: Create Build Environment
59+
env:
60+
PACKAGES: ${{ matrix.compiler.tool == 'gcc' && format('gcc-{0} g++-{0}', matrix.compiler.ver) || format('{0}-{1}', matrix.compiler.tool, matrix.compiler.ver) }}
61+
run: |
62+
sudo apt update
63+
sudo apt install ${{env.PACKAGES}} ninja-build -y
64+
sudo apt install locales-all
65+
cmake -E make_directory ${{runner.workspace}}/build
66+
67+
- name: Configure
68+
env:
69+
CXX: ${{matrix.cxx}}-${{matrix.compiler.ver}}
70+
CC: ${{matrix.cc}}-${{matrix.compiler.ver}}
71+
run: cmake -B ${{runner.workspace}}/build -G "${{matrix.generator}}" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_STANDARD=${{matrix.std}} -D_7BIT_CONF_LIBRARY_TYPE=${{matrix.library_type}} -D_7BIT_CONF_BUILD_ALL_TESTS=ON
72+
73+
- name: Build
74+
run: cmake --build ${{runner.workspace}}/build --config ${{matrix.build_type}} -j
75+
76+
- name: Test
77+
working-directory: ${{runner.workspace}}/build
78+
run: ctest -C ${{matrix.build_type}}
79+
env:
80+
CTEST_OUTPUT_ON_FAILURE: True

.github/workflows/MacOs.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: MacOs
2+
3+
on:
4+
pull_request:
5+
branches: [ "main" ]
6+
paths-ignore:
7+
- ".readthedocs.yaml"
8+
- "README.md"
9+
10+
jobs:
11+
test:
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
compiler:
16+
[
17+
{ tool: apple-clang },
18+
{ tool: gcc, ver: 10 },
19+
{ tool: gcc, ver: 11 },
20+
{ tool: gcc, ver: 12 },
21+
{ tool: gcc, ver: 13 },
22+
]
23+
build_type: [ Release ]
24+
os: [ macos-12, macos-13 ]
25+
std: [ 17 ]
26+
library_type: [ Static ]
27+
include:
28+
- compiler: { tool: gcc }
29+
cxx: g++
30+
cc: gcc
31+
- compiler: { tool: apple-clang }
32+
cxx: ""
33+
cc: ""
34+
exclude:
35+
- { os: macos-13, compiler: { tool: gcc } }
36+
37+
runs-on: ${{matrix.os}}
38+
steps:
39+
- uses: actions/checkout@v4
40+
41+
- name: Create Build Environment
42+
if: matrix.compiler.tool != 'apple-clang'
43+
run: |
44+
brew update &&
45+
brew install ${{matrix.compiler.tool}}@${{matrix.compiler.ver}} ninja
46+
cmake -E make_directory ${{runner.workspace}}/build
47+
echo "CXX=${{matrix.cxx}}-${{matrix.compiler.ver}}" >> $GITHUB_ENV
48+
echo "CC=${{matrix.cc}}-${{matrix.compiler.ver}}" >> $GITHUB_ENV
49+
50+
- name: Configure
51+
env:
52+
MACOSX_DEPLOYMENT_TARGET: 11
53+
run: cmake -B ${{runner.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_STANDARD=${{matrix.std}} -D_7BIT_CONF_LIBRARY_TYPE=${{matrix.library_type}} -D_7BIT_CONF_BUILD_ALL_TESTS=ON
54+
55+
- name: Build
56+
run: cmake --build ${{runner.workspace}}/build --config ${{matrix.build_type}} -j
57+
58+
- name: Test
59+
working-directory: ${{runner.workspace}}/build
60+
run: ctest -C ${{matrix.build_type}}
61+
env:
62+
CTEST_OUTPUT_ON_FAILURE: True

.github/workflows/Windows.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Windows
2+
3+
on:
4+
pull_request:
5+
branches: [ "main" ]
6+
paths-ignore:
7+
- ".readthedocs.yaml"
8+
- "README.md"
9+
10+
jobs:
11+
test:
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
compiler:
16+
[
17+
{ tool: msvc, ver: 141 },
18+
{ tool: msvc, ver: 142 },
19+
{ tool: msvc, ver: 143 },
20+
{ tool: LLVM, ver: 11.1.0 },
21+
{ tool: LLVM, ver: 12.0.1 },
22+
{ tool: LLVM, ver: 13.0.1 },
23+
{ tool: LLVM, ver: 14.0.6 },
24+
{ tool: LLVM, ver: 15.0.7 },
25+
{ tool: LLVM, ver: 16.0.6 },
26+
{ tool: LLVM, ver: 17.0.6 },
27+
]
28+
build_type: [ Release ]
29+
os: [ windows-2019, windows-2022 ]
30+
std: [ 17 ]
31+
library_type: [ Static ]
32+
include:
33+
- compiler: { tool: LLVM }
34+
cxx: clang++
35+
cc: clang
36+
generator: Ninja
37+
- compiler: { tool: msvc }
38+
cxx: ""
39+
cc: ""
40+
generator: ""
41+
exclude:
42+
- { os: windows-2022, compiler: { tool: LLVM } }
43+
- { os: windows-2019, compiler: { tool: msvc, ver: 143 } }
44+
45+
runs-on: ${{matrix.os}}
46+
steps:
47+
- uses: actions/checkout@v4
48+
49+
- name: Create Build Environment
50+
if: matrix.compiler.tool != 'msvc'
51+
shell: bash
52+
run: choco install ${{matrix.compiler.tool}} --version ${{matrix.compiler.ver}} --allow-downgrade -y && choco install ninja && cmake -E make_directory ${{runner.workspace}}/build
53+
54+
- name: Configure
55+
env:
56+
CXX: ${{matrix.cxx}}
57+
CC: ${{matrix.cc}}
58+
PARAMETERS: ${{ matrix.compiler.tool == 'msvc' && format('-A x64 -T v{0}', matrix.compiler.ver) || format('-G "{0}"', matrix.generator) }}
59+
run: cmake -B ${{runner.workspace}}/build ${{env.PARAMETERS}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_STANDARD=${{matrix.std}} -D_7BIT_CONF_LIBRARY_TYPE=${{matrix.library_type}} -D_7BIT_CONF_BUILD_ALL_TESTS=ON
60+
61+
- name: Build
62+
run: cmake --build ${{runner.workspace}}/build --config ${{matrix.build_type}} -j
63+
64+
- name: Test
65+
working-directory: ${{runner.workspace}}/build
66+
run: ctest -C ${{matrix.build_type}}
67+
env:
68+
CTEST_OUTPUT_ON_FAILURE: True

0 commit comments

Comments
 (0)