Skip to content

Commit 310fc09

Browse files
authored
Merge branch 'main' into patch-1
2 parents 06c2047 + 1114bf9 commit 310fc09

File tree

122 files changed

+4804
-1349
lines changed

Some content is hidden

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

122 files changed

+4804
-1349
lines changed

.cmake-format.yaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
format:
2-
line_width: 120
2+
line_width: 100
33
tab_size: 2
4-
max_pargs_hwrap: 3
4+
max_pargs_hwrap: 5
5+
max_subgroups_hwrap: 3
6+
enable_sort: true
7+
autosort: true
58
separate_ctrl_name_with_space: false
69
separate_fn_name_with_space: false
7-
dangle_parens: false
10+
dangle_parens: true
811
line_ending: unix
912
markup:
1013
bullet_char: "*"

.github/workflows/ci.cross.arm.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: ci-cross-arm
2+
on:
3+
pull_request:
4+
push:
5+
branches:
6+
- main
7+
- master
8+
9+
jobs:
10+
Test:
11+
if: "!contains(github.event.head_commit.message, '[skip ci]')"
12+
runs-on: ${{ matrix.os }}
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
os:
17+
- ubuntu-22.04
18+
cmake:
19+
- true
20+
task:
21+
- rpi3:build.cross
22+
- rpi3:build.cross.bare-metal
23+
- rpi4:build.cross
24+
- rpi4:build.cross.aarch64
25+
- rpi4:build.cross.custom-toolchain
26+
- rpi4-vcpkg:build.cross
27+
include:
28+
- task: rpi3:build.cross
29+
install-cross-compiler: gcc-arm-linux-gnueabi g++-arm-linux-gnueabi gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
30+
target: arm-linux-gnueabi
31+
- task: rpi3:build.cross.bare-metal
32+
install-cross-compiler: gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi
33+
target: arm-none-eabi
34+
- task: rpi4:build.cross
35+
install-cross-compiler: g++-aarch64-linux-gnu gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu
36+
target: aarch64-linux-gnu
37+
- task: rpi4:build.cross.aarch64
38+
install-cross-compiler: g++-aarch64-linux-gnu gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu
39+
target: aarch64-linux-gnu
40+
- task: rpi4:build.cross.custom-toolchain
41+
install-cross-compiler: g++-aarch64-linux-gnu gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu
42+
target: aarch64-linux-gnu
43+
- task: rpi4-vcpkg:build.cross
44+
install-cross-compiler: g++-aarch64-linux-gnu gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu
45+
target: aarch64-linux-gnu
46+
steps:
47+
- uses: actions/checkout@v3
48+
with:
49+
submodules: true
50+
- name: Cache
51+
uses: actions/cache@v3
52+
with:
53+
path: |
54+
~/vcpkg
55+
./build/vcpkg_installed
56+
${{ env.HOME }}/.cache/vcpkg/archives
57+
${{ env.XDG_CACHE_HOME }}/vcpkg/archives
58+
${{ env.LOCALAPPDATA }}\vcpkg\archives
59+
${{ env.APPDATA }}\vcpkg\archives
60+
key: ${{ runner.os }}-cross-${{ matrix.target }}-${{ env.BUILD_TYPE }}-${{ hashFiles('**/CMakeLists.txt') }}-${{ hashFiles('./vcpkg.json')}}-${{ matrix.cmake }}
61+
restore-keys: |
62+
${{ runner.os }}-${{ env.BUILD_TYPE }}-
63+
64+
- name: Setup Cpp
65+
uses: aminya/setup-cpp@v1
66+
with:
67+
cmake: ${{ matrix.cmake }}
68+
ninja: true
69+
vcpkg: true
70+
conan: true
71+
cppcheck: true
72+
clangtidy: true
73+
task: true
74+
doxygen: true
75+
76+
- name: Setup ARM (Cross) Compiler
77+
run: sudo apt-get install -y ${{ matrix.install-cross-compiler }}
78+
shell: bash
79+
80+
- name: Build (Task)
81+
run: |
82+
task ${{ matrix.task }}
83+
env:
84+
CMAKE_GENERATOR: ${{ matrix.cmake_generator }}

.github/workflows/ci.mingw.yml renamed to .github/workflows/ci.cross.mingw.yml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ on:
88

