Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1203 commits
Select commit Hold shift + click to select a range
82319ed
readme update.
panda-ptr Jan 15, 2026
4419704
readme badge update.
panda-ptr Jan 15, 2026
0f66b65
Update README to consolidate Codespaces link
panda-ptr Jan 15, 2026
7c9010c
Update README for GitHub Codespaces link formatting
panda-ptr Jan 15, 2026
62df15b
update README.
panda-ptr Jan 15, 2026
47ae755
readme, link update
panda-ptr Jan 15, 2026
65c590d
Merge pull request #88 from ReflectCxx/develop
panda-ptr Jan 15, 2026
0371709
codespaces cmd update.
panda-ptr Jan 15, 2026
fd3b85d
seperate demo code.
panda-ptr Jan 15, 2026
3ccd022
cleanup.
panda-ptr Jan 15, 2026
674ad00
Format demo link section in README.md
panda-ptr Jan 15, 2026
8a55897
Merge pull request #89 from ReflectCxx/release
panda-ptr Jan 16, 2026
416eaaa
git release: artifacts upload.
panda-ptr Jan 16, 2026
e42472f
fix binary names.
panda-ptr Jan 16, 2026
fc0f734
fix msvc binary rename err.
panda-ptr Jan 16, 2026
41b94c1
Merge pull request #90 from ReflectCxx/develop
panda-ptr Jan 16, 2026
aa86792
fix codecov run on merge.
panda-ptr Jan 16, 2026
830840e
upload permission issue fix.
panda-ptr Jan 16, 2026
b22581c
README update.
panda-ptr Jan 16, 2026
bd6ce38
Merge pull request #91 from ReflectCxx/develop
panda-ptr Jan 16, 2026
948a4b8
renaming relase bins.
panda-ptr Jan 16, 2026
a1a27a3
Merge pull request #92 from ReflectCxx/develop
panda-ptr Jan 16, 2026
cc86d32
Add FUNDING.yml for GitHub sponsorship
panda-ptr Jan 16, 2026
4733996
added sponser badge.
panda-ptr Jan 16, 2026
7bb407c
Support update.
panda-ptr Jan 16, 2026
002a789
Merge branch 'release' into develop
panda-ptr Jan 16, 2026
1f69cfd
Readme update.
panda-ptr Jan 16, 2026
c9b27b8
Merge branch 'develop' of https://github.com/ReflectCxx/ReflectionTem…
panda-ptr Jan 16, 2026
2eeb021
badge fix.
panda-ptr Jan 16, 2026
c94fd54
badge update
panda-ptr Jan 16, 2026
43b2ec3
minor change
panda-ptr Jan 16, 2026
c24a951
Merge pull request #93 from ReflectCxx/develop
panda-ptr Jan 16, 2026
2128a0f
minor Readme refinement.
panda-ptr Jan 16, 2026
aa48037
Update README.md
panda-ptr Jan 16, 2026
0cb993c
Update README.md
panda-ptr Jan 16, 2026
2379e92
Update README.md
panda-ptr Jan 16, 2026
3ff1d0b
Update README.md
panda-ptr Jan 16, 2026
6641a29
Merge pull request #94 from ReflectCxx/release
panda-ptr Jan 17, 2026
7ba7bc1
yml: userid changed.
panda-ptr Jan 17, 2026
6a1e039
minor readme update.
panda-ptr Jan 17, 2026
d0aed6e
Merge pull request #95 from ReflectCxx/develop
panda-ptr Jan 17, 2026
e234e86
fixing a clone test.
panda-ptr Jan 17, 2026
fdc7333
gcc/clang, template err fix.
panda-ptr Jan 17, 2026
c8ed500
RObjectConverters: Heap clone fix.
panda-ptr Jan 17, 2026
abe22b0
gocv known coverage exclusion.
panda-ptr Jan 17, 2026
5f52cc0
codecov ignore file.
panda-ptr Jan 17, 2026
e0b96b3
Merge pull request #96 from ReflectCxx/develop
panda-ptr Jan 17, 2026
8fbe27e
Readme update.
panda-ptr Jan 17, 2026
9025d96
Merge pull request #97 from ReflectCxx/develop
panda-ptr Jan 17, 2026
5faea79
ctor() renamed.
panda-ptr Jan 18, 2026
cb59ab4
Merge pull request #98 from ReflectCxx/develop
panda-ptr Jan 18, 2026
4ab57bb
CxxMirror: disabled implicit copy-ctor.
panda-ptr Jan 18, 2026
e22eeb5
cleanup.
panda-ptr Jan 18, 2026
0fdb5a8
CxxMirror: polished comments.
panda-ptr Jan 18, 2026
bc597b5
ignore actions for .md file edits.
panda-ptr Jan 18, 2026
76066cd
readme update.
panda-ptr Jan 18, 2026
60bfd92
Merge pull request #99 from ReflectCxx/develop
panda-ptr Jan 18, 2026
f7ddbbc
fix: erased-target-known-return with 'void'.
panda-ptr Jan 18, 2026
9bf3fcb
test: erased-target, 'void' return, const-method.
panda-ptr Jan 18, 2026
93623ec
codecov: test props and utils exclusion.
panda-ptr Jan 18, 2026
33465ee
Merge pull request #100 from ReflectCxx/develop
panda-ptr Jan 18, 2026
0018274
readme update.
panda-ptr Jan 18, 2026
8e492a6
Readme update.
panda-ptr Jan 19, 2026
28b662b
Readme update.
panda-ptr Jan 19, 2026
4b49812
Design doc update.
panda-ptr Jan 19, 2026
2a2f895
Design doc update.
panda-ptr Jan 19, 2026
73bee76
Design doc update.
panda-ptr Jan 19, 2026
07f6f23
Design doc update.
panda-ptr Jan 19, 2026
c21e351
Update README.md
panda-ptr Jan 19, 2026
25950ae
design doc update.
panda-ptr Jan 19, 2026
079bbc2
string_view: benchmark logs added.
panda-ptr Jan 19, 2026
f5d2a89
string: benchmark logs added.
panda-ptr Jan 19, 2026
9e84b27
added benchmark summary.
panda-ptr Jan 20, 2026
257c7ac
Merge branch 'release' of https://github.com/ReflectCxx/ReflectionTem…
panda-ptr Jan 20, 2026
1d12664
bm-summary corrections.
panda-ptr Jan 20, 2026
1997f65
corrections.
panda-ptr Jan 20, 2026
7f39473
Readme update.
panda-ptr Jan 20, 2026
8e292ac
Readme update.
panda-ptr Jan 20, 2026
f70895e
Readme update.
panda-ptr Jan 20, 2026
a941ff3
Readme update.
panda-ptr Jan 20, 2026
d31b0c1
adding benchmark images.
panda-ptr Jan 20, 2026
614d774
better res bm images.
panda-ptr Jan 20, 2026
d7bf260
visual bms added.
panda-ptr Jan 20, 2026
28a8bd8
image adjustment
panda-ptr Jan 20, 2026
e14d8ce
Update benchmark_summary.md
panda-ptr Jan 20, 2026
58bdf2a
Update benchmark_summary.md
panda-ptr Jan 20, 2026
0f9cc72
docs correction, updates.
panda-ptr Jan 20, 2026
edfecc0
Merge branch 'release' of https://github.com/ReflectCxx/ReflectionTem…
panda-ptr Jan 20, 2026
480fa84
docs correction.
panda-ptr Jan 20, 2026
5e0dd9e
perf. summary edits.
panda-ptr Jan 20, 2026
6b444f8
Update benchmark_summary.md
panda-ptr Jan 20, 2026
a132a45
Update README.md
panda-ptr Jan 20, 2026
7b1a374
Update benchmark_summary.md
panda-ptr Jan 20, 2026
a4204d3
Update benchmark_summary.md
panda-ptr Jan 20, 2026
bc52a49
Update README.md
panda-ptr Jan 20, 2026
f1de6f3
design doc update.
panda-ptr Jan 21, 2026
e30e5c6
doc: Syntax-n-Semantics update.
panda-ptr Jan 21, 2026
fe1159a
doc: Syntax-n-Semantics update.
panda-ptr Jan 21, 2026
f19ded6
doc: registration syns-n-sems.
panda-ptr Jan 21, 2026
c49572e
doc: syns-n-sems, queries.
panda-ptr Jan 21, 2026
beb4646
doc: syns-n-sems, callables.
panda-ptr Jan 21, 2026
7e4587c
Update RTL_SYNTAX_AND_SEMANTICS.md
panda-ptr Jan 21, 2026
88e4e49
doc: syns-n-sems, metadata-query.
panda-ptr Jan 21, 2026
59a07dc
doc: syns-n-sems, correction.
panda-ptr Jan 21, 2026
fe885d9
doc: syns-n-sems, materialize, intro.
panda-ptr Jan 21, 2026
7105432
doc: syns-n-sems, ctors.
panda-ptr Jan 21, 2026
b6f8a9b
doc: syns-n-sems, corrections.
panda-ptr Jan 21, 2026
297f7a8
doc: syns-n-sems, spacing.
panda-ptr Jan 21, 2026
0bcc50e
Readme update.
panda-ptr Jan 21, 2026
2f75a2a
Update README.md
panda-ptr Jan 21, 2026
af520d3
Update README.md
panda-ptr Jan 21, 2026
573a74f
Update README.md
panda-ptr Jan 21, 2026
e55d2bc
Update RTL_SYNTAX_AND_SEMANTICS.md
panda-ptr Jan 21, 2026
c6f7f92
Update RTL_SYNTAX_AND_SEMANTICS.md
panda-ptr Jan 21, 2026
fc78b26
Readme update.
panda-ptr Jan 22, 2026
0ae8886
Readme update.
panda-ptr Jan 22, 2026
f2ab77b
Readme update.
panda-ptr Jan 22, 2026
d246951
doc corrections.
panda-ptr Jan 22, 2026
3bfb71a
Update README.md
panda-ptr Jan 22, 2026
ac81d38
doc: syns-n-sems, rtl::function.
panda-ptr Jan 22, 2026
b143712
Merge branch 'release' of https://github.com/ReflectCxx/ReflectionTem…
panda-ptr Jan 22, 2026
b905fd5
doc: syns-n-sems, rtl::method.
panda-ptr Jan 22, 2026
99d2801
doc: syns-n-sems, rtl::method.
panda-ptr Jan 22, 2026
8a80042
doc: syns-n-sems, rtl::method.
panda-ptr Jan 22, 2026
3560ab3
doc: syns-n-sems, rtl::method done.
panda-ptr Jan 22, 2026
63ad3ee
doc: syns-n-sems, rtl::RObject.
panda-ptr Jan 22, 2026
1618d26
doc: correction.
panda-ptr Jan 22, 2026
9ee99be
doc: move semantics.
panda-ptr Jan 22, 2026
c2fbeb5
doc: corrections.
panda-ptr Jan 22, 2026
60c95ae
doc: perfect forwarding.
panda-ptr Jan 22, 2026
a94a2fe
doc: index updated.
panda-ptr Jan 22, 2026
7b5c740
doc: index correction.
panda-ptr Jan 22, 2026
2c8d26e
undo last commit.
panda-ptr Jan 22, 2026
b1757f4
doc: improvements.
panda-ptr Jan 23, 2026
608eb00
doc: improvements.
panda-ptr Jan 23, 2026
b3291f8
doc: improvements.
panda-ptr Jan 23, 2026
62b0e02
doc: improvements.
panda-ptr Jan 23, 2026
b6a1607
doc: improvements.
panda-ptr Jan 23, 2026
5e23073
doc: improvements.
panda-ptr Jan 23, 2026
0110db4
doc: corrections.
panda-ptr Jan 23, 2026
442c53c
doc: corrections.
panda-ptr Jan 23, 2026
f5cf78b
doc: ref-binding done.
panda-ptr Jan 23, 2026
0400ef9
doc: corrections.
panda-ptr Jan 23, 2026
5b2c0a0
doc: ploishing
panda-ptr Jan 23, 2026
5eaab58
doc: rtl::errors
panda-ptr Jan 23, 2026
15da052
Update RTL_SYNTAX_AND_SEMANTICS.md
panda-ptr Jan 23, 2026
2386223
Update RTL_SYNTAX_AND_SEMANTICS.md
panda-ptr Jan 23, 2026
44d2e41
docs: rtl::view
panda-ptr Jan 24, 2026
80bf3cd
docs: rtl::view
panda-ptr Jan 24, 2026
43647ee
docs: rtl::view corrections
panda-ptr Jan 24, 2026
6fe7b59
docs: rtl::view corrections
panda-ptr Jan 24, 2026
c930dab
rtl::view, read-only for unique_ptr as well. no move out.
panda-ptr Jan 24, 2026
f02593d
docs: rtl::view update.
panda-ptr Jan 24, 2026
517dd14
docs: rtl::view update.
panda-ptr Jan 24, 2026
8d8a3a7
cleanup.
panda-ptr Jan 24, 2026
3ca464a
docs: correction.
panda-ptr Jan 24, 2026
c324f97
doc update.
panda-ptr Jan 24, 2026
86a3feb
Update README.md
panda-ptr Jan 24, 2026
8c07786
Readme update.
panda-ptr Jan 24, 2026
c4fac7a
Readme update.
panda-ptr Jan 24, 2026
91b9983
Readme update.
panda-ptr Jan 24, 2026
634a624
ignore test-project for codecov.
panda-ptr Jan 24, 2026
a9a8e5f
Merge pull request #101 from ReflectCxx/develop
panda-ptr Jan 24, 2026
52e60e5
Update badge color for Design Traits in README
panda-ptr Jan 25, 2026
76286ce
Update badge color for RTL Syntax & Semantics
panda-ptr Jan 25, 2026
180c1c8
Revise documentation badges in README.md
panda-ptr Jan 25, 2026
36fdc32
Update demo code link formatting in README
panda-ptr Jan 25, 2026
8efb9a2
Add 'Try RTL Online' badge to README
panda-ptr Jan 25, 2026
90fb07f
Remove 'Try RTL Online' badge from README
panda-ptr Jan 25, 2026
d178307
Update demo code link in README.md
panda-ptr Jan 27, 2026
9251076
Merge pull request #102 from ReflectCxx/release
panda-ptr Jan 27, 2026
da14fbf
Merge pull request #103 from ReflectCxx/develop
panda-ptr Jan 27, 2026
35cb867
Readme update.
panda-ptr Jan 27, 2026
1b89501
Readme update.
panda-ptr Jan 27, 2026
82a7de0
Update GitHub funding username
panda-ptr Jan 28, 2026
6487900
removed logical namespace grouping, will deprecate.
panda-ptr Jan 30, 2026
d2ee2da
Intro update.
panda-ptr Jan 30, 2026
1efc8f1
correction
panda-ptr Jan 30, 2026
50be63a
clang-mirror generated ids added.
panda-ptr Jan 30, 2026
7f8a65f
Update README.md
panda-ptr Feb 1, 2026
102603a
Update README.md
panda-ptr Feb 1, 2026
60915c1
Update README.md
panda-ptr Feb 1, 2026
6e9950e
Update README.md
panda-ptr Feb 1, 2026
3e7eee7
Update README.md
panda-ptr Feb 1, 2026
ad983f9
Update README.md
panda-ptr Feb 1, 2026
5111a41
Update README.md
panda-ptr Feb 1, 2026
f0ef46d
Update README.md
panda-ptr Feb 1, 2026
b7b8350
Update README.md
panda-ptr Feb 2, 2026
8eeada2
Update README.md
panda-ptr Feb 2, 2026
29a953b
Update README.md
panda-ptr Feb 2, 2026
e349813
Update README.md
panda-ptr Feb 2, 2026
d8b2ca4
Update README.md
panda-ptr Feb 2, 2026
3f9a50b
Update DESIGN_PRINCIPLES_AND_FEATURES.md
panda-ptr Feb 2, 2026
6d7fc88
Update DESIGN_PRINCIPLES_AND_FEATURES.md
panda-ptr Feb 2, 2026
9385770
Update README.md
panda-ptr Feb 4, 2026
b091e48
Update README.md
panda-ptr Feb 4, 2026
fae74ad
Update README.md
panda-ptr Feb 4, 2026
e3d8399
Update README.md
panda-ptr Feb 4, 2026
64009a3
Update README.md
panda-ptr Feb 4, 2026
97a4914
Update README.md
panda-ptr Feb 5, 2026
5d505eb
Update README.md
panda-ptr Feb 5, 2026
4e53e90
Update README.md
panda-ptr Feb 6, 2026
784bbf1
Update README.md
panda-ptr Feb 6, 2026
ed888e8
Update README.md
panda-ptr Feb 6, 2026
47c622d
Update README.md
panda-ptr Feb 6, 2026
d09101e
Update README.md
panda-ptr Feb 6, 2026
1d88dee
Update DESIGN_PRINCIPLES_AND_FEATURES.md
panda-ptr Feb 6, 2026
a85d320
Update README.md
panda-ptr Feb 7, 2026
0862999
Update README.md
panda-ptr Feb 7, 2026
97d403d
Update README.md
panda-ptr Feb 7, 2026
89e6c19
Update README.md
panda-ptr Feb 7, 2026
4396c29
removed gcc conditional code.
panda-ptr Feb 8, 2026
f4a2620
using string_view now.
panda-ptr Feb 8, 2026
8a165a8
removed logical namespace grouping.
panda-ptr Feb 8, 2026
80d8bf9
removed namespace maps.
panda-ptr Feb 9, 2026
cf40e44
fix gcc/clang compile err.
panda-ptr Feb 9, 2026
3c9010a
Removed logical namespace grouping. Done.
panda-ptr Feb 9, 2026
43df73d
Merge pull request #104 from ReflectCxx/develop
panda-ptr Feb 9, 2026
1066e0d
clang-mirror generated IDs in place.
panda-ptr Feb 9, 2026
d4dd2e4
clang-mirror generated IDs integration.
panda-ptr Feb 9, 2026
3622d86
Merge branch 'release' into develop
panda-ptr Feb 9, 2026
79aeab3
clang-mirror generated IDs integration.
panda-ptr Feb 9, 2026
078f87c
Merge branch 'develop' of https://github.com/ReflectCxx/ReflectionTem…
panda-ptr Feb 9, 2026
163c8e7
clang-mirror generated IDs integration.
panda-ptr Feb 9, 2026
68a40f5
gcc compile error fix.
panda-ptr Feb 9, 2026
bc98783
gcc compile err fix.
panda-ptr Feb 10, 2026
6e2b5e9
gcc compile err fix.
panda-ptr Feb 10, 2026
8a0d782
adder header-text for generated files..
panda-ptr Feb 10, 2026
1d52872
removed const char* constants.
panda-ptr Feb 10, 2026
68c8826
integrating clang-mirror generated ids.
panda-ptr Feb 10, 2026
849ad1b
integrating clang-mirror generated ids.
panda-ptr Feb 10, 2026
c6ffa14
integrating clang-mirror generated ids.
panda-ptr Feb 10, 2026
e057653
integrating clang-mirror generated ids.
panda-ptr Feb 10, 2026
b7b60a2
refactoring
panda-ptr Feb 10, 2026
44a04ad
clang-mirror generated ids integration.
panda-ptr Feb 11, 2026
702cd85
clang-mirror generated ids integration.
panda-ptr Feb 11, 2026
e744e54
Merge pull request #105 from ReflectCxx/develop
panda-ptr Feb 11, 2026
8c8faf5
Update README.md
eigen-frog Feb 12, 2026
abb14e8
Auto-generated Registration code integration cmake setup.
panda-ptr Feb 18, 2026
963fc74
Merge pull request #106 from ReflectCxx/develop
eigen-frog Feb 18, 2026
b6f660f
Update README.md
eigen-frog Feb 21, 2026
095119d
Update README.md
eigen-frog Feb 21, 2026
bbcf520
comments added, cleanup.
eigen-frog Feb 22, 2026
20df4e5
minor comment change.
panda-ptr Feb 22, 2026
5a62e35
Merge pull request #108 from ReflectCxx/develop
eigen-frog Feb 22, 2026
e95e3e6
added cmake preset.
eigen-frog Feb 22, 2026
9d8c2fc
updated build.yml
eigen-frog Feb 22, 2026
ab3b111
Merge pull request #109 from ReflectCxx/develop
eigen-frog Feb 22, 2026
429268a
biuld.yml update.
eigen-frog Feb 22, 2026
37e2148
Merge pull request #110 from ReflectCxx/develop
eigen-frog Feb 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
coverage:
status:
project:
rtl:
paths:
- ReflectionTemplateLib/rtl
target: 85%
informational: true

