Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
212 commits
Select commit Hold shift + click to select a range
c6f3a9a
Use bpy.utils.extension_path_user() for wheels download and custom co…
CodeFHD Apr 13, 2025
99a1b4b
Change access to package name when loading addon preferences, to foll…
CodeFHD Apr 18, 2025
93903c4
__init__.py: apply convention from previous commit, using __package__…
CodeFHD Apr 22, 2025
56e825d
Fix wrong path to blender_manifest.toml due to switching to extension…
CodeFHD Apr 22, 2025
5967556
Addon settings: Change CUDA label to include OptiX, to address common…
CodeFHD May 30, 2025
04ca6ac
Frensel node: Adapt custom n,k input to accept realistic value ranges…
CodeFHD Jun 7, 2025
33d5a43
remove push trigger from latest-release workflow
CodeFHD Jun 7, 2025
0c62458
Bump pyluxcore version
howetuft Jun 8, 2025
5b168d4
Bump BLC version to 2.11.0-dev0
howetuft Jun 8, 2025
7b50e34
Add debug-helpers directory with blendev utility script
CodeFHD Jun 11, 2025
1706855
debug-helpers: separate local config for blendev script into separate…
CodeFHD Jun 11, 2025
39714c4
debug-helpers: Add Readme for blendev script
CodeFHD Jun 11, 2025
e96134e
debug-helpers: add option to blendev script to copy wheel created by …
CodeFHD Jun 11, 2025
62b4603
Revert "Bump pyluxcore version"
CodeFHD Jun 12, 2025
07cc5f5
__init__.py: Update description of the PYLUXCORE_CUSTOM variable
CodeFHD Jun 12, 2025
386cbbc
__init__.py: Remove some unused code
CodeFHD Jun 12, 2025
fc2e034
Remove obsolete bl_info dictionary, merge information into blender_ma…
CodeFHD Jun 12, 2025
6b116ac
workaround for https://projects.blender.org/blender/blender/issues/14…
CodeFHD Jul 2, 2025
e1ce02b
Limit float values in viewport render to half-float range to avoid co…
CodeFHD Jul 3, 2025
3d895a6
Reassign viewport buffer on each update, improves/retains performance…
CodeFHD Jul 3, 2025
e6fe6b8
git-ignore blendev-config.default
howetuft Aug 19, 2025
49caa01
git-ignore blendev-config.cfg
howetuft Aug 19, 2025
fcd40d3
CMake: build into out subdir
howetuft Aug 24, 2025
5e77076
Make: allow in-tree build
howetuft Aug 24, 2025
0aeec88
CMake: add install target
howetuft Aug 24, 2025
87f3d4e
CMake: install to blender_org repo (rather than user_default)
howetuft Aug 27, 2025
8817944
Merge branch 'for_v2.11' into pylux_deblend
howetuft Aug 27, 2025
a7aae0a
Merge pull request #1029 from howetuft/pylux_deblend
howetuft Aug 27, 2025
300d321
Set license of github actions to GPL3.0
howetuft Sep 1, 2025
72eb51a
Compute bl_idname (remove previous hard-coded value)
howetuft Sep 4, 2025
5e7116c
Gather the features related to loading/unloading pyluxcore in a separ…
howetuft Sep 5, 2025
56fcf5e
Wheel install: do not modify blender_manifest.toml any more
howetuft Sep 6, 2025
44ce38f
Remove BLC_DEV_PATH and make BLC fully reloadable
howetuft Sep 6, 2025
85e3abf
Reload pyluxcore as well
howetuft Sep 7, 2025
e6fc192
Lint ui/addon_preferences
howetuft Sep 7, 2025
8c87418
Lint ui/__init__py
howetuft Sep 7, 2025
428f2df
Make ui submodule reloadable
howetuft Sep 7, 2025
9cbc541
Add wheel source settings to addon preferences (without treatment how…
howetuft Sep 7, 2025
d16e576
Rearrange settings in addon preferences
howetuft Sep 7, 2025
568a3d0
Isolate utils depending from pyluxcore (luxutils) from the others
howetuft Sep 8, 2025
6619230
Addon preferences: move general, lol and advanced settings in separat…
howetuft Sep 8, 2025
3d36475
Addon preferences: move helper functions to utils
howetuft Sep 9, 2025
a022db7
Addon preferences: remove wheel installation settings
howetuft Sep 9, 2025
9b2ec3e
Luxloader: take settings file into account (heavy rework)
howetuft Sep 13, 2025
fcd81d1
luxloader: implement reinstall_upon_reloading
howetuft Sep 13, 2025
3dd9fb9
Set license of github actions to GPL3.0
howetuft Sep 1, 2025
1e505e6
Add no_index and path_to_wheel_deps new settings
howetuft Sep 14, 2025
1e80cdf
Tweaking luxloader
howetuft Sep 14, 2025
fe391ab
Merge pull request #1034 from LuxCoreRender/blc-debug
howetuft Sep 14, 2025
b038fa8
Luxloader: handle case where settings file is incomplete
howetuft Sep 15, 2025
7801cda
Luxloader: remove Local+deps case (redundant with Local)
howetuft Sep 16, 2025
fdfa536
Enable reloading in several modules
howetuft Sep 18, 2025
90c2ac8
Remove default filtering of Intel devices for GPU rendering and film …
CodeFHD Sep 19, 2025
c152194
Make BlendLuxCore reloadable in Blender.
howetuft Sep 21, 2025
4594b2c
Bump pyluxcore version to 2.11.0-dev0
howetuft Aug 28, 2025
c51a4d1
Format properties/blender_object.py
howetuft Sep 18, 2025
b36be96
Format properties/hair.py
howetuft Sep 18, 2025
d89510a
Reformat nodes/materials/__init__.py
howetuft Sep 19, 2025
e03aef3
Reloading: fix missing symbol (TileStats)
howetuft Sep 21, 2025
cd7b507
Reloading: reload export/mesh_converter
howetuft Sep 21, 2025
c7b60c4
Reloading: control registering verbosity
howetuft Sep 21, 2025
73097d1
Reloading: utils.misc submodules - make some functions available even…
howetuft Sep 21, 2025
2de5965
Reloading: utils.misc submodules - make some functions available even…
howetuft Sep 21, 2025
efd1d00
Install: Remove previous wheels before installing new ones
howetuft Sep 23, 2025
49544a9
Icons: Do not remove previews when bpy does not exist anymore (corner…
howetuft Sep 23, 2025
4585e2a
Merge branch 'pylux_deblend' into for_v2.11
howetuft Sep 23, 2025
e8a608d
Set PYLUXCORE_VERSION back to 2.10.1
howetuft Sep 23, 2025
7dc21d0
Reformat nodes/shapes/subdiv.py
howetuft Sep 28, 2025
07b7d6c
Subdiv: add enhanced feature
howetuft Sep 28, 2025
a6816a6
nodes output: fix NameError for get_output_nodes
howetuft Oct 1, 2025
6359cc5
Fix various errors detected by checker
howetuft Oct 1, 2025
58f6f54
Merge pull request #1038 from howetuft/for_v2.11
howetuft Oct 1, 2025
7c8a982
Export: handle multimaterial
howetuft Sep 27, 2025
ab11253
Create new mesh converter, without C++ dependency to Blender
howetuft Sep 30, 2025
64db0f3
Reformat draw/final.py
howetuft Oct 2, 2025
da89a10
Port output film conversions in Python
howetuft Oct 3, 2025
987bcb8
Output film: optimize code
howetuft Oct 4, 2025
718fa7e
Export: remove old export function (based on C++)
howetuft Oct 4, 2025
40a7e93
Output film: remove last remnants of old versions of ConvertFilmChann…
howetuft Oct 4, 2025
eb864e1
Output film: inject directly numpy array (no tolist())
howetuft Oct 4, 2025
ee91048
Reformat export/hair.py
howetuft Oct 4, 2025
6f5d347
Reformat export/caches/object_cache.py
howetuft Oct 4, 2025
393b6b8
Fix self["refresh"]
howetuft Oct 5, 2025
21c6e54
Add a checkbox to the material output node for enabling an override t…
CodeFHD Jun 20, 2025
db4d94f
Reformat export/__init__.py
howetuft Oct 6, 2025
94ff586
Reformat nodes/__init__.py
howetuft Oct 14, 2025
e5faf9c
Reformat nodes/materials/tree.py
howetuft Oct 14, 2025
35f52b2
Add MergeOnDistance node
howetuft Oct 18, 2025
c41c5b6
fix: LuxCore is now supported for Blender 5.0.0
ComicAddict Oct 21, 2025
99feec0
fix: convergence percentage may be rounded to and stuck at 100% for s…
CodeFHD Oct 22, 2025
f7cd54c
Fix issue #1026 (Blender crashing by clicking Copy Material)
howetuft Nov 7, 2025
e2308c9
LuxCoreConfig: fix Blender warning due to filter #3 missing
howetuft Nov 11, 2025
8cdb1a7
pyluxcore download: handle CalledProcessError exception (because chec…
howetuft Nov 11, 2025
b8c1465
Use internal OIDN for viewport denoising
howetuft Nov 10, 2025
76175c5
Enable workflow_dispatch for build_bundle.yml (fix)
howetuft Nov 26, 2025
e30baa0
Base exception on previous error
howetuft Mar 14, 2026
ebd9b86
Fix AttributeError in material node updates (update_opengl_materials)…
howetuft Mar 14, 2026
3f5e3ef
Fix strange behavior in LuxCoreMaterialNodeTree.update due to multipl…
howetuft Mar 14, 2026
d97af7c
'_RestrictData' object has no attribute 'materials' when reloading
howetuft Mar 14, 2026
3669fb3
Merge on distance: add merge_normals parameter
howetuft Mar 25, 2026
95c0a1d
Convert mesh: rebase imported data on better suited data from Blender…
howetuft Mar 25, 2026
e562faf
change inconsistent function arguments in a sub_export function.
CodeFHD Jan 3, 2026
5377ac6
Add Blender 5.0 compatibility: Compositor light group mixer preset.
CodeFHD Feb 2, 2026
be14b57
remove blender version specific code for no longer supported legacy v…
CodeFHD Feb 2, 2026
a11fe41
Add Blender 5.0 compatibility: Update deprecated and removed attributes
CodeFHD Feb 3, 2026
8f94d3a
2D-mapping: Add a parameter to allow rotation around the center of UV…
CodeFHD Feb 15, 2026
8454c41
Subdiv: Expose sharpness threshold and crease weight parameters
howetuft Mar 25, 2026
809e3f9
Bump version info to 2.10.1
CodeFHD Jul 23, 2025
00052bb
Build bundle workflow: add worflow_dispatch
howetuft Nov 26, 2025
5b9c2f1
__init__.py: apply convention from previous commit, using __package__…
CodeFHD Apr 22, 2025
a5b18e7
Bump pyluxcore version
howetuft Jun 8, 2025
f6b4a38
Bump BLC version to 2.11.0-dev0
howetuft Jun 8, 2025
900401b
Remove obsolete bl_info dictionary, merge information into blender_ma…
CodeFHD Jun 12, 2025
5650b50
Use bpy.utils.extension_path_user() for wheels download and custom co…
CodeFHD Apr 13, 2025
dc3219f
Change access to package name when loading addon preferences, to foll…
CodeFHD Apr 18, 2025
17ab35d
__init__.py: apply convention from previous commit, using __package__…
CodeFHD Apr 22, 2025
f3b3556
Fix wrong path to blender_manifest.toml due to switching to extension…
CodeFHD Apr 22, 2025
ba3d568
Addon settings: Change CUDA label to include OptiX, to address common…
CodeFHD May 30, 2025
658e058
Frensel node: Adapt custom n,k input to accept realistic value ranges…
CodeFHD Jun 7, 2025
4ad7e89
Bump pyluxcore version
howetuft Jun 8, 2025
7373c04
Bump BLC version to 2.11.0-dev0
howetuft Jun 8, 2025
aa98d60
Revert "Bump pyluxcore version"
CodeFHD Jun 12, 2025
2648a3f
__init__.py: Update description of the PYLUXCORE_CUSTOM variable
CodeFHD Jun 12, 2025
13f0f38
__init__.py: Remove some unused code
CodeFHD Jun 12, 2025
9020eaa
Remove obsolete bl_info dictionary, merge information into blender_ma…
CodeFHD Jun 12, 2025
f88a880
git-ignore blendev-config.cfg
howetuft Aug 19, 2025
ac5741b
CMake: build into out subdir
howetuft Aug 24, 2025
e6281ab
Make: allow in-tree build
howetuft Aug 24, 2025
6f5fb50
CMake: add install target
howetuft Aug 24, 2025
547522b
CMake: install to blender_org repo (rather than user_default)
howetuft Aug 27, 2025
c213459
Set license of github actions to GPL3.0
howetuft Sep 1, 2025
2cb1b9f
Compute bl_idname (remove previous hard-coded value)
howetuft Sep 4, 2025
e753ff5
Gather the features related to loading/unloading pyluxcore in a separ…
howetuft Sep 5, 2025
3bde9c6
Wheel install: do not modify blender_manifest.toml any more
howetuft Sep 6, 2025
7f767e3
Remove BLC_DEV_PATH and make BLC fully reloadable
howetuft Sep 6, 2025
5712e87
Reload pyluxcore as well
howetuft Sep 7, 2025
33bdcac
Lint ui/addon_preferences
howetuft Sep 7, 2025
2ca1e19
Lint ui/__init__py
howetuft Sep 7, 2025
55f8304
Make ui submodule reloadable
howetuft Sep 7, 2025
1baf853
Add wheel source settings to addon preferences (without treatment how…
howetuft Sep 7, 2025
9c233ce
Rearrange settings in addon preferences
howetuft Sep 7, 2025
332d3f6
Isolate utils depending from pyluxcore (luxutils) from the others
howetuft Sep 8, 2025
1fb03fc
Addon preferences: move general, lol and advanced settings in separat…
howetuft Sep 8, 2025
25222a9
Addon preferences: move helper functions to utils
howetuft Sep 9, 2025
bd9a83c
Addon preferences: remove wheel installation settings
howetuft Sep 9, 2025
27c39b0
Luxloader: take settings file into account (heavy rework)
howetuft Sep 13, 2025
5e377fa
luxloader: implement reinstall_upon_reloading
howetuft Sep 13, 2025
5bd027d
Add no_index and path_to_wheel_deps new settings
howetuft Sep 14, 2025
f3ed210
Tweaking luxloader
howetuft Sep 14, 2025
1499040
Luxloader: handle case where settings file is incomplete
howetuft Sep 15, 2025
073cfdd
Luxloader: remove Local+deps case (redundant with Local)
howetuft Sep 16, 2025
a341e50
Enable reloading in several modules
howetuft Sep 18, 2025
25785e6
Remove default filtering of Intel devices for GPU rendering and film …
CodeFHD Sep 19, 2025
f2b8b92
Make BlendLuxCore reloadable in Blender.
howetuft Sep 21, 2025
72acf2b
Bump pyluxcore version to 2.11.0-dev0
howetuft Aug 28, 2025
9d6b313
Format properties/blender_object.py
howetuft Sep 18, 2025
1d2d3d2
Format properties/hair.py
howetuft Sep 18, 2025
d14efa3
Reformat nodes/materials/__init__.py
howetuft Sep 19, 2025
797daa0
Reloading: fix missing symbol (TileStats)
howetuft Sep 21, 2025
420e167
Reloading: reload export/mesh_converter
howetuft Sep 21, 2025
cc38a74
Reloading: control registering verbosity
howetuft Sep 21, 2025
27b6e7d
Reloading: utils.misc submodules - make some functions available even…
howetuft Sep 21, 2025
98c46b9
Install: Remove previous wheels before installing new ones
howetuft Sep 23, 2025
b38ec7e
Icons: Do not remove previews when bpy does not exist anymore (corner…
howetuft Sep 23, 2025
62bca17
Set PYLUXCORE_VERSION back to 2.10.1
howetuft Sep 23, 2025
1d11b9a
Reformat nodes/shapes/subdiv.py
howetuft Sep 28, 2025
2b8b979
Subdiv: add enhanced feature
howetuft Sep 28, 2025
7e35b00
nodes output: fix NameError for get_output_nodes
howetuft Oct 1, 2025
484f680
Fix various errors detected by checker
howetuft Oct 1, 2025
cad2754
Export: handle multimaterial
howetuft Sep 27, 2025
1f62413
Create new mesh converter, without C++ dependency to Blender
howetuft Sep 30, 2025
904c49f
Reformat draw/final.py
howetuft Oct 2, 2025
5f7fcad
Port output film conversions in Python
howetuft Oct 3, 2025
dd76023
Output film: optimize code
howetuft Oct 4, 2025
fc467de
Export: remove old export function (based on C++)
howetuft Oct 4, 2025
aae3004
Output film: remove last remnants of old versions of ConvertFilmChann…
howetuft Oct 4, 2025
6faa692
Output film: inject directly numpy array (no tolist())
howetuft Oct 4, 2025
ac6520f
Reformat export/hair.py
howetuft Oct 4, 2025
fad1da3
Reformat export/caches/object_cache.py
howetuft Oct 4, 2025
bc19d87
Fix self["refresh"]
howetuft Oct 5, 2025
78c251f
Add a checkbox to the material output node for enabling an override t…
CodeFHD Jun 20, 2025
47778ec
Reformat export/__init__.py
howetuft Oct 6, 2025
8b92d7b
Reformat nodes/__init__.py
howetuft Oct 14, 2025
41fba89
Reformat nodes/materials/tree.py
howetuft Oct 14, 2025
224cf84
Add MergeOnDistance node
howetuft Oct 18, 2025
c0450ff
fix: LuxCore is now supported for Blender 5.0.0
ComicAddict Oct 21, 2025
ba20377
fix: convergence percentage may be rounded to and stuck at 100% for s…
CodeFHD Oct 22, 2025
5450c8a
Fix issue #1026 (Blender crashing by clicking Copy Material)
howetuft Nov 7, 2025
cbd83a2
LuxCoreConfig: fix Blender warning due to filter #3 missing
howetuft Nov 11, 2025
c300513
pyluxcore download: handle CalledProcessError exception (because chec…
howetuft Nov 11, 2025
9b27e61
Use internal OIDN for viewport denoising
howetuft Nov 10, 2025
e3fdbbf
Base exception on previous error
howetuft Mar 14, 2026
bfad7ca
Fix AttributeError in material node updates (update_opengl_materials)…
howetuft Mar 14, 2026
e35ffe8
Fix strange behavior in LuxCoreMaterialNodeTree.update due to multipl…
howetuft Mar 14, 2026
3c07bc6
'_RestrictData' object has no attribute 'materials' when reloading
howetuft Mar 14, 2026
05f28a4
Merge on distance: add merge_normals parameter
howetuft Mar 25, 2026
924de0d
Convert mesh: rebase imported data on better suited data from Blender…
howetuft Mar 25, 2026
e438535
change inconsistent function arguments in a sub_export function.
CodeFHD Jan 3, 2026
5141695
Add Blender 5.0 compatibility: Compositor light group mixer preset.
CodeFHD Feb 2, 2026
5b4e0e8
remove blender version specific code for no longer supported legacy v…
CodeFHD Feb 2, 2026
480351a
Add Blender 5.0 compatibility: Update deprecated and removed attributes
CodeFHD Feb 3, 2026
19d7354
2D-mapping: Add a parameter to allow rotation around the center of UV…
CodeFHD Feb 15, 2026
c44e03a
Subdiv: Expose sharpness threshold and crease weight parameters
howetuft Mar 25, 2026
0f5b293
Bump version info to 2.10.1
CodeFHD Jul 23, 2025
8b71b83
Build bundle workflow: add worflow_dispatch
howetuft Nov 26, 2025
67a17df
__init__.py: apply convention from previous commit, using __package__…
CodeFHD Apr 22, 2025
0c779a9
Bump pyluxcore version
howetuft Jun 8, 2025
0f22108
Bump BLC version to 2.11.0-dev0
howetuft Jun 8, 2025
12aaf86
Remove obsolete bl_info dictionary, merge information into blender_ma…
CodeFHD Jun 12, 2025
d5936e8
Merge branch 'for_v2.11' of https://github.com/LuxCoreRender/BlendLux…
howetuft Mar 29, 2026
bd2fac2
Bump pyluxcore required version to 2.11.0-a.1
howetuft Mar 29, 2026
60a5d0a
Bump version to 2.11.0-a.0
howetuft Mar 29, 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
6 changes: 5 additions & 1 deletion .github/workflows/build_bundle.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SPDX-FileCopyrightText: 2025 Howetuft, Johannes Hinrichs (CodeFHD)
#
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: GPL-3.0-or-later

name: BlendLuxCore Build Bundle

Expand Down Expand Up @@ -67,4 +67,8 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: "BlendLuxCore"
<<<<<<< HEAD
path: "${{ github.workspace }}/build/out/BlendLuxCore-*.zip"
=======
path: "${{ github.workspace }}/build/BlendLuxCore-*.zip"
>>>>>>> 9c294874 (Build bundle workflow: add worflow_dispatch)
3 changes: 2 additions & 1 deletion .github/workflows/bundle_latest.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SPDX-FileCopyrightText: 2025 Howetuft, Johannes Hinrichs (CodeFHD)
#
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: GPL-3.0-or-later

name: BlendLuxCore Create Latest Release

Expand Down Expand Up @@ -39,6 +39,7 @@ jobs:
- name: Delete old latest release
shell: bash
run: |
echo "Delete old latest release"
echo false > ${{ github.workspace }}/tmp_release_test
gh release list --json name > ${{ github.workspace }}/tmp_releases
jq -r -c .[].name ${{ github.workspace }}/tmp_releases | while read i; do
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/bundle_release.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SPDX-FileCopyrightText: 2024 Howetuft
# SPDX-FileCopyrightText: 2025 Howetuft
#
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: GPL-3.0-or-later

name: BlendLuxCore Create Release

Expand Down
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,12 @@ out/
.vscode/

# blendev utility script, exclude custom local config
debug-helpers/blendev/blendev-config.txt
debug-helpers/blendev/blendev-config.txt
debug-helpers/blendev/blendev-config.cfg

# CMake files
CMakeCache.txt
CMakeFiles/
Makefile
cmake_install.cmake
install_manifest.txt
12 changes: 12 additions & 0 deletions AUTHORS.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Authors:

Simon "B.Y.O.B." Wendsche <>
Michael "neo2068" Klemm <>
Johannes "CodeHD" Hinrichs <joho.hini.at.gmail.com>
Howetuft <howetuft.at.gmail.com>
Odilkhan "odil24" Yakubov <>
acasta69 <>
u3dreal <>
Philstix <>

Complete list available at https://github.com/LuxCoreRender/BlendLuxCore/graphs/contributors
28 changes: 20 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
# To build extension:
# Get out of the tree, for instance in ..
# cmake -B blc-build -S BlendLuxCore && cmake --build blc-build
# cmake . && cmake --build .

cmake_minimum_required(VERSION 3.25)

set(CMAKE_DISABLE_SOURCE_CHANGES ON)
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
endif()

project(BlendLuxCore LANGUAGES NONE)
if("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
message(SEND_ERROR "In-source builds are not allowed.")
endif()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out)

# Create output directory (otherwise Blender complains)
file(MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})


function(validate_blender_version result blender)
execute_process(
Expand Down Expand Up @@ -53,10 +52,23 @@ endif()
find_program(BLENDER blender NAMES blender.exe VALIDATOR validate_blender_version NO_CACHE REQUIRED)

# Add BlendLuxCore target
# https://docs.blender.org/manual/en/latest/advanced/command_line/extension_arguments.html
add_custom_target(
extension ALL ${BLENDER}
--command extension build
--source-dir ${CMAKE_CURRENT_SOURCE_DIR}
--output-filepath ${CMAKE_CURRENT_BINARY_DIR}/BlendLuxCore-${BLC_VERSION}.zip
--output-filepath ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/BlendLuxCore-${BLC_VERSION}.zip
VERBATIM
)

# Add install
# cmake --install .
install(CODE "
execute_process(
COMMAND ${BLENDER} --command extension install-file -r blender_org ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/BlendLuxCore-${BLC_VERSION}.zip
OUTPUT_VARIABLE INSTALL_OUTPUT
ERROR_VARIABLE INSTALL_OUTPUT
)
message(STATUS \"Blender output: \${INSTALL_OUTPUT}\")

")
Loading