99
jobs:
1010
Test:
11-
if: "!contains(github.event.head_commit.message, '[ci skip]')"
11+
if: "!contains(github.event.head_commit.message, '[skip ci]')"
1212
runs-on: ${{ matrix.os }}
1313
strategy:
1414
fail-fast: false
1515
matrix:
1616
os:
17-
- ubuntu-20.04
17+
- ubuntu-22.04
1818
cmake:
1919
- true
2020
platform:
@@ -28,9 +28,11 @@ jobs:
2828
cross_cc: i686-w64-mingw32-gcc
2929
cross_cxx: i686-w64-mingw32-g++
3030
steps:
31-
- uses: actions/checkout@v2
31+
- uses: actions/checkout@v3
32+
with:
33+
submodules: true
3234
- name: Cache
33-
uses: actions/cache@v2
35+
uses: actions/cache@v3
3436
with:
3537
path: |
3638
~/vcpkg
@@ -39,7 +41,7 @@ jobs:
3941
${{ env.XDG_CACHE_HOME }}/vcpkg/archives
4042
${{ env.LOCALAPPDATA }}\vcpkg\archives
4143
${{ env.APPDATA }}\vcpkg\archives
42-
key: ${{ runner.os }}-mingw-${{ matrix.platform }}-${{ env.BUILD_TYPE }}-${{ hashFiles('**/CMakeLists.txt') }}-${{ hashFiles('./vcpkg.json')}}-${{ matrix.cmake }}
44+
key: ${{ runner.os }}-cross-mingw-${{ matrix.platform }}-${{ env.BUILD_TYPE }}-${{ hashFiles('**/CMakeLists.txt') }}-${{ hashFiles('./vcpkg.json')}}-${{ matrix.cmake }}
4345
restore-keys: |
4446
${{ runner.os }}-${{ env.BUILD_TYPE }}-
4547
@@ -55,15 +57,15 @@ jobs:
5557
task: true
5658
doxygen: true
5759
powershell: true
58-
60+
5961
- name: Setup MinGW
6062
uses: egor-tensin/setup-mingw@v2
6163
with:
62-
platform: ${{ matrix.cmake }}
64+
platform: ${{ matrix.platform }}
6365

6466
- name: Build (Minimal)
6567
run: |
66-
task build_minimal_mingw
68+
task minimal:build.mingw
6769
env:
6870
CMAKE_GENERATOR: ${{ matrix.cmake_generator }}
6971
CROSS_CC: ${{ matrix.cross_cc }}

.github/workflows/ci.emscripten.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,21 @@ on:
88

99
jobs:
1010
Test:
11-
if: "!contains(github.event.head_commit.message, '[ci skip]')"
11+
if: "!contains(github.event.head_commit.message, '[skip ci]')"
1212
runs-on: ${{ matrix.os }}
1313
strategy:
1414
fail-fast: false
1515
matrix:
1616
os:
17-
- ubuntu-20.04
17+
- ubuntu-22.04
1818
cmake:
1919
- true
2020
steps:
21-
- uses: actions/checkout@v2
21+
- uses: actions/checkout@v3
22+
with:
23+
submodules: true
2224
- name: Cache
23-
uses: actions/cache@v2
25+
uses: actions/cache@v3
2426
with:
2527
path: |
2628
~/vcpkg
@@ -44,12 +46,12 @@ jobs:
4446
clangtidy: true
4547
task: true
4648
doxygen: true
47-
49+
4850
- name: Setup emscripten
4951
uses: mymindstorm/setup-emsdk@v11
5052

5153
- name: Build
5254
run: |
53-
task build_emscripten
55+
task emscripten:build
5456
env:
5557
CMAKE_GENERATOR: ${{ matrix.cmake_generator }}

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88

99
jobs:
1010
Test:
11-
if: "!contains(github.event.head_commit.message, '[ci skip]')"
11+
if: "!contains(github.event.head_commit.message, '[skip ci]')"
1212
runs-on: ${{ matrix.os }}
1313
strategy:
1414
fail-fast: false
@@ -52,6 +52,8 @@ jobs:
5252
vcvarsall: true
5353
steps:
5454
- uses: actions/checkout@v3
55+
with:
56+
submodules: true
5557
- name: Cache
5658
uses: actions/cache@v3
5759
with:
@@ -83,8 +85,6 @@ jobs:
8385
- name: Test
8486
run: |
8587
task test
86-
task test_release
87-
task test_install
8888
env:
8989
CMAKE_GENERATOR: ${{ matrix.cmake_generator }}
9090

.github/workflows/docs.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: docs
2+
on:
3+
push:
4+
branches:
5+
- main
6+
7+
jobs:
8+
Test:
9+
runs-on: ${{ matrix.os }}
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
os:
14+
- ubuntu-22.04
15+
steps:
16+
- uses: actions/checkout@v3
17+
with:
18+
submodules: true
19+
20+
- name: Setup Cpp
21+
uses: aminya/setup-cpp@v1
22+
with:
23+
cmake: true
24+
ninja: true
25+
task: true
26+
doxygen: true
27+
28+
- name: Setup pandoc
29+
run: |
30+
wget https://github.com/jgm/pandoc/releases/download/3.1.2/pandoc-3.1.2-1-amd64.deb
31+
sudo dpkg -i pandoc-3.1.2-1-amd64.deb
32+
rm pandoc-3.1.2-1-amd64.deb
33+
34+
- name: Build Documentation
35+
run: |
36+
git checkout main
37+
task docs
38+
39+
# TODO Automatic deploys fail
40+
# - name: Deploy Documentation
41+
# uses: Cecilapp/GitHub-Pages-deploy@v3
42+
# with:
43+
# build_dir: docs/build/html/
44+
# branch: gh-pages
45+
46+
# env:
47+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
.cache/
22
test/build/
33
install/
4-
test_install/build/
4+
test_install/build/
5+
build/
6+
compile_commands.json
7+
.mypy_cache/

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "examples/cpp_vcpkg_project"]
2+
path = examples/cpp_vcpkg_project
3+
url = https://github.com/aminya/cpp_vcpkg_project

LICENSE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2022 aminya
3+
Copyright (c) 2022-2100 Amin Yahyaabadi
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

0 commit comments

Comments
 (0)