Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
6218ffd
[scripts] Better build prefix message.
dlyr Sep 12, 2025
eea84c6
[core] Fix missing algorithm include
Sep 15, 2025
1397702
[dataflow-core] Fix typo in doc.
dlyr Oct 18, 2025
2caf492
[dataflow-qtgui] Find qt, import qtnodes in QtGui config.cmake.in.
dlyr Oct 18, 2025
a130a35
[dataflow-core] Fix documentation.
dlyr Oct 18, 2025
a06c4a8
[dataflow-qtgui] Fix node parameters widget.
dlyr Oct 27, 2025
0e15a56
[dataflow-qtgui] semitransparent background to emphasis checkboxes.
dlyr Oct 24, 2025
44206c1
[cmake] Config don't search Resources if not engine ... (need fix)
dlyr Oct 29, 2025
2a2a6c2
[core] EnumConverter, add using alias for initializer_list.
dlyr Nov 1, 2025
ae79de0
[io] Force Release assimp, even when Radium is in Debug.
dlyr Nov 1, 2025
a4a7649
[core][tests] More simplification in simplifiedDemangledType.
dlyr Nov 2, 2025
7796dda
[cmake] Partial fix install Radium only some components.
dlyr Nov 2, 2025
e5a39a9
[cmake] core cmake config in wip
dlyr Nov 3, 2025
079d71a
[core] Comment unused parameter names.
dlyr Nov 3, 2025
1975988
[cmake] Improve doc (need is in fact sets).
dlyr Nov 15, 2025
3520231
[core] Move use double to core target def.
dlyr Nov 15, 2025
6b48c6d
[core][cmake] Do not redefine external dir. Export double conf.
dlyr Nov 15, 2025
193a7ed
[engine][io] Use Alias Core target for dependency.
dlyr Nov 15, 2025
e2a3089
[cmake] Refactor config cmake in.
dlyr Nov 15, 2025
e18f81b
[core] glm not needed in core.
dlyr Nov 15, 2025
ba1f0c4
[cmake] Set Radium_FOUND TRUE.
dlyr Nov 16, 2025
4eb8a47
[cmake] debug radium found.
dlyr Nov 16, 2025
60b4287
[core][cmake] Find only core and tools from open mesh.
dlyr Nov 16, 2025
114c5f0
[cmake] Use check_required_components instead of setting _FOUND.
dlyr Nov 17, 2025
164dc7f
[cmake] Config install in the same place for all components.
dlyr Nov 17, 2025
dec70a5
[cmake] Factorize/rationalize find components.
dlyr Nov 17, 2025
e80feb4
[cmake] Add check_target_set_found macro, clean debug message.
dlyr Nov 17, 2025
8606029
[cmake] Guard policy for old cmake version.
dlyr Nov 17, 2025
79d0ccb
[cmake] Fix include order for dependency.
dlyr Nov 18, 2025
fe748a9
[external] Fix QtNodes version to tag instead of commit hash.
dlyr Nov 20, 2025
6ca8eb0
[doc] Guard get_target_property to check if dot is a target.
dlyr Nov 20, 2025
72f1cb8
[github] Ci, add cmake flag for glbinding min cmake version.
dlyr Nov 20, 2025
cd1bb86
[io] Revert assimp Debug renamed to release.
dlyr Nov 20, 2025
4292a05
[core][unittests] Remove __cxx11 and other, factorize code.
dlyr Nov 20, 2025
dc30428
[external] Update assimp.
dlyr Nov 20, 2025
1c31b2b
[tests] Fix tests dependencies.
dlyr Nov 20, 2025
4858f87
[examples] Clean include CoreExample.
dlyr Nov 21, 2025
fd3cb4d
[scripts] Fix CXX arg.
dlyr Nov 22, 2025
bf93d35
[tests] Add cppcheck suppress on on purpose unused.
dlyr Nov 26, 2025
b8f34ae
[ci] Add codacy configuration.
dlyr Nov 26, 2025
f545b1c
[github] Update macos runner version.
dlyr Jan 15, 2026
ae81376
[core] Add _ra suffix to constant litteral.
dlyr Feb 9, 2026
52f4103
[tests] Fix unit test rounding errer (introduce on macos-15).
dlyr Feb 9, 2026
91a5dfd
[core] set DLL_EXPORT visibility for g++/clang
dlyr Oct 25, 2025
c544c6f
[dataflow-core] Node parameter serializer.
dlyr Oct 27, 2025
ceca2b9
[dataflow-core] Add bool to serializer.
dlyr Oct 29, 2025
8c5e925
[dataflow-qtgui] Add label to line edit.
dlyr Oct 29, 2025
01dd3ce
[dataflow-core] Add (de)serializer singleton to allow dynamic type.
dlyr Nov 1, 2025
599890d
[gui] Rework on variable set enum management (wip?).
dlyr Nov 1, 2025
076f503
[dataflow-qtgui] Allow client code to override WidgetFactory.
dlyr Nov 1, 2025
e1671ca
[examples] More enum, cleaner, in ParameterEditing.
dlyr Nov 1, 2025
1acad94
[dataflow-core] Add clear serializer json (was bugged).
dlyr Nov 2, 2025
257e7f2
[dataflow-core] Add using DynamicVisitor::operator() to serializers.
dlyr Nov 3, 2025
9e15374
[dataflow-core] Tmp try catch json.
dlyr Nov 3, 2025
5b9676d
[dataflow-core] Simplify try catch.
dlyr Nov 14, 2025
dc72443
[gui] remove debug message.
dlyr Nov 16, 2025
69574b3
[cmake] Coverage move to llvm only support.
dlyr Nov 22, 2025
d4f486a
[ci] Use llvm coverage, add linux clang.
dlyr Nov 22, 2025
84c6bd5
[cmake] Refactor RadiumCoverage.
dlyr Nov 22, 2025
f4d474c
[cmake] Move find package in the windeplyqt function.
dlyr Jan 15, 2026
629bfeb
[tests] Use different name for nested test class (coverage).
dlyr Feb 5, 2026
e196df5
[dataflow-core] Fix typo in error message.
dlyr Feb 5, 2026
ae010c4
[engine] Move nested class out of function def, fix coverage.
dlyr Feb 5, 2026
6c13813
[cmake] Add back (simplified) gcc coverage (fastcov).
dlyr Feb 5, 2026
e027956
[headless] Use update CLI11, use one header version.
dlyr Feb 5, 2026
ea5866a
[dataflow-core] port data is const.
dlyr Feb 5, 2026
b8cc2a8
[tests] Add tempdir.hpp
dlyr Feb 7, 2026
10b2b0f
[config] Configure clang-format ignore for remote source files.
dlyr Feb 7, 2026
3f96d30
[tests] Use tempdir for temporary files management in unittests.
dlyr Feb 7, 2026
9b75e67
[dataflow-core] Add const to is_input/is_output.
dlyr Feb 7, 2026
8dd8645
[dataflow-core] Refactor
dlyr Feb 7, 2026
f86aec7
[core][dataflow] Fix some const. Revert data() constness for port.
dlyr Feb 8, 2026
866fe7d
[dataflow-core] Reorganize node decl order.
dlyr Feb 9, 2026
e9b7490
[tests] Explicit converion from path to string.
dlyr Feb 10, 2026
56db3f3
fixup.
dlyr Feb 10, 2026
1dff803
[ci] Switch back to (simplified) gcc/fastcov coverage.
dlyr Feb 10, 2026
1e2f492
[external] Update QtNodes, skip build doc.
dlyr Feb 11, 2026
df389ea
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 11, 2026
9ef08af
[cmake] Simplify coverage setup.
dlyr Feb 13, 2026
bc3aef3
[cmake] Delete old coverage files.
dlyr Feb 13, 2026
2e268a2
[external] Use master commit for QtNodes, waiting new release.
dlyr Feb 13, 2026
0f146f7
[ci] Fix codecov report.
dlyr Feb 13, 2026
58e5dc2
[dataflow-core] Add threaded exec using task queue, progress.
dlyr Feb 21, 2026
a4a8d8c
[dataflow-core] Add log callback, and log mutex.
dlyr Feb 21, 2026
8182726
[unittests] Fix test tags.
dlyr Feb 21, 2026
9c2cb30
[dataflow-core] Add log callback setter.
dlyr Feb 21, 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
2 changes: 2 additions & 0 deletions .clang-format-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
src/Headless/CLI/CLI11.hpp
tests/unittest/tempdir.hpp
6 changes: 6 additions & 0 deletions .codacy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
tools:
cppcheck:
enabled: true
config:
suppress:
- missingIncludeSystem
61 changes: 32 additions & 29 deletions .github/workflows/build-matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ on:
required: false
type: string
default: "true"
linux-clang:
required: false
type: string
default: "true"
build-release:
required: false
type: string
Expand All @@ -54,8 +58,8 @@ on:
default: "false"

