Skip to content

Commit 93116b2

Browse files
authored
Merge pull request #24 from 7bitcoder/dev
Add version 3.4.0
2 parents d29b3c3 + 64e680c commit 93116b2

File tree

91 files changed

+1342
-561
lines changed

Some content is hidden

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

91 files changed

+1342
-561
lines changed

.github/workflows/DevCI.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ jobs:
1515
strategy:
1616
fail-fast: false
1717
matrix:
18-
os: [ ubuntu-22.04, macos-12, windows-2022 ]
18+
os: [ ubuntu-latest, macos-latest, windows-latest ]
1919
library_type: [ HeaderOnly, Static, Shared ]
20-
std: [ 17, 20 ]
20+
std: [ 17, 20, 23 ]
2121
build_type: [ Release ]
2222

2323
runs-on: ${{matrix.os}}

.github/workflows/Linux.yml

Lines changed: 74 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -16,58 +16,98 @@ jobs:
1616
fail-fast: false
1717
matrix:
1818
compiler:
19-
- { tool: gcc, ver: 7 }
20-
- { tool: gcc, ver: 8 }
21-
- { tool: gcc, ver: 9 }
22-
- { tool: gcc, ver: 10 }
23-
- { tool: gcc, ver: 11 }
24-
- { tool: gcc, ver: 12 }
25-
- { tool: gcc, ver: 13 }
26-
- { tool: clang, ver: 7 }
27-
- { tool: clang, ver: 8 }
28-
- { tool: clang, ver: 9 }
29-
- { tool: clang, ver: 10 }
30-
- { tool: clang, ver: 11 }
31-
- { tool: clang, ver: 12 }
32-
- { tool: clang, ver: 13 }
33-
- { tool: clang, ver: 14 }
34-
- { tool: clang, ver: 15 }
19+
- { name: GCC, ver: 7 }
20+
- { name: GCC, ver: 8 }
21+
- { name: GCC, ver: 9 }
22+
- { name: GCC, ver: 10 }
23+
- { name: GCC, ver: 11 }
24+
- { name: GCC, ver: 12 }
25+
- { name: GCC, ver: 13 }
26+
- { name: GCC, ver: 14 }
27+
- { name: Clang, ver: 7 }
28+
- { name: Clang, ver: 8 }
29+
- { name: Clang, ver: 9 }
30+
- { name: Clang, ver: 10 }
31+
- { name: Clang, ver: 11 }
32+
- { name: Clang, ver: 12 }
33+
- { name: Clang, ver: 13 }
34+
- { name: Clang, ver: 14 }
35+
- { name: Clang, ver: 15 }
36+
- { name: Clang, ver: 16 }
37+
- { name: Clang, ver: 17 }
38+
- { name: Clang, ver: 18 }
3539
build_type: [ Release ]
36-
os: [ ubuntu-20.04, ubuntu-22.04 ]
37-
std: [ 17 ]
40+
os: [ ubuntu-20.04, ubuntu-22.04, ubuntu-24.04 ]
41+
std: [ 17, 20, 23 ]
3842
library_type: [ Static ]
3943
include:
40-
- compiler: { tool: gcc }
44+
- compiler: { name: GCC }
4145
cxx: g++
4246
cc: gcc
47+
packages: 'gcc-{0} g++-{0}'
4348
generator: Ninja
44-
- compiler: { tool: clang }
49+
- compiler: { name: Clang }
4550
cxx: clang++
4651
cc: clang
52+
packages: 'clang-{0}'
4753
generator: Ninja
4854
exclude:
49-
- { os: ubuntu-20.04, compiler: { tool: gcc, ver: 12 } }
50-
- { os: ubuntu-20.04, compiler: { tool: gcc, ver: 13 } }
51-
- { os: ubuntu-20.04, compiler: { tool: clang, ver: 13 } }
52-
- { os: ubuntu-20.04, compiler: { tool: clang, ver: 14 } }
53-
- { os: ubuntu-20.04, compiler: { tool: clang, ver: 15 } }
54-
- { os: ubuntu-22.04, compiler: { tool: gcc, ver: 7 } }
55-
- { os: ubuntu-22.04, compiler: { tool: gcc, ver: 8 } }
56-
- { os: ubuntu-22.04, compiler: { tool: clang, ver: 7 } }
57-
- { os: ubuntu-22.04, compiler: { tool: clang, ver: 8 } }
58-
- { os: ubuntu-22.04, compiler: { tool: clang, ver: 9 } }
59-
- { os: ubuntu-22.04, compiler: { tool: clang, ver: 10 } }
55+
- { os: ubuntu-20.04, compiler: { name: GCC, ver: 11 } }
56+
- { os: ubuntu-20.04, compiler: { name: GCC, ver: 12 } }
57+
- { os: ubuntu-20.04, compiler: { name: GCC, ver: 13 } }
58+
- { os: ubuntu-20.04, compiler: { name: GCC, ver: 14 } }
59+
- { os: ubuntu-20.04, compiler: { name: Clang, ver: 13 } }
60+
- { os: ubuntu-20.04, compiler: { name: Clang, ver: 14 } }
61+
- { os: ubuntu-20.04, compiler: { name: Clang, ver: 15 } }
62+
- { os: ubuntu-20.04, compiler: { name: Clang, ver: 16 } }
63+
- { os: ubuntu-20.04, compiler: { name: Clang, ver: 17 } }
64+
- { os: ubuntu-20.04, compiler: { name: Clang, ver: 18 } }
65+
- { os: ubuntu-22.04, compiler: { name: GCC, ver: 7 } }
66+
- { os: ubuntu-22.04, compiler: { name: GCC, ver: 8 } }
67+
- { os: ubuntu-22.04, compiler: { name: GCC, ver: 13 } }
68+
- { os: ubuntu-22.04, compiler: { name: GCC, ver: 14 } }
69+
- { os: ubuntu-22.04, compiler: { name: Clang, ver: 7 } }
70+
- { os: ubuntu-22.04, compiler: { name: Clang, ver: 8 } }
71+
- { os: ubuntu-22.04, compiler: { name: Clang, ver: 9 } }
72+
- { os: ubuntu-22.04, compiler: { name: Clang, ver: 10 } }
73+
- { os: ubuntu-22.04, compiler: { name: Clang, ver: 16 } }
74+
- { os: ubuntu-22.04, compiler: { name: Clang, ver: 17 } }
75+
- { os: ubuntu-22.04, compiler: { name: Clang, ver: 18 } }
76+
- { os: ubuntu-24.04, compiler: { name: GCC, ver: 7 } }
77+
- { os: ubuntu-24.04, compiler: { name: GCC, ver: 8 } }
78+
- { os: ubuntu-24.04, compiler: { name: Clang, ver: 7 } }
79+
- { os: ubuntu-24.04, compiler: { name: Clang, ver: 8 } }
80+
- { os: ubuntu-24.04, compiler: { name: Clang, ver: 9 } }
81+
- { os: ubuntu-24.04, compiler: { name: Clang, ver: 10 } }
82+
- { os: ubuntu-24.04, compiler: { name: Clang, ver: 11 } }
83+
- { os: ubuntu-24.04, compiler: { name: Clang, ver: 12 } }
84+
- { os: ubuntu-24.04, compiler: { name: Clang, ver: 13 } }
85+
- { compiler: { name: GCC, ver: 7 }, std: 20 }
86+
- { compiler: { name: GCC, ver: 7 }, std: 23 }
87+
- { compiler: { name: GCC, ver: 8 }, std: 23 }
88+
- { compiler: { name: GCC, ver: 9 }, std: 23 }
89+
- { compiler: { name: GCC, ver: 10 }, std: 23 }
90+
- { compiler: { name: Clang, ver: 7 }, std: 20 }
91+
- { compiler: { name: Clang, ver: 7 }, std: 23 }
92+
- { compiler: { name: Clang, ver: 8 }, std: 20 }
93+
- { compiler: { name: Clang, ver: 8 }, std: 23 }
94+
- { compiler: { name: Clang, ver: 9 }, std: 23 }
95+
- { compiler: { name: Clang, ver: 10 }, std: 23 }
96+
- { compiler: { name: Clang, ver: 11 }, std: 23 }
97+
- { os: ubuntu-24.04, compiler: { name: Clang, ver: 14 }, std: 20 } # gtest broken for now
98+
- { os: ubuntu-24.04, compiler: { name: Clang, ver: 14 }, std: 23 } # gtest broken for now
99+
- { os: ubuntu-24.04, compiler: { name: Clang, ver: 15 }, std: 20 } # gtest broken for now
100+
- { os: ubuntu-24.04, compiler: { name: Clang, ver: 15 }, std: 23 } # gtest broken for now
101+
- { os: ubuntu-24.04, compiler: { name: Clang, ver: 17 }, std: 23 } # gtest broken for now
60102

