Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
b771001
Update linux-build.yml
eigen-frog Feb 18, 2026
3c7bc91
Update windows-build.yml
eigen-frog Feb 18, 2026
7466828
Update windows-build.yml
eigen-frog Feb 18, 2026
90797ce
Merge pull request #2 from ReflectCxx/release
eigen-frog Feb 18, 2026
39c2b1b
Windows build workflow update.
panda-ptr Feb 18, 2026
54f4075
Merge pull request #3 from ReflectCxx/develop
eigen-frog Feb 18, 2026
8034b58
merged linux/windows build yml
panda-ptr Feb 18, 2026
6a53a01
Merge pull request #4 from ReflectCxx/develop
eigen-frog Feb 18, 2026
544d648
build workflow fix.
panda-ptr Feb 18, 2026
f633aae
Merge pull request #5 from ReflectCxx/develop
eigen-frog Feb 18, 2026
e4c2faf
build workflow fix.
panda-ptr Feb 18, 2026
3044867
Merge pull request #6 from ReflectCxx/develop
eigen-frog Feb 18, 2026
03dbf39
build workflow fix.
panda-ptr Feb 18, 2026
1c8c75b
Merge pull request #7 from ReflectCxx/develop
eigen-frog Feb 18, 2026
f021ccd
Update README.md
eigen-frog Feb 18, 2026
275e237
Update README.md
eigen-frog Feb 18, 2026
825674a
Update build.yml
eigen-frog Feb 18, 2026
12742f3
Update build.yml
eigen-frog Feb 18, 2026
46e2f86
Update README.md
eigen-frog Feb 18, 2026
f9071a5
Update README.md
eigen-frog Feb 18, 2026
cd8c25d
Update README.md
eigen-frog Feb 18, 2026
93be136
Update README.md
eigen-frog Feb 18, 2026
a5d06be
Update README.md
eigen-frog Feb 18, 2026
0559811
Update README.md
eigen-frog Feb 18, 2026
733aea9
Update README.md
eigen-frog Feb 18, 2026
3ef5a6f
Update README.md
eigen-frog Feb 18, 2026
eb40bec
Header text for generated files added.
panda-ptr Feb 18, 2026
e618d9e
Merge pull request #8 from ReflectCxx/develop
eigen-frog Feb 18, 2026
607704d
Update README.md
eigen-frog Feb 18, 2026
7b068fe
Merge pull request #9 from ReflectCxx/release
eigen-frog Feb 18, 2026
89f320d
Merge pull request #10 from ReflectCxx/develop
eigen-frog Feb 18, 2026
6c870cb
removed samplesrc project.
panda-ptr Feb 19, 2026
bf7d06b
Merge pull request #12 from ReflectCxx/develop
eigen-frog Feb 19, 2026
1781931
Unified/consistent path fix.
panda-ptr Feb 19, 2026
4b207fb
Merge pull request #13 from ReflectCxx/develop
eigen-frog Feb 19, 2026
ffe8d83
Update README.md
eigen-frog Feb 19, 2026
22506d5
Update README.md
eigen-frog Feb 19, 2026
603a809
Update README.md
eigen-frog Feb 19, 2026
c38a70a
Update README.md
eigen-frog Feb 19, 2026
8c4ce6d
Merge pull request #14 from ReflectCxx/develop
eigen-frog Feb 19, 2026
f2008ed
Merge pull request #15 from ReflectCxx/release
eigen-frog Feb 19, 2026
49da409
Merge pull request #16 from ReflectCxx/develop
eigen-frog Feb 19, 2026
da270e5
updated CI linux platform.
panda-ptr Feb 19, 2026
dcdacfb
Merge pull request #17 from ReflectCxx/develop
eigen-frog Feb 19, 2026
c880752
updated CI linux platform.
panda-ptr Feb 19, 2026
5a6d4b9
Merge pull request #18 from ReflectCxx/develop
eigen-frog Feb 19, 2026
71a7550
Update README.md
eigen-frog Feb 19, 2026
0ee95b5
Update README.md
eigen-frog Feb 19, 2026
18c2d00
Update README.md
eigen-frog Feb 19, 2026
e55588b
Update README.md
eigen-frog Feb 21, 2026
f9b2cae
Reorganizing TestSrcProject.
eigen-frog Feb 21, 2026
9169bc2
Reorganizing TestSrcProject.
eigen-frog Feb 21, 2026
d66d57e
refined message logs.
eigen-frog Feb 21, 2026
f543ff4
clang-tool diagonastics improved.
eigen-frog Feb 21, 2026
efa47ba
added run_clang_mirror script.
panda-ptr Feb 21, 2026
39d11e8
console text formatting.
panda-ptr Feb 21, 2026
5459b95
TestSrcProject cmake setup fix.
eigen-frog Feb 21, 2026
0f1fac8
Renamed TestSrcProject.
eigen-frog Feb 21, 2026
5d27681
gitignore fixes
panda-ptr Feb 21, 2026
4b968f4
Merge pull request #19 from ReflectCxx/develop
eigen-frog Feb 21, 2026
a39ad03
minor formatting fixes.
eigen-frog Feb 22, 2026
04be2bb
Merge pull request #20 from ReflectCxx/develop
eigen-frog Feb 22, 2026
ee4c5d7
Update README.md
eigen-frog Feb 22, 2026
6e7e07d
updated build.yml
eigen-frog Feb 22, 2026
d71c6e0
Merge pull request #21 from ReflectCxx/develop
eigen-frog Feb 22, 2026
3c00c88
added CDB support.
eigen-frog Feb 22, 2026
f3972b3
fix cdb error.
panda-ptr Feb 22, 2026
570d400
Merge pull request #22 from ReflectCxx/develop
eigen-frog Feb 22, 2026
205520e
ignored template classes for reflection.
panda-ptr Feb 23, 2026
c8eb3fb
err msg formatting fix.
panda-ptr Feb 23, 2026
2dec1bb
Refactor
panda-ptr Feb 23, 2026
1d704d8
global function overloads fix.
panda-ptr Feb 23, 2026
9a49fd9
Merge pull request #23 from ReflectCxx/develop
eigen-frog Feb 23, 2026
1bf971c
system header exclusion and error-handling fixes.
panda-ptr Feb 23, 2026
e5ffa22
Merge pull request #24 from ReflectCxx/develop
eigen-frog Feb 23, 2026
32d1207
added exclusion support from commandline.
panda-ptr Feb 24, 2026
c35d616
dependent header lookup.
panda-ptr Feb 24, 2026
07c5230
header extraction
eigen-frog Feb 24, 2026
c57eb52
headers: lookup fixes
panda-ptr Feb 25, 2026
cbcc6d0
headers: in progress.
eigen-frog Feb 25, 2026
9a80bc4
headers: in progress.
eigen-frog Feb 25, 2026
c5fb1cc
headers: in progress.
eigen-frog Feb 25, 2026
40ad6a8
headers: in progress.
eigen-frog Feb 25, 2026
e0335c1
headers: in progress.
eigen-frog Feb 25, 2026
9c7e5b0
headers: in progress.
eigen-frog Feb 25, 2026
2ecdcfd
headers: in progress.
eigen-frog Feb 26, 2026
cef6faa
headers: method filter fix.
eigen-frog Feb 26, 2026
aa1a5ac
header: mapping in progress.
panda-ptr Feb 26, 2026
9d0b865
header: mapping in progress.
panda-ptr Feb 26, 2026
63ff1df
header: mapping in progress.
panda-ptr Feb 26, 2026
47ed573
headers: include-path filter option.
eigen-frog Feb 26, 2026
bbf6d2b
headers: public headers.
eigen-frog Feb 26, 2026
d570eb5
code seperated
eigen-frog Feb 27, 2026
3e38f0b
code refactored, better.
eigen-frog Feb 27, 2026
2c931a2
header processing, in progress.
panda-ptr Feb 27, 2026
43c3634
header processing, in progress.
panda-ptr Feb 27, 2026
e0a7b64
header processing, in progress.
panda-ptr Feb 28, 2026
16552a8
minor refactor
eigen-frog Feb 28, 2026
ef40e9a
Registration error codes in place.
panda-ptr Feb 28, 2026
5d66787
registration err codes integration
eigen-frog Feb 28, 2026
d821f62
ast processing: in progress.
panda-ptr Feb 28, 2026
09acda6
ast parsing: in progress.
eigen-frog Feb 28, 2026
8ffac71
ast processing: in progress.
panda-ptr Feb 28, 2026
15aef51
fix type extraction.
panda-ptr Feb 28, 2026
a17be9d
fix type extraction.
panda-ptr Feb 28, 2026
86c2d68
exclude private header bug fix.
panda-ptr Feb 28, 2026
d948183
minor fix
panda-ptr Mar 1, 2026
54adf3b
registered entities count added.
panda-ptr Mar 1, 2026
b1459a0
minor update.
panda-ptr Mar 1, 2026
80bff71
header serach: in progress.
eigen-frog Mar 1, 2026
eff264d
header processing.
eigen-frog Mar 1, 2026
6e8c814
header resolution.
panda-ptr Mar 1, 2026
9d55998
header processing fixes done.
panda-ptr Mar 1, 2026
b0d994b
header ordering fixes.
eigen-frog Mar 2, 2026
b055574
header inclusion simplified.
panda-ptr Mar 2, 2026
ef048a0
buid include chain, in progress.
panda-ptr Mar 3, 2026
172b39e
header DFS in place now.
eigen-frog Mar 3, 2026
4451167
cleanup
panda-ptr Mar 3, 2026
fdf2c0e
header sanitization.
panda-ptr Mar 3, 2026
f5530c4
bug-fix
panda-ptr Mar 3, 2026
9526348
minor, insignificant refactor.
eigen-frog Mar 4, 2026
1aaafd6
debug logs added
eigen-frog Mar 4, 2026
fd4f668
skip main TU for include-str.
panda-ptr Mar 4, 2026
58d8c8a
must not skip source TU for include-str.
panda-ptr Mar 4, 2026
2f46108
bug fixes.
panda-ptr Mar 4, 2026
3ad7c17
Merge pull request #25 from ReflectCxx/develop
eigen-frog Mar 5, 2026
4c55fe2
header processing test
panda-ptr Mar 5, 2026
8a19c3b
in progress
panda-ptr Mar 5, 2026
57c28b8
header processing improved.
panda-ptr Mar 6, 2026
9300550
bug fixes.
panda-ptr Mar 7, 2026
b0c2cf0
minor refactor
panda-ptr Mar 7, 2026
77c4391
tests in progress
panda-ptr Mar 7, 2026
846568d
debug false and cleanup.
eigen-frog Mar 7, 2026
42b52f1
Merge pull request #26 from ReflectCxx/develop
eigen-frog Mar 7, 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
199 changes: 199 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
name: Build