env:
install_prefix: install
build_prefix: build
install_prefix: ../install
build_prefix: ../build
src_prefix: src

jobs:
Expand All @@ -74,7 +78,7 @@ jobs:
[[ "true" == "${{ inputs.windows }}" && "true" == "${{inputs.linux}}" ]] && echo ','
[[ "true" == "${{ inputs.linux }}" ]] && echo '{ "name": "Ubuntu gcc", "os": "ubuntu-latest", "cc": "gcc", "cxx": "g++", "icon": "Linux", "extra-flags": "-DCMAKE_CXX_FLAGS=-Wno-deprecated-declarations -DRADIUM_ENABLE_GL_TESTING=ON" }'
[[ "true" == "${{ inputs.windows }}" || "true" == "${{inputs.linux}}" ]] && [[ "true" == "${{inputs.macos}}" ]] && echo ','
[[ "true" == "${{ inputs.macos }}" ]] && echo '{ "name": "MacOS clang", "os": "macos-13", "cc": "clang", "cxx": "clang++", "icon": "Apple", "extra-flags": "-DCMAKE_CXX_FLAGS=-Wno-deprecated-declarations" }'
[[ "true" == "${{ inputs.macos }}" ]] && echo '{ "name": "MacOS clang", "os": "macos-15", "cc": "clang", "cxx": "clang++", "icon": "Apple", "extra-flags": "-DCMAKE_CXX_FLAGS=-Wno-deprecated-declarations" }'
echo '],'
echo '"build-type" : ['
[[ "true" == "${{ inputs.build-debug }}" ]] && echo '"Debug"'
Expand Down Expand Up @@ -189,7 +193,6 @@ jobs:

- name: Prepare directories
run: |
mkdir -p "${{ env.src_prefix }}"
mkdir -p "${{ steps.paths.outputs.radium_build_dir }}"
mkdir -p "${{ steps.paths.outputs.external_build_dir }}"
mkdir -p "${{ steps.paths.outputs.radium_install_dir }}"
Expand All @@ -198,33 +201,45 @@ jobs:
- name: Checkout remote head
uses: actions/checkout@master
with:
path: ${{ env.src_prefix }}/Radium-Engine
submodules: 'recursive'

- name: pull updated repo (e.g. with new VERSION)
if: ${{ github.event_name == 'push' }}
run: |
git -C "${{ env.src_prefix }}/Radium-Engine" pull origin ${{ github.event.ref }}
git -C "${{ env.src_prefix }}/Radium-Engine" submodule update --init --recursive
git pull origin ${{ github.event.ref }}
git submodule update --init --recursive

- name: Cache externals
id: cache-external
uses: actions/cache@v4
with:
path: ${{ steps.paths.outputs.external_install_dir }}
key: ${{ matrix.config.name }}-${{ matrix.build-type }}-${{ matrix.qtversion.name }}-external-v1-${{ hashFiles('src/Radium-Engine/external/**/CMakeLists.txt') }} # no env in hashFiles
# could not cache relative path with .. so copy to externals inside workspace
path: externals
key: ${{ matrix.config.name }}-${{ matrix.build-type }}-${{ matrix.qtversion.name }}-external-v2-${{ hashFiles('external/**/CMakeLists.txt') }} # no env in hashFiles

- name: Restore externals from cache
if: steps.cache-external.outputs.cache-hit == 'true'
run: |
# remove dir if any
rm -rf "${{ steps.paths.outputs.external_install_dir }}"
# copy cache to external_install_dir
cp -r externals "${{ steps.paths.outputs.external_install_dir }}"

- name: Configure and build external
if: steps.cache-external.outputs.cache-hit != 'true'
run: |
"${{ env.src_prefix }}/Radium-Engine/scripts/build.sh" -e true -r false \
"scripts/build.sh" -e true -r false \
-B "${{ env.build_prefix }}" -c ${{ matrix.build-type }} \
-G Ninja --cc ${{ matrix.config.cc }} --cxx ${{ matrix.config.cxx }} \
-G Ninja --cc "${{ matrix.config.cc }}" --cxx "${{ matrix.config.cxx }}" \
--install-external "${{ steps.paths.outputs.external_install_dir }}"
# remove cache dir if any
rm -rf externals
# copy external to cache location
cp -r "${{ steps.paths.outputs.external_install_dir }}" externals

