Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1128 commits
Select commit Hold shift + click to select a range
e6a21d0
design improv: code cleanup.
cpphighnrj Dec 26, 2025
d216177
design improv: removed std::any from all erased-return.
cpphighnrj Dec 27, 2025
ba0646a
design improv: fn_void cleanup, wip.
cpphighnrj Dec 27, 2025
b57b3b4
design improv: forward_call integration, wip.
cpphighnrj Dec 27, 2025
82f151a
design improv: rtl::method, erased-target-known-return fixed.
cpphighnrj Dec 28, 2025
6ce7383
design improv: removed enum 'fn_void'.
cpphighnrj Dec 28, 2025
50594f6
design improv: forward_call integration.
cpphighnrj Dec 28, 2025
1ab9ca4
regression: CopyConstructorTests, done.
cpphighnrj Dec 28, 2025
cf5b49f
Update README.md
cpphighnrj Dec 29, 2025
6bf632d
Update README.md
cpphighnrj Dec 29, 2025
be771c0
Update README.md
cpphighnrj Dec 29, 2025
51c22f9
Update README.md
cpphighnrj Dec 30, 2025
fba2a13
files renamed/added.
cpphighnrj Dec 30, 2025
13738c2
registration example-code refactored.
cpphighnrj Dec 30, 2025
0947a82
introduced rtl::const_method, few tests failing.
cpphighnrj Dec 31, 2025
b4940b9
gcc 'typename' compile error fix.
cpphighnrj Dec 31, 2025
2ab876b
clang 'template' compile error fix.
cpphighnrj Dec 31, 2025
dcbe022
test fixes, few known fails.
cpphighnrj Dec 31, 2025
7cb2088
builder-code refactored, member_kind fix.
cpphighnrj Jan 1, 2026
ccbc5e8
Registration code n metadata refinement
cpphighnrj Jan 2, 2026
b0ec203
RObjectId, code cleanup.
cpphighnrj Jan 2, 2026
c993f1d
minor changes and comment fixes.
cpphighnrj Jan 3, 2026
23e0182
minor but important test refinement.
cpphighnrj Jan 3, 2026
17330dd
minor test-cases refactoring.
cpphighnrj Jan 4, 2026
ca868a2
const-methods: overload auto-resolution, wip.
cpphighnrj Jan 4, 2026
5000d74
const-methods: overload auto-resolution, wip.
cpphighnrj Jan 5, 2026
2b5da95
clang/gcc 'template' error fix.
cpphighnrj Jan 5, 2026
df24e36
const-methods: refactor, wip.
cpphighnrj Jan 5, 2026
583670c
const-methods: implicit call to non-const fixed.
cpphighnrj Jan 6, 2026
d2ae123
const-methods: target-erased caller, const ready now.
cpphighnrj Jan 6, 2026
c171ecd
last incomplete code-check-in fix.
cpphighnrj Jan 6, 2026
f73a588
const-methods: MethodInvoker code refactor.
cpphighnrj Jan 7, 2026
6baea03
const-methods: error-code placement.
cpphighnrj Jan 10, 2026
22bc323
const-methods: all test-case pass now.
cpphighnrj Jan 10, 2026
98460d9
regression: copy/move ctors with new callables.
cpphighnrj Jan 10, 2026
b91f250
regression: MyReflectionTests.cpp with new callables.
cpphighnrj Jan 11, 2026
4078555
regression: const-methods, new callables, done.
cpphighnrj Jan 11, 2026
76ad267
gcc/clang compile err fix.
cpphighnrj Jan 11, 2026
4a88e97
removed old method calling interfaces.
cpphighnrj Jan 11, 2026
d03e2de
new dispatch for all reflected calls in place now.
cpphighnrj Jan 12, 2026
5c39672
removed 'FunctorId', replaced by rtl::type_meta.
cpphighnrj Jan 12, 2026
6ec6e6e
clean-up, refactor, files rename/delete.
cpphighnrj Jan 12, 2026
15202ee
clean-up, refactor, renames/dels, license.
cpphighnrj Jan 13, 2026
af5cd06
clang/gcc 'constexpr' compile err fix.
cpphighnrj Jan 13, 2026
b432f27
added test coverage.
cpphighnrj Jan 13, 2026
7f46b53
git-action fix, json-dump formatted.
cpphighnrj Jan 13, 2026
3fe0eb4
gcov action job fix.
cpphighnrj Jan 13, 2026
9825a06
gcov error fix.
cpphighnrj Jan 13, 2026
12a45a0
git badge fix.
cpphighnrj Jan 13, 2026
d0d7d21
added Codecov coverage upload.
cpphighnrj Jan 13, 2026
d03610e
Readme, bagde fix.
cpphighnrj Jan 13, 2026
98a35e9
fix codecov upload.
cpphighnrj Jan 13, 2026
e149f08
readme, badge fix.
cpphighnrj Jan 13, 2026
9db8f30
codecov, auth fix.
cpphighnrj Jan 13, 2026
5c6d019
codecov config.
cpphighnrj Jan 13, 2026
36608c4
Readme updated.
cpphighnrj Jan 14, 2026
4c619db
resolved merge conflicts.
cpphighnrj Jan 14, 2026
9fe7324
Merge pull request #85 from ReflectCxx/develop
cpphighnrj Jan 14, 2026
3046aea
headers include fix.
cpphighnrj Jan 14, 2026
8c5b034
Readme badge update.
cpphighnrj Jan 14, 2026
d583d21
dead-code cleanup, codecov improvement.
cpphighnrj Jan 14, 2026
b31ec30
Merge pull request #86 from ReflectCxx/develop
cpphighnrj Jan 14, 2026
d5bb370
Update README badges for release branch.
cpphighnrj Jan 14, 2026
189a367
readme: quick preview improved.
cpphighnrj Jan 14, 2026
3af6c0a
readme: quick preview, closing notes.
cpphighnrj Jan 14, 2026
1384d9e
readme: hyphens.
cpphighnrj Jan 14, 2026
b350f5b
Merge pull request #87 from ReflectCxx/develop
cpphighnrj Jan 14, 2026
865b3ef
codespaces: live demo setup.
cpphighnrj Jan 15, 2026
20d6164
demo code updated.
cpphighnrj Jan 15, 2026
0243350
demo, example code update.
cpphighnrj Jan 15, 2026
3ac3e6b
Refine examples and comments in README.md
cpphighnrj Jan 15, 2026
356cbcf
Readme update.
cpphighnrj Jan 15, 2026
58c1500
codecov: ignore few projs.
cpphighnrj Jan 15, 2026
0154545
multiple actions fix.
cpphighnrj Jan 15, 2026
03e9f06
codespace setup.
cpphighnrj Jan 15, 2026
82319ed
readme update.
cpphighnrj Jan 15, 2026
4419704
readme badge update.
cpphighnrj Jan 15, 2026
0f66b65
Update README to consolidate Codespaces link
cpphighnrj Jan 15, 2026
7c9010c
Update README for GitHub Codespaces link formatting
cpphighnrj Jan 15, 2026
62df15b
update README.
cpphighnrj Jan 15, 2026
47ae755
readme, link update
cpphighnrj Jan 15, 2026
65c590d
Merge pull request #88 from ReflectCxx/develop
cpphighnrj Jan 15, 2026
0371709
codespaces cmd update.
cpphighnrj Jan 15, 2026
fd3b85d
seperate demo code.
cpphighnrj Jan 15, 2026
3ccd022
cleanup.
cpphighnrj Jan 15, 2026
674ad00
Format demo link section in README.md
cpphighnrj Jan 15, 2026
8a55897
Merge pull request #89 from ReflectCxx/release
cpphighnrj Jan 16, 2026
416eaaa
git release: artifacts upload.
cpphighnrj Jan 16, 2026
e42472f
fix binary names.
cpphighnrj Jan 16, 2026
fc0f734
fix msvc binary rename err.
cpphighnrj Jan 16, 2026
41b94c1
Merge pull request #90 from ReflectCxx/develop
cpphighnrj Jan 16, 2026
aa86792
fix codecov run on merge.
cpphighnrj Jan 16, 2026
830840e
upload permission issue fix.
cpphighnrj Jan 16, 2026
b22581c
README update.
cpphighnrj Jan 16, 2026
bd6ce38
Merge pull request #91 from ReflectCxx/develop
cpphighnrj Jan 16, 2026
948a4b8
renaming relase bins.
cpphighnrj Jan 16, 2026
a1a27a3
Merge pull request #92 from ReflectCxx/develop
cpphighnrj Jan 16, 2026
cc86d32
Add FUNDING.yml for GitHub sponsorship
cpphighnrj Jan 16, 2026
4733996
added sponser badge.
cpphighnrj Jan 16, 2026
7bb407c
Support update.
cpphighnrj Jan 16, 2026
002a789
Merge branch 'release' into develop
cpphighnrj Jan 16, 2026
1f69cfd
Readme update.
cpphighnrj Jan 16, 2026
c9b27b8
Merge branch 'develop' of https://github.com/ReflectCxx/ReflectionTem…
cpphighnrj Jan 16, 2026
2eeb021
badge fix.
cpphighnrj Jan 16, 2026
c94fd54
badge update
cpphighnrj Jan 16, 2026
43b2ec3
minor change
cpphighnrj Jan 16, 2026
c24a951
Merge pull request #93 from ReflectCxx/develop
cpphighnrj Jan 16, 2026
2128a0f
minor Readme refinement.
cpphighnrj Jan 16, 2026
aa48037
Update README.md
cpphighnrj Jan 16, 2026
0cb993c
Update README.md
cpphighnrj Jan 16, 2026
2379e92
Update README.md
cpphighnrj Jan 16, 2026
3ff1d0b
Update README.md
cpphighnrj Jan 16, 2026
6641a29
Merge pull request #94 from ReflectCxx/release
cpphighnrj Jan 17, 2026
7ba7bc1
yml: userid changed.
cpphighnrj Jan 17, 2026
6a1e039
minor readme update.
cpphighnrj Jan 17, 2026
d0aed6e
Merge pull request #95 from ReflectCxx/develop
cpphighnrj Jan 17, 2026
e234e86
fixing a clone test.
cpphighnrj Jan 17, 2026
fdc7333
gcc/clang, template err fix.
cpphighnrj Jan 17, 2026
c8ed500
RObjectConverters: Heap clone fix.
cpphighnrj Jan 17, 2026
abe22b0
gocv known coverage exclusion.
cpphighnrj Jan 17, 2026
5f52cc0
codecov ignore file.
cpphighnrj Jan 17, 2026
e0b96b3
Merge pull request #96 from ReflectCxx/develop
cpphighnrj Jan 17, 2026
8fbe27e
Readme update.
cpphighnrj Jan 17, 2026
9025d96
Merge pull request #97 from ReflectCxx/develop
cpphighnrj Jan 17, 2026
5faea79
ctor() renamed.
cpphighnrj Jan 18, 2026
cb59ab4
Merge pull request #98 from ReflectCxx/develop
cpphighnrj Jan 18, 2026
4ab57bb
CxxMirror: disabled implicit copy-ctor.
cpphighnrj Jan 18, 2026
e22eeb5
cleanup.
cpphighnrj Jan 18, 2026
0fdb5a8
CxxMirror: polished comments.
cpphighnrj Jan 18, 2026
bc597b5
ignore actions for .md file edits.
cpphighnrj Jan 18, 2026
76066cd
readme update.
cpphighnrj Jan 18, 2026
60bfd92
Merge pull request #99 from ReflectCxx/develop
cpphighnrj Jan 18, 2026
f7ddbbc
fix: erased-target-known-return with 'void'.
cpphighnrj Jan 18, 2026
9bf3fcb
test: erased-target, 'void' return, const-method.
cpphighnrj Jan 18, 2026
93623ec
codecov: test props and utils exclusion.
cpphighnrj Jan 18, 2026
33465ee
Merge pull request #100 from ReflectCxx/develop
cpphighnrj Jan 18, 2026
0018274
readme update.
cpphighnrj Jan 18, 2026
8e492a6
Readme update.
cpphighnrj Jan 19, 2026
28b662b
Readme update.
cpphighnrj Jan 19, 2026
4b49812
Design doc update.
cpphighnrj Jan 19, 2026
2a2f895
Design doc update.
cpphighnrj Jan 19, 2026
73bee76
Design doc update.
cpphighnrj Jan 19, 2026
07f6f23
Design doc update.
cpphighnrj Jan 19, 2026
c21e351
Update README.md
cpphighnrj Jan 19, 2026
25950ae
design doc update.
cpphighnrj Jan 19, 2026
079bbc2
string_view: benchmark logs added.
cpphighnrj Jan 19, 2026
f5d2a89
string: benchmark logs added.
cpphighnrj Jan 19, 2026
9e84b27
added benchmark summary.
cpphighnrj Jan 20, 2026
257c7ac
Merge branch 'release' of https://github.com/ReflectCxx/ReflectionTem…
cpphighnrj Jan 20, 2026
1d12664
bm-summary corrections.
cpphighnrj Jan 20, 2026
1997f65
corrections.
cpphighnrj Jan 20, 2026
7f39473
Readme update.
cpphighnrj Jan 20, 2026
8e292ac
Readme update.
cpphighnrj Jan 20, 2026
f70895e
Readme update.
cpphighnrj Jan 20, 2026
a941ff3
Readme update.
cpphighnrj Jan 20, 2026
d31b0c1
adding benchmark images.
cpphighnrj Jan 20, 2026
614d774
better res bm images.
cpphighnrj Jan 20, 2026
d7bf260
visual bms added.
cpphighnrj Jan 20, 2026
28a8bd8
image adjustment
cpphighnrj Jan 20, 2026
e14d8ce
Update benchmark_summary.md
cpphighnrj Jan 20, 2026
58bdf2a
Update benchmark_summary.md
cpphighnrj Jan 20, 2026
0f9cc72
docs correction, updates.
cpphighnrj Jan 20, 2026
edfecc0
Merge branch 'release' of https://github.com/ReflectCxx/ReflectionTem…
cpphighnrj Jan 20, 2026
480fa84
docs correction.
cpphighnrj Jan 20, 2026
5e0dd9e
perf. summary edits.
cpphighnrj Jan 20, 2026
6b444f8
Update benchmark_summary.md
cpphighnrj Jan 20, 2026
a132a45
Update README.md
cpphighnrj Jan 20, 2026
7b1a374
Update benchmark_summary.md
cpphighnrj Jan 20, 2026
a4204d3
Update benchmark_summary.md
cpphighnrj Jan 20, 2026
bc52a49
Update README.md
cpphighnrj Jan 20, 2026
f1de6f3
design doc update.
cpphighnrj Jan 21, 2026
e30e5c6
doc: Syntax-n-Semantics update.
cpphighnrj Jan 21, 2026
fe1159a
doc: Syntax-n-Semantics update.
cpphighnrj Jan 21, 2026
f19ded6
doc: registration syns-n-sems.
cpphighnrj Jan 21, 2026
c49572e
doc: syns-n-sems, queries.
cpphighnrj Jan 21, 2026
beb4646
doc: syns-n-sems, callables.
cpphighnrj Jan 21, 2026
7e4587c
Update RTL_SYNTAX_AND_SEMANTICS.md
cpphighnrj Jan 21, 2026
88e4e49
doc: syns-n-sems, metadata-query.
cpphighnrj Jan 21, 2026
59a07dc
doc: syns-n-sems, correction.
cpphighnrj Jan 21, 2026
fe885d9
doc: syns-n-sems, materialize, intro.
cpphighnrj Jan 21, 2026
7105432
doc: syns-n-sems, ctors.
cpphighnrj Jan 21, 2026
b6f8a9b
doc: syns-n-sems, corrections.
cpphighnrj Jan 21, 2026
297f7a8
doc: syns-n-sems, spacing.
cpphighnrj Jan 21, 2026
0bcc50e
Readme update.
cpphighnrj Jan 21, 2026
2f75a2a
Update README.md
cpphighnrj Jan 21, 2026
af520d3
Update README.md
cpphighnrj Jan 21, 2026
573a74f
Update README.md
cpphighnrj Jan 21, 2026
e55d2bc
Update RTL_SYNTAX_AND_SEMANTICS.md
cpphighnrj Jan 21, 2026
c6f7f92
Update RTL_SYNTAX_AND_SEMANTICS.md
cpphighnrj Jan 21, 2026
fc78b26
Readme update.
cpphighnrj Jan 22, 2026
0ae8886
Readme update.
cpphighnrj Jan 22, 2026
f2ab77b
Readme update.
cpphighnrj Jan 22, 2026
d246951
doc corrections.
cpphighnrj Jan 22, 2026
3bfb71a
Update README.md
cpphighnrj Jan 22, 2026
ac81d38
doc: syns-n-sems, rtl::function.
cpphighnrj Jan 22, 2026
b143712
Merge branch 'release' of https://github.com/ReflectCxx/ReflectionTem…
cpphighnrj Jan 22, 2026
b905fd5
doc: syns-n-sems, rtl::method.
cpphighnrj Jan 22, 2026
99d2801
doc: syns-n-sems, rtl::method.
cpphighnrj Jan 22, 2026
8a80042
doc: syns-n-sems, rtl::method.
cpphighnrj Jan 22, 2026
3560ab3
doc: syns-n-sems, rtl::method done.
cpphighnrj Jan 22, 2026
63ad3ee
doc: syns-n-sems, rtl::RObject.
cpphighnrj Jan 22, 2026
1618d26
doc: correction.
cpphighnrj Jan 22, 2026
9ee99be
doc: move semantics.
cpphighnrj Jan 22, 2026
c2fbeb5
doc: corrections.
cpphighnrj Jan 22, 2026
60c95ae
doc: perfect forwarding.
cpphighnrj Jan 22, 2026
a94a2fe
doc: index updated.
cpphighnrj Jan 22, 2026
7b5c740
doc: index correction.
cpphighnrj Jan 22, 2026
2c8d26e
undo last commit.
cpphighnrj Jan 22, 2026
b1757f4
doc: improvements.
cpphighnrj Jan 23, 2026
608eb00
doc: improvements.
cpphighnrj Jan 23, 2026
b3291f8
doc: improvements.
cpphighnrj Jan 23, 2026
62b0e02
doc: improvements.
cpphighnrj Jan 23, 2026
b6a1607
doc: improvements.
cpphighnrj Jan 23, 2026
5e23073
doc: improvements.
cpphighnrj Jan 23, 2026
0110db4
doc: corrections.
cpphighnrj Jan 23, 2026
442c53c
doc: corrections.
cpphighnrj Jan 23, 2026
f5cf78b
doc: ref-binding done.
cpphighnrj Jan 23, 2026
0400ef9
doc: corrections.
cpphighnrj Jan 23, 2026
5b2c0a0
doc: ploishing
cpphighnrj Jan 23, 2026
5eaab58
doc: rtl::errors
cpphighnrj Jan 23, 2026
15da052
Update RTL_SYNTAX_AND_SEMANTICS.md
cpphighnrj Jan 23, 2026
2386223
Update RTL_SYNTAX_AND_SEMANTICS.md
cpphighnrj Jan 23, 2026
44d2e41
docs: rtl::view
cpphighnrj Jan 24, 2026
80bf3cd
docs: rtl::view
cpphighnrj Jan 24, 2026
43647ee
docs: rtl::view corrections
cpphighnrj Jan 24, 2026
6fe7b59
docs: rtl::view corrections
cpphighnrj Jan 24, 2026
c930dab
rtl::view, read-only for unique_ptr as well. no move out.
cpphighnrj Jan 24, 2026
f02593d
docs: rtl::view update.
cpphighnrj Jan 24, 2026
517dd14
docs: rtl::view update.
cpphighnrj Jan 24, 2026
8d8a3a7
cleanup.
cpphighnrj Jan 24, 2026
3ca464a
docs: correction.
cpphighnrj Jan 24, 2026
c324f97
doc update.
cpphighnrj Jan 24, 2026
86a3feb
Update README.md
cpphighnrj Jan 24, 2026
8c07786
Readme update.
cpphighnrj Jan 24, 2026
c4fac7a
Readme update.
cpphighnrj Jan 24, 2026
91b9983
Readme update.
cpphighnrj Jan 24, 2026
634a624
ignore test-project for codecov.
cpphighnrj Jan 24, 2026
a9a8e5f
Merge pull request #101 from ReflectCxx/develop
cpphighnrj Jan 24, 2026
52e60e5
Update badge color for Design Traits in README
cpphighnrj Jan 25, 2026
76286ce
Update badge color for RTL Syntax & Semantics
cpphighnrj Jan 25, 2026
180c1c8
Revise documentation badges in README.md
cpphighnrj Jan 25, 2026
36fdc32
Update demo code link formatting in README
cpphighnrj Jan 25, 2026
8efb9a2
Add 'Try RTL Online' badge to README
cpphighnrj Jan 25, 2026
90fb07f
Remove 'Try RTL Online' badge from README
cpphighnrj Jan 25, 2026
d178307
Update demo code link in README.md
cpphighnrj Jan 27, 2026
9251076
Merge pull request #102 from ReflectCxx/release
cpphighnrj Jan 27, 2026
da14fbf
Merge pull request #103 from ReflectCxx/develop
cpphighnrj Jan 27, 2026
35cb867
Readme update.
cpphighnrj Jan 27, 2026
1b89501
Readme update.
cpphighnrj Jan 27, 2026
82a7de0
Update GitHub funding username
cpphighnrj Jan 28, 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
95 changes: 95 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
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/

# Publish to GitHub Release (release branch only)
- name: Publish to GitHub Release (All binaries)
if: github.ref == 'refs/heads/release'
uses: softprops/action-gh-release@v2
with:
tag_name: latest
name: Latest RTL Build
files: |
bin/**
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
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)
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