Skip to content

Commit a5c3fa3

Browse files
Update Doxygen documentation
0 parents  commit a5c3fa3

File tree

908 files changed

+63720
-0
lines changed

Some content is hidden

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

908 files changed

+63720
-0
lines changed

.clang-format

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
BasedOnStyle: Chromium
2+
ColumnLimit: 120

.clang-tidy

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
Checks: >
3+
-*,
4+
readability-braces-around-statements,
5+
clang-diagnostic-*,
6+
clang-analyzer-*,
7+
cppcoreguidelines-*,
8+
cppcoreguidelines-*,
9+
readability-*,
10+
modernize-*,
11+
bugprone-*,
12+
chromium-include-order,
13+
performance-for-range-copy,
14+
performance-implicit-conversion-in-loop,
15+
performance-inefficient-algorithm,
16+
performance-inefficient-string-concatenation,
17+
performance-inefficient-vector-operation,
18+
performance-move-const-arg,
19+
performance-move-constructor-init,
20+
performance-no-automatic-move,
21+
performance-no-int-to-ptr,
22+
performance-trivially-destructible,
23+
performance-type-promotion-in-math-fn,
24+
performance-unnecessary-copy-initialization,
25+
performance-unnecessary-value-param,
26+
-modernize-use-trailing-return-type,
27+
-modernize-avoid-c-arrays,
28+
-bugprone-easily-swappable-parameters,
29+
-cppcoreguidelines-avoid-non-const-global-variables,
30+
-cppcoreguidelines-avoid-magic-numbers,
31+
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
32+
-cppcoreguidelines-special-member-functions,
33+
-cppcoreguidelines-pro-bounds-constant-array-index,
34+
-cppcoreguidelines-non-private-member-variables-in-classes,
35+
-readability-uppercase-literal-suffix,
36+
-readability-identifier-length,
37+
-readability-magic-numbers
38+
WarningsAsErrors: false # should be true once we get there
39+
HeaderFileExtensions: ['h','hh','hpp','hxx'] # enable iff clang-tidy v17+
40+
ImplementationFileExtensions: ['c','cc','cpp','cxx'] # enable iff clang-tidy v17+ (stops from touching .S assembly files)
41+
HeaderFilterRegex: ".*"
42+
ExtraArgs: ['-Wno-unknown-argument', '-Wno-unknown-warning-option', '-W']
43+
FormatStyle: file
44+
CheckOptions:
45+
- key: cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors
46+
value: "1"
47+
- key: cppcoreguidelines-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
48+
value: "1"
49+
- key: modernize-loop-convert.IncludeStyle
50+
value: google
51+
- key: modernize-pass-by-value.IncludeStyle
52+
value: google
53+
- key: modernize-replace-auto-ptr.IncludeStyle
54+
value: google