61103
runs-on: ${{matrix.os}}
62104
steps:
63105
- uses: actions/checkout@v4
64106

65107
- name: Create Build Environment
66-
env:
67-
PACKAGES: ${{ matrix.compiler.tool == 'gcc' && format('gcc-{0} g++-{0}', matrix.compiler.ver) || format('{0}-{1}', matrix.compiler.tool, matrix.compiler.ver) }}
68108
run: |
69109
sudo apt update
70-
sudo apt install ${{env.PACKAGES}} ninja-build -y
110+
sudo apt install ${{format(matrix.packages, matrix.compiler.ver)}} ninja-build -y
71111
sudo apt install locales-all
72112
cmake -E make_directory ${{runner.workspace}}/build
73113

.github/workflows/MacOs.yml

Lines changed: 48 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ name: MacOs
22

33
on:
44
pull_request:
5-
branches: [ "main" ]
5+
branches: [ 'main' ]
66
paths-ignore:
7-
- "Docs/**"
8-
- ".readthedocs.yaml"
9-
- "README.md"
7+
- 'Docs/**'
8+
- '.readthedocs.yaml'
9+
- 'README.md'
1010

1111
jobs:
1212
test:
@@ -16,36 +16,66 @@ jobs:
1616
fail-fast: false
1717
matrix:
1818
compiler: [
19-
{ tool: apple-clang },
20-
{ tool: gcc, ver: 10 },
21-
{ tool: gcc, ver: 11 },
22-
{ tool: gcc, ver: 12 } ]
19+
{ name: 'Apple Clang' },
20+
{ name: Clang, ver: 12 },
21+
{ name: Clang, ver: 13 },
22+
{ name: Clang, ver: 14 },
23+
{ name: Clang, ver: 15 },
24+
{ name: Clang, ver: 16 },
25+
{ name: Clang, ver: 17 },
26+
{ name: Clang, ver: 18 },
27+
{ name: GCC, ver: 10 },
28+
{ name: GCC, ver: 11 },
29+
{ name: GCC, ver: 12 },
30+
{ name: GCC, ver: 13 },
31+
{ name: GCC, ver: 14 } ]
2332
build_type: [ Release ]
24-
os: [ macos-12 ]
25-
std: [ 17 ]
33+
os: [ macos-12, macos-13, macos-14 ]
34+
std: [ 17, 20, 23 ]
2635
library_type: [ Static ]
2736
include:
28-
- compiler: { tool: gcc }
29-
cxx: g++
30-
cc: gcc
31-
- compiler: { tool: apple-clang }
37+
- compiler: { name: 'Apple Clang' }
3238
cxx: ''
3339
cc: ''
40+
generator: Ninja
41+
- compiler: { name: Clang }
42+
cxx: clang++
43+
cc: clang
44+
package: llvm
45+
generator: Ninja
46+
- compiler: { name: GCC }
47+
cxx: 'g++-{0}'
48+
cc: 'gcc-{0}'
49+
package: gcc
50+
generator: Ninja
51+
exclude:
52+
- { os: macos-12, compiler: { name: GCC, ver: 13 } }
53+
- { os: macos-13, compiler: { name: GCC, ver: 10 } }
54+
- { os: macos-13, compiler: { name: GCC, ver: 11 } }
55+
- { os: macos-13, compiler: { name: GCC, ver: 13 } }
56+
- { os: macos-14, compiler: { name: GCC, ver: 10 } }
57+
- { compiler: { name: GCC, ver: 10 }, std: 23 }
3458