on:
push:
branches: [ release ]
paths-ignore:
- '**.md'
- 'docs/**'
- 'README*'
- 'LICENSE'
workflow_dispatch:

concurrency:
group: release-build
cancel-in-progress: true

jobs:

# ============================================================
# MATRIX BUILD
# ============================================================

build:
strategy:
matrix:
os: [ubuntu-24.04, windows-latest]

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

permissions:
contents: write

env:
REL: release-latest

steps:
- uses: actions/checkout@v4

# ----------------------------
# LINUX BUILD
# ----------------------------
- name: Linux - Install LLVM
if: matrix.os == 'ubuntu-24.04'
run: |
sudo apt-get update
sudo apt-get install -y wget gnupg

wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 21

sudo apt-get install -y \
ninja-build \
clang-21 \
clang-tools-21 \
llvm-21-dev \
libclang-21-dev

echo "LLVM_ROOT=/usr/lib/llvm-21" >> $GITHUB_ENV

- name: Linux - Configure
if: matrix.os == 'ubuntu-24.04'
run: |
rm -rf build
cmake -S . -B build \
-G Ninja \
-DCMAKE_C_COMPILER=clang-21 \
-DCMAKE_CXX_COMPILER=clang++-21 \
-DLLVM_ROOT=$LLVM_ROOT \
-DCMAKE_BUILD_TYPE=Release