comment:
layout: "diff, flags, files"
behavior: default

ignore:
- "CxxTestProps/**"
- "CxxTestUtils/**"
- "RTLTestRunApp/**"
- "RTLBenchmarkApp/**"
- "ReflectionTemplateLib/rtl/detail/src/RObjectConverters_string.cpp"
2 changes: 2 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# These are supported funding model platforms
github: cpphighnrj
134 changes: 134 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
name: RTL Build

permissions:
contents: write

on:
pull_request:
branches: [ release, develop ]
paths-ignore:
- '**/*.md'
push:
branches: [ release ]
paths-ignore:
- '**/*.md'
workflow_dispatch:

jobs:
build:
name: Build (${{ matrix.os }} / ${{ matrix.compiler }})
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest, windows-latest]
compiler: [gcc, clang, msvc]
exclude:
- os: windows-latest
compiler: gcc
- os: windows-latest
compiler: clang
- os: ubuntu-latest
compiler: msvc

steps:
- name: Checkout source
uses: actions/checkout@v4

# Linux dependencies
- name: Install dependencies (Linux)
if: runner.os == 'Linux'
run: |
sudo apt update
sudo apt install -y ninja-build g++ clang

# Configure (Linux)
- name: Configure (Linux)
if: runner.os == 'Linux'
run: |
if [ "${{ matrix.compiler }}" = "gcc" ]; then
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++;
else
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang++;
fi