3559
runs-on: ${{matrix.os}}
3660
steps:
3761
- uses: actions/checkout@v4
3862

3963
- name: Create Build Environment
40-
if: matrix.compiler.tool != 'apple-clang'
64+
if: matrix.compiler.name != 'Apple Clang'
4165
run: |
4266
brew update &&
43-
brew install ${{matrix.compiler.tool}}@${{matrix.compiler.ver}} ninja
67+
brew install ${{matrix.package}}@${{matrix.compiler.ver}} ninja
4468
cmake -E make_directory ${{runner.workspace}}/build
45-
echo "CXX=${{matrix.cxx}}-${{matrix.compiler.ver}}" >> $GITHUB_ENV
46-
echo "CC=${{matrix.cc}}-${{matrix.compiler.ver}}" >> $GITHUB_ENV
69+
70+
- name: Try Setup LLVM Environment
71+
if: matrix.compiler.name == 'Clang'
72+
run: |
73+
echo "PATH=$(brew --prefix llvm@${{matrix.compiler.ver}})/bin:${PATH}" >> $GITHUB_ENV
4774
4875
- name: Configure
76+
env:
77+
CXX: ${{format(matrix.cxx, matrix.compiler.ver)}}
78+
CC: ${{format(matrix.cc, matrix.compiler.ver)}}
4979
run: cmake -B ${{runner.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_STANDARD=${{matrix.std}} -D_7BIT_DI_LIBRARY_TYPE=${{matrix.library_type}} -D_7BIT_DI_BUILD_ALL_TESTS=ON
5080

5181
- name: Build

.github/workflows/Windows.yml

Lines changed: 55 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ name: Windows
22

33
on:
44
pull_request:
5-
branches: [ "main" ]
5+
branches: [ 'main' ]
66
paths-ignore:
7-
- "Docs/**"
8-
- ".readthedocs.yaml"
9-
- "README.md"
7+
- 'Docs/**'
8+
- '.readthedocs.yaml'
9+
- 'README.md'
1010

1111
env:
12-
CHOCO_LIB_DIR: C:\\ProgramData\\chocolatey\\lib
12+
CHOCO_MINGW_BIN_DIR: C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
1313

1414
jobs:
1515
test:
@@ -19,60 +19,79 @@ jobs:
1919
fail-fast: false
2020
matrix:
2121
compiler: [
22-
{ tool: msvc, ver: 141 },
23-
{ tool: msvc, ver: 142 },
24-
{ tool: mingw, ver: 7.5.0 },
25-
{ tool: mingw, ver: 8.5.0 },
26-
{ tool: mingw, ver: 9.4.0 },
27-
{ tool: mingw, ver: 10.3.0 },
28-
{ tool: mingw, ver: 11.2.0 },
29-
{ tool: mingw, ver: 12.2.0 },
30-
{ tool: mingw, ver: 13.2.0 },
31-
{ tool: LLVM, ver: 11.1.0 },
32-
{ tool: LLVM, ver: 12.0.1 },
33-
{ tool: LLVM, ver: 13.0.1 },
34-
{ tool: LLVM, ver: 14.0.6 },
35-
{ tool: LLVM, ver: 15.0.7 },
36-
{ tool: LLVM, ver: 16.0.6 },
37-
{ tool: LLVM, ver: 17.0.6 },
38-
{ tool: LLVM, ver: 18.1.2 } ]
22+
{ name: MSVC, ver: 141 },
23+
{ name: MSVC, ver: 142 },
24+
{ name: MSVC, ver: 143 },
25+
{ name: MinGW, ver: 7.5.0 },
26+
{ name: MinGW, ver: 8.5.0 },
27+
{ name: MinGW, ver: 9.4.0 },
28+
{ name: MinGW, ver: 10.3.0 },
29+
{ name: MinGW, ver: 11.2.0 },
30+
{ name: MinGW, ver: 12.2.0 },
31+
{ name: Clang, ver: 11.1.0 },
32+
{ name: Clang, ver: 12.0.1 },
33+
{ name: Clang, ver: 13.0.1 },
34+
{ name: Clang, ver: 14.0.6 },
35+
{ name: Clang, ver: 15.0.7 },
36+
{ name: Clang, ver: 16.0.6 },
37+
{ name: Clang, ver: 17.0.6 },
38+
{ name: Clang, ver: 18.1.2 },
39+
{ name: Clang, ver: 18.1.8 } ]
3940
build_type: [ Release ]
40-
os: [ windows-2019 ]
41-
std: [ 17 ]
41+
os: [ windows-2019, windows-2022 ]
42+
std: [ 17, 20, 23 ]
4243
library_type: [ Static ]
4344
include:
44-
- compiler: { tool: mingw }
45+
- compiler: { name: MSVC }
46+
cxx: ''
47+
cc: ''
48+
generator: ''
49+
- compiler: { name: MinGW }
4550
cxx: g++
4651
cc: gcc
52+
package: mingw
4753
generator: 'MinGW Makefiles'
48-
- compiler: { tool: LLVM }
54+
- compiler: { name: Clang }
4955
cxx: clang++
5056
cc: clang
57+
package: LLVM
5158
generator: Ninja
52-
- compiler: { tool: msvc }
53-
cxx: ''
54-
cc: ''
55-
generator: ''
59+
exclude:
60+
- { os: windows-2019, compiler: { name: MSVC, ver: 143 } }
61+
- { os: windows-2022, compiler: { name: MSVC, ver: 141 } }
62+
- { os: windows-2022, compiler: { name: Clang, ver: 11.1.0 } }
63+
- { os: windows-2022, compiler: { name: Clang, ver: 12.0.1 } }
64+
- { os: windows-2022, compiler: { name: Clang, ver: 13.0.1 } }
65+
- { os: windows-2022, compiler: { name: Clang, ver: 14.0.6 } }
66+
- { os: windows-2022, compiler: { name: Clang, ver: 15.0.7 } }
67+
- { os: windows-2022, compiler: { name: Clang, ver: 16.0.6 } }
68+
- { compiler: { name: MSVC, ver: 141 }, std: 23 }
69+
- { compiler: { name: MinGW, ver: 7.5.0 }, std: 20 }
70+
- { compiler: { name: MinGW, ver: 7.5.0 }, std: 23 }
71+
- { compiler: { name: MinGW, ver: 8.5.0 }, std: 23 }
72+
- { compiler: { name: MinGW, ver: 9.4.0 }, std: 23 }
73+
- { compiler: { name: MinGW, ver: 10.3.0 }, std: 23 }
74+
- { compiler: { name: Clang, ver: 11.1.0 }, std: 23 }
5675

5776
runs-on: ${{matrix.os}}
5877
steps:
5978
- uses: actions/checkout@v4
6079

6180
- name: Create Build Environment
62-
if: matrix.compiler.tool != 'msvc'
81+
if: matrix.compiler.name != 'MSVC'
6382
shell: bash
64-
run: choco install ${{matrix.compiler.tool}} --version ${{matrix.compiler.ver}} --allow-downgrade -y && choco install ninja && cmake -E make_directory ${{runner.workspace}}/build
83+
run: choco install ${{matrix.package}} --version ${{matrix.compiler.ver}} --allow-downgrade -y && choco install ninja && cmake -E make_directory ${{runner.workspace}}/build
6584

66-
- name: Update Sys Path
67-
if: matrix.compiler.tool == 'mingw'
68-
run: ("${{env.CHOCO_LIB_DIR}}\\mingw\\tools\\install\\mingw64\\bin;" + (Get-Content -Path $env:GITHUB_PATH)) | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8
85+
- name: Try Setup MinGW Environment
86+
if: matrix.compiler.name == 'MinGW'
87+
run: ("${{env.CHOCO_MINGW_BIN_DIR}};" + (Get-Content -Path $env:GITHUB_PATH)) | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8
6988
shell: pwsh
7089

7190
- name: Configure
7291
env:
7392
CXX: ${{matrix.cxx}}
7493
CC: ${{matrix.cc}}
75-
PARAMETERS: ${{ matrix.compiler.tool == 'msvc' && format('-A x64 -T v{0}', matrix.compiler.ver) || format('-G "{0}"', matrix.generator) }}
94+
PARAMETERS: ${{ matrix.compiler.name == 'MSVC' && format('-A x64 -T v{0}', matrix.compiler.ver) || format('-G "{0}"', matrix.generator) }}
7695
run: cmake -B ${{runner.workspace}}/build ${{env.PARAMETERS}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_STANDARD=${{matrix.std}} -D_7BIT_DI_LIBRARY_TYPE=${{matrix.library_type}} -D_7BIT_DI_BUILD_ALL_TESTS=ON
7796

7897
- name: Build

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.15.0)
33
set(_7BIT_DI_LIBRARY 7bitDI)
44

55
set(_7BIT_DI_VERSION_MAJOR 3)
6-
set(_7BIT_DI_VERSION_MINOR 3)
6+
set(_7BIT_DI_VERSION_MINOR 4)
77
set(_7BIT_DI_VERSION_PATCH 0)
88

99
set(_7BIT_DI_VERSION ${_7BIT_DI_VERSION_MAJOR}.${_7BIT_DI_VERSION_MINOR}.${_7BIT_DI_VERSION_PATCH})

0 commit comments

Comments
 (0)