- name: Linux - Build
if: matrix.os == 'ubuntu-24.04'
run: cmake --build build --parallel

- name: Linux - Package
if: matrix.os == 'ubuntu-24.04'
run: |
mkdir -p release
cp bin/clang-mirror release/
tar -czf clang-mirror-linux.tar.gz -C release .

- name: Linux - Upload Artifact
if: matrix.os == 'ubuntu-24.04'
uses: actions/upload-artifact@v4
with:
name: linux-artifact
path: clang-mirror-linux.tar.gz

# ----------------------------
# WINDOWS BUILD
# ----------------------------
- name: Windows - Download LLVM
if: matrix.os == 'windows-latest'
shell: pwsh
run: |
$LLVM_VERSION="21.1.0"
$LLVM_DIR_NAME="clang+llvm-21.1.0-x86_64-pc-windows-msvc"

curl -L -o llvm.tar.xz `
https://github.com/llvm/llvm-project/releases/download/llvmorg-$LLVM_VERSION/$LLVM_DIR_NAME.tar.xz

tar -xf llvm.tar.xz
Rename-Item $LLVM_DIR_NAME llvm

- name: Windows - Configure
if: matrix.os == 'windows-latest'
shell: pwsh
run: |
cmake -S . -B build `
-G "Visual Studio 17 2022" `
-A x64 `
-DLLVM_ROOT="$pwd/llvm"