# Configure (Windows / MSVC)
- name: Configure (Windows / MSVC)
if: runner.os == 'Windows'
run: cmake -B build -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release

# Build
- name: Build
run: cmake --build build --config Release --parallel

# Rename binaries (Linux)
- name: Rename binaries (Linux)
if: runner.os == 'Linux'
run: |
mv bin/RTLTestRunApp bin/RTLTestRunApp-${{ matrix.compiler }}
mv bin/RTLBenchmarkApp bin/RTLBenchmarkApp-${{ matrix.compiler }}

# Rename binaries (Windows / MSVC)
- name: Rename binaries (Windows)
if: runner.os == 'Windows'
run: |
ren bin\Release\RTLTestRunApp.exe RTLTestRunApp-msvc.exe
ren bin\Release\RTLBenchmarkApp.exe RTLBenchmarkApp-msvc.exe

# Upload artifacts (all builds)
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: rtl-test-binaries-${{ matrix.compiler }}
path: bin/

release:
if: github.ref == 'refs/heads/release'
needs: build
runs-on: ubuntu-latest

concurrency:
group: rolling-release-lock
cancel-in-progress: false

permissions:
contents: write

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Download all build artifacts
uses: actions/download-artifact@v4
with:
path: artifacts

- name: Update rolling tag
run: |
git tag -f release-latest
git push origin release-latest --force

