Building LuxCoreRender: Difference between revisions

From LuxCoreRender Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 48: Line 48:
* This cache is published in LuxCoreDeps releases.
* 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.
* On LuxCore side, during the build, the cache is retrieved from the release and made available (restored) for LuxCore build.
{{#mermaid:flowchart LR
  subgraph Deps ["`**LuxCoreDeps**`"]
  direction TB
  GetDeps("Get Dependency<br />Conan Recipes")
  --> BuildDeps(Build Dependencies<br /> in a Conan Cache)
  --> Save(Save Conan Cache)
  --> Publish("Publish Conan Cache<br />(Release)");
  end
  subgraph Core ["`**LuxCore**`"]
  direction TB
  Download("Download Conan Cache<br />(from LuxCoreDeps Release)")
  --> Restore(Restore Conan Cache)
  --> BuildLux(Build LuxCore<br />against Conan Cache);
  end
  Deps --> Core
}}





Revision as of 18:23, 18 April 2025

This page is under construction

Build targets

LuxCore is made of several targets:

<TODO: Show it as a graph when Diagrams extension is enabled>

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