- name: Windows - Build
if: matrix.os == 'windows-latest'
shell: pwsh
run: |
cmake --build build --config Release --parallel

- name: Windows - Package
if: matrix.os == 'windows-latest'
shell: pwsh
run: |
New-Item -ItemType Directory -Force -Path release | Out-Null
Copy-Item bin/Release/clang-mirror.exe release/
Compress-Archive release clang-mirror-windows.zip -Force

- name: Windows - Upload Artifact
if: matrix.os == 'windows-latest'
uses: actions/upload-artifact@v4
with:
name: windows-artifact
path: clang-mirror-windows.zip


# ============================================================
# SINGLE RELEASE JOB
# ============================================================

release:
needs: build
runs-on: ubuntu-24.04

# Strict serialization lock
concurrency:
group: rolling-release-lock
cancel-in-progress: false

permissions:
contents: write

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

- uses: actions/download-artifact@v4
with:
name: linux-artifact
path: artifacts

- uses: actions/download-artifact@v4
with:
name: windows-artifact
path: artifacts

# Move tag first (source of truth)
- name: Update rolling tag
run: |
git tag -f release-latest
git push origin release-latest --force

# Delete release if exists (idempotent)
- 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

# Create release atomically
- 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

# Upload assets in a single controlled step
- name: Upload assets
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -e
gh release upload release-latest artifacts/* --clobber
68 changes: 0 additions & 68 deletions .github/workflows/linux-build.yml

This file was deleted.

100 changes: 0 additions & 100 deletions .github/workflows/windows-build.yml

This file was deleted.

8 changes: 3 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,11 @@ bin/

# Visual Studio
.vs/
.vscode/
.cache/
*.VC.db
*.VC.opendb

# Project-specific generated folders
TestSrcProject/build
TestSrcProject/RTLRegistration

# Tool configs (only if local)
TestSrcProject/.clang-tidy
*compile_commands*
RTLRegistration/
Loading