Building LuxCoreRender: Difference between revisions

From LuxCoreRender Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 20: Line 20:
flowchart LR;
flowchart LR;


classDef REPO fill:#0f0f0f0f,stroke:#333,stroke-width:4px,stroke-dasharray: 5 5,font-weight:bold,font-size:1.2rem;
classDef REPO fill:#0f0f0f0f,stroke:#333,stroke-width:4px,stroke-dasharray: 5 5,font-weight:bold,font-size:1.5rem;
classDef TYPE margin-top:2em;
classDef TYPE font-weight:bold,font-size:1.2rem;


subgraph sb_deps["LuxCoreRender/LuxCore"]
subgraph sb_deps["LuxCoreRender/LuxCore"]
Line 35: Line 35:
subgraph sb_core["LuxCoreRender/LuxCore"]
subgraph sb_core["LuxCoreRender/LuxCore"]


subgraph Libraries
subgraph LuxCore
lux(luxcore.so)
lux(luxcore.so)
pylux(pyluxcore.so)
 
end
end
class Librairies TYPE;
class LuxCore TYPE;


subgraph Python_Wheels
subgraph Python_Wheels[Python Wheels]
pylux(pyluxcore.so)
wheels(LuxCore Python Wheels)
wheels(LuxCore Python Wheels)
end
end
Line 50: Line 51:
luxcoreconsole(luxcoreconsole)
luxcoreconsole(luxcoreconsole)
end
end
class Samples TYPE;


subgraph Python LuxCore Tools
subgraph PyLuxCoreTools[Python LuxCore Tools]
pyluxcon(pyluxcoreconsole)
pyluxcon(pyluxcoreconsole)
pyluxothers(...)
pyluxothers(...)
end
end
class PyLuxCoreTools TYPE;


end
end
Line 67: Line 70:
end
end
end
end
class Plugins TYPE;
class sb_plugs REPO;
class sb_plugs REPO;


Line 78: Line 82:
lux-->luxcoreui
lux-->luxcoreui
lux-->luxcoreconsole
lux-->luxcoreconsole


pylux-->wheels
pylux-->wheels
Line 85: Line 91:
wheels-. runtime .->pyluxcon
wheels-. runtime .->pyluxcon
wheels-. runtime .->pyluxothers
wheels-. runtime .->pyluxothers
Python-->Python_Wheels


%% Mermaid version: 8.14.0
%% Mermaid version: 8.14.0

Revision as of 12:50, 19 April 2025

This page is under construction

Build targets

LuxCoreRender contains multiple targets:

Dependencies

Libraries:

  • luxcore
  • pyluxcore

LuxCore Python Wheels

Samples

  • luxcoreui
  • luxcoreconsole

Plugins - BlendLuxCore - <app plugins>

Pyluxcoretools

Building LuxCore Dependencies

Principles

LuxCore dependencies are built by LuxCoreDeps.

The process is:

  • LuxCoreDeps populates a Conan cache by building each of the required dependencies from its sources.
  • This cache is published in LuxCoreDeps releases.
  • On LuxCore side, during the build, the cache is retrieved from the release and made available (restored) for LuxCore build.


Central build

LuxCoreDeps is intended to be run by Github CI/CD pipeline.

You will find all workflows in repository actions.:

  • LuxCore Dependency Builder: build dependencies, triggered on-demand
  • LuxCore Dependency Checker: test dependency build, triggered by push (call Builder)
  • LuxCore Dependency Releaser: publish release of dependencies

In a typical workflow: Testing: Releasing

Local build

Local build is