.gitattributes

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
include/cxx-prettyprint/* linguist-vendored
2+
include/optional/* linguist-vendored
3+
gh-pages/* linguist-vendored
4+
CMake/* linguist-vendored
5+
doxygen_extras/* linguist-vendored
6+
docs/* linguist-documentation

.github/workflows/doxygen.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Generate Doxygen Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
jobs:
10+
generate-docs:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
# Checkout the repository
15+
- name: Checkout repository
16+
uses: actions/checkout@v4
17+
18+
- name: Install CMake
19+
uses: lukka/get-cmake@latest
20+
21+
- name: Install doxygen
22+
uses: ssciwr/doxygen-install@v1
23+
24+
- name: Install graphviz
25+
run: |
26+
sudo apt-get update
27+
sudo apt-get install --no-install-recommends -y graphviz
28+
29+
- name: Run configure
30+
run: cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DCPPSPEC_BUILD_DOCS=ON
31+
32+
# Generate Doxygen documentation
33+
- name: Generate Doxygen documentation
34+
run: cmake --build build --target doxygen
35+
36+
# Deploy to gh-pages branch
37+
- name: Deploy to gh-pages branch
38+
run: |
39+
# Configure Git
40+
git config --global user.name "github-actions[bot]"
41+
git config --global user.email "github-actions[bot]@users.noreply.github.com"
42+
43+
# Create or switch to gh-pages branch
44+
git fetch origin gh-pages || true
45+
git checkout gh-pages || git checkout --orphan gh-pages
46+
47+
# Remove old files and copy new documentation
48+
git rm -rf doxygen || true
49+
mv build/html doxygen
50+
51+
# Commit and push changes
52+
git add .
53+
git commit -m "Update Doxygen documentation"
54+
git push origin gh-pages --force

.github/workflows/test.yml

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
name: Build and Test
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- develop
8+
pull_request:
9+
branches:
10+
- main
11+
12+
jobs:
13+
build-and-test:
14+
runs-on: ${{ matrix.os }}
15+
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
compiler: [native, llvm-18, gcc-14]
20+
os: [ubuntu-latest, windows-latest, macos-13, macos-15]
21+
exclude:
22+
- os: windows-latest
23+
compiler: gcc-14
24+
- os: macos-13
25+
compiler: native # AppleClang is too old
26+
27+
steps:
28+
- name: Checkout code
29+
uses: actions/checkout@v4
30+
31+
- name: Install CMake
32+
uses: lukka/get-cmake@latest
33+
34+
- name: Install Clang
35+
run: |
36+
brew install llvm@18
37+
brew link --force --overwrite llvm@18
38+
echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
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+
42+
- name: Use LLVM and Clang
43+
run: |
44+
echo "CC=clang-18" >> $GITHUB_ENV
45+
echo "CXX=clang++-18" >> $GITHUB_ENV
46+
if: ${{ matrix.compiler == 'llvm-18' && (matrix.os != 'macos-13' && matrix.os != 'macos-15') }}
47+
48+
- name: Use GCC
49+
run: |
50+
echo "CC=gcc-14" >> $GITHUB_ENV
51+
echo "CXX=g++-14" >> $GITHUB_ENV
52+
if: ${{ matrix.compiler == 'gcc-14' }}
53+
54+
- name: Configure
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' }}
61+
62+
- name: Build
63+
run: cmake --build build --config Release
64+
65+
- name: Test
66+
run: ctest --test-dir build --build-config Release --output-on-failure
67+
68+
- name: Upload Test Results
69+
uses: actions/upload-artifact@v4
70+
if: always()
71+
with:
72+
name: Test Results (${{ matrix.os }} - ${{ matrix.compiler }})
73+
path: build/spec/results/*.xml
74+
75+
publish-test-results:
76+
name: "Publish Tests Results"
77+
needs: build-and-test
78+
runs-on: ubuntu-latest
79+
permissions:
80+
checks: write
81+
82+
# only needed unless run with comment_mode: off
83+
pull-requests: write
84+
85+
if: always()
86+
87+
steps:
88+
- name: Download Artifacts
89+
uses: actions/download-artifact@v4
90+
with:
91+
path: artifacts
92+
93+
- name: Publish Test Results
94+
uses: EnricoMi/publish-unit-test-result-action@v2
95+
with:
96+
files: "artifacts/**/*.xml"

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
build*
2+
.cache
3+
.vscode

.pre-commit-config.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
repos:
2+
- repo: https://github.com/rhysd/actionlint
3+
rev: v1.7.7
4+
hooks:
5+
- id: actionlint
6+
- repo: https://github.com/pre-commit/mirrors-clang-format
7+
rev: v20.1.0
8+
hooks:
9+
- id: clang-format
10+
types_or: [c, c++]

.vscode/extensions.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"recommendations": [
3+
"llvm-vs-code-extensions.vscode-clangd"
4+
]
5+
}

.vscode/launch.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"type": "lldb",
6+
"preLaunchTask": "CMake: build",
7+
"request": "launch",
8+
"name": "Launch",
9+
"program": "${workspaceFolder}/build/examples/sample/jasmine_intro.exe",
10+
"args": [],
11+
"cwd": "${workspaceFolder}"
12+
},
13+
],
14+
"compounds": []
15+
}

.vscode/settings.json

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
{
2+
"files.associations": {
3+
"*.scons": "python",
4+
"regex": "cpp",
5+
"xutility": "cpp",
6+
"optional": "cpp",
7+
"iosfwd": "cpp",
8+
"type_traits": "cpp",
9+
"functional": "cpp",
10+
"algorithm": "cpp",
11+
"complex": "cpp",
12+
"system_error": "cpp",
13+
"xlocmon": "cpp",
14+
"xtr1common": "cpp",
15+
"array": "cpp",
16+
"atomic": "cpp",
17+
"bit": "cpp",
18+
"cctype": "cpp",
19+
"charconv": "cpp",
20+
"clocale": "cpp",
21+
"cmath": "cpp",
22+
"compare": "cpp",
23+
"concepts": "cpp",
24+
"cstddef": "cpp",
25+
"cstdint": "cpp",
26+
"cstdio": "cpp",
27+
"cstdlib": "cpp",
28+
"cstring": "cpp",
29+
"ctime": "cpp",
30+
"cwchar": "cpp",
31+
"deque": "cpp",
32+
"exception": "cpp",
33+
"format": "cpp",
34+
"forward_list": "cpp",
35+
"initializer_list": "cpp",
36+
"ios": "cpp",
37+
"iostream": "cpp",
38+
"istream": "cpp",
39+
"iterator": "cpp",
40+
"limits": "cpp",
41+
"list": "cpp",
42+
"locale": "cpp",
43+
"memory": "cpp",
44+
"mutex": "cpp",
45+
"new": "cpp",
46+
"ostream": "cpp",
47+
"queue": "cpp",
48+
"ranges": "cpp",
49+
"ratio": "cpp",
50+
"set": "cpp",
51+
"span": "cpp",
52+
"sstream": "cpp",
53+
"stdexcept": "cpp",
54+
"stop_token": "cpp",
55+
"streambuf": "cpp",
56+
"string": "cpp",
57+
"thread": "cpp",
58+
"tuple": "cpp",
59+
"typeinfo": "cpp",
60+
"unordered_map": "cpp",
61+
"unordered_set": "cpp",
62+
"utility": "cpp",
63+
"valarray": "cpp",
64+
"vector": "cpp",
65+
"xfacet": "cpp",
66+
"xhash": "cpp",
67+
"xiosbase": "cpp",
68+
"xlocale": "cpp",
69+
"xlocbuf": "cpp",
70+
"xlocinfo": "cpp",
71+
"xlocmes": "cpp",
72+
"xlocnum": "cpp",
73+
"xloctime": "cpp",
74+
"xmemory": "cpp",
75+
"xstring": "cpp",
76+
"xtree": "cpp"
77+
},
78+
"cmake.configureArgs": [
79+
"-DCPPSPEC_BUILD_TESTS=YES",
80+
"-DCPPSPEC_BUILD_EXAMPLES=YES"
81+
],
82+
"C_Cpp.intelliSenseEngine": "disabled",
83+
"C_Cpp.autocomplete": "disabled",
84+
"C_Cpp.errorSquiggles": "disabled",
85+
"editor.tokenColorCustomizations": {
86+
"textMateRules": [
87+
{
88+
"scope": "googletest.failed",
89+
"settings": {
90+
"foreground": "#f00"
91+
}
92+
},
93+
{
94+
"scope": "googletest.passed",
95+
"settings": {
96+
"foreground": "#0f0"
97+
}
98+
},
99+
{
100+
"scope": "googletest.run",
101+
"settings": {
102+
"foreground": "#0f0"
103+
}
104+
}
105+
]
106+
},
107+
}

0 commit comments

Comments
 (0)