- name: Configure and build Radium
run: |
"${{ env.src_prefix }}/Radium-Engine/scripts/build.sh" -e false -r true \
"scripts/build.sh" -e false -r true \
-B "${{ env.build_prefix }}" -c ${{ matrix.build-type }} \
-G Ninja --cc ${{ matrix.config.cc }} --cxx ${{ matrix.config.cxx }} \
--install-external ${{ steps.paths.outputs.external_install_dir }} \
Expand Down Expand Up @@ -275,27 +290,15 @@ jobs:
- name: Create coverage report
if: ${{ inputs.coverage == 'true' }}
run: |
cmake --build "${{ steps.paths.outputs.radium_build_dir }}" --config Debug --target fastcov_integration
cmake --build "${{ steps.paths.outputs.radium_build_dir }}" --config Debug --target fastcov_unittests
cmake --build "${{ steps.paths.outputs.radium_build_dir }}" --config Release --target coverage
head ${{ steps.paths.outputs.radium_build_dir }}/coverage/report.info

- name: Upload unittests coverage report
if: ${{ inputs.coverage == 'true' }}
uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true # optional (default = false)
files: ${{ steps.paths.outputs.radium_build_dir }}/fastcov_unittests.info
flags: unittests
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true # optional (default = false)
# fail_ci_if_error: true # optional (default = false)
disable_search: true

- name: Upload integration coverage report
if: ${{ inputs.coverage == 'true' }}
uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true # optional (default = false)
files: ${{ steps.paths.outputs.radium_build_dir }}/fastcov_integration.info
flags: integration
files: ${{ steps.paths.outputs.radium_build_dir }}/coverage/report.info
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true # optional (default = false)
disable_search: true
verbose: false
3 changes: 2 additions & 1 deletion .github/workflows/pull-request-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ jobs:
with:
windows: "false"
macos: "false"
build-release: "false"
build-release: "true"
build-debug: "false"
coverage: "true"
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
4 changes: 3 additions & 1 deletion .github/workflows/push-rc-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,9 @@ jobs:
with:
windows: "false"
macos: "false"
build-release: "false"
linux: "false"
build-release: "true"
build-debug: "false"
coverage: "true"
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
11 changes: 5 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ option(
"Enable examples app build. To install examples, build explicitly the target Install_RadiumExamples."
OFF
)
option(RADIUM_ENABLE_COVERAGE "Enable coverage, gcc only. Experimental, need ENABLE_TESTING" OFF)
option(RADIUM_ENABLE_COVERAGE "Enable coverage, llvm only. sets ENABLE_TESTING ON" OFF)
option(RADIUM_ENABLE_PCH "Enable precompiled headers." OFF)
option(RADIUM_USE_DOUBLE "Use double precision for Scalar." OFF)
option(RADIUM_GENERATE_LIB_CORE "Include Radium::Core in CMake project." ON)
Expand All @@ -70,9 +70,6 @@ option(

set(DISPLAY_WIDTH 80)

if(RADIUM_USE_DOUBLE)
add_definitions(-DCORE_USE_DOUBLE)
endif()
# Changing the default value for CMAKE_BUILD_PARALLEL_LEVEL
if(NOT DEFINED ENV{CMAKE_BUILD_PARALLEL_LEVEL})
include(ProcessorCount)
Expand Down Expand Up @@ -164,8 +161,9 @@ else()
endif()

if(RADIUM_ENABLE_COVERAGE)
set(RADIUM_ENABLE_TESTING "ON")
# include function and setup environment variable
include(RadiumCoverage)
radium_setup_coverage_env()
endif(RADIUM_ENABLE_COVERAGE)

# ------------------------------------------------------------------------------
Expand Down Expand Up @@ -224,7 +222,8 @@ if(RADIUM_ENABLE_TESTING)
endif()

if(RADIUM_ENABLE_COVERAGE)
radium_setup_coverage_targets()
# add coverage flags to target and coverage specific target
radium_setup_coverage()
endif()

# Packaging stuff (deb, rpm, windows installer) add_subdirectory(packaging)
Expand Down
Loading