- name: Delete existing release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if gh release view release-latest > /dev/null 2>&1; then
gh release delete release-latest -y
fi

- name: Create release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create release-latest \
--title "Rolling Release" \
--notes "Latest build from release branch - Updated $(date -u)" \
--verify-tag

- name: Upload assets
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -e
find artifacts -type f -print0 | xargs -0 gh release upload release-latest --clobber
71 changes: 71 additions & 0 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: RTL Coverage

on:
pull_request:
branches: [ release, develop ]
paths-ignore:
- '**/*.md'
push:
branches: [ release ]
paths-ignore:
- '**/*.md'
workflow_dispatch:

jobs:
coverage:
name: RTL Coverage (Linux / GCC)
runs-on: ubuntu-latest

steps:
- name: Checkout source
uses: actions/checkout@v4

- name: Install coverage tools
run: |
sudo apt update
sudo apt install -y lcov gcovr ninja-build g++

- name: Configure (Coverage)
run: |
cmake -B build -G Ninja \
-DENABLE_COVERAGE=ON \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_CXX_COMPILER=g++

- name: Build
run: cmake --build build --parallel

- name: Run tests
run: |
./bin/RTLTestRunApp

- name: Capture RTL coverage
run: |
lcov --capture --directory . \
--output-file coverage.info \
--ignore-errors=inconsistent,negative,mismatch

lcov --extract coverage.info \
'*ReflectionTemplateLib/rtl/*' \
-o coverage_rtl.info

- name: Generate HTML report
run: |
genhtml coverage_rtl.info \
--output-directory coverage_rtl \
--ignore-errors inconsistent,corrupt

- name: Upload coverage report
uses: actions/upload-artifact@v4
with:
name: rtl-coverage-report
path: coverage_rtl

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
files: coverage_rtl.info
flags: rtl
name: RTL-Core-Coverage
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
################################################################################
# This .gitignore file was automatically created by Microsoft(R) Visual Studio.
################################################################################

/build
/bin
/.vscode
25 changes: 19 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,25 @@
# CMakeLists.txt for the entire project
cmake_minimum_required(VERSION 3.20)
# Set the project name
project(CxxReflectionProject)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin")

# Add the subdirectories
add_subdirectory(CxxTestProject)
# ----------------------------
# Coverage Support (Linux)
# ----------------------------
option(ENABLE_COVERAGE "Enable code coverage" OFF)

if(ENABLE_COVERAGE AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
message(STATUS "Code coverage enabled")
add_compile_options(--coverage -O0 -g)
add_link_options(--coverage)
endif()

# ----------------------------
# Subdirectories
# ----------------------------
add_subdirectory(ReflectionTemplateLib)
add_subdirectory(CxxTypeRegistration)
add_subdirectory(CxxReflectionTests)
add_subdirectory(CxxTestRegistration)
add_subdirectory(CxxTestProps)
add_subdirectory(CxxTestUtils)
add_subdirectory(RTLTestRunApp)
add_subdirectory(RTLBenchmarkApp)
17 changes: 17 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"version": 3,
"configurePresets": [
{
"name": "linux-release",
"displayName": "Linux Release",
"generator": "Unix Makefiles",
"binaryDir": "${sourceDir}/build",

"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_C_COMPILER": "/usr/bin/clang",
"CMAKE_CXX_COMPILER": "/usr/bin/clang++"
}
}
]
}
36 changes: 0 additions & 36 deletions CxxReflectionTests/CMakeLists.txt

This file was deleted.

21 changes: 0 additions & 21 deletions CxxReflectionTests/src/CMakeLists.txt

This file was deleted.

Loading