Building LuxCoreRender: Difference between revisions

From LuxCoreRender Wiki
Jump to navigation Jump to search
Create Compiling LuxCore new
 
Line 27: Line 27:
= Building LuxCore Dependencies =
= Building LuxCore Dependencies =


== Principles ==
LuxCore dependencies are built by [https://github.com/LuxCoreRender/LuxCoreDeps LuxCoreDeps].
LuxCore dependencies are built by [https://github.com/LuxCoreRender/LuxCoreDeps LuxCoreDeps].


It works as follows:
The process is:


* LuxCoreDeps populates a Conan cache by building each of the required dependencies from its sources.
* LuxCoreDeps populates a Conan cache by building each of the required dependencies from its sources.
Line 35: Line 36:
* 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.


LuxCoreDeps is intended to be run by Github CI/CD pipeline. You will find all workflows in repository [https://github.com/LuxCoreRender/LuxCoreDeps/actions actions.]:
{{#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
}}
 
 
 
== Central build ==
 
LuxCoreDeps is intended to be run by Github CI/CD pipeline.
 
You will find all workflows in repository [https://github.com/LuxCoreRender/LuxCoreDeps/actions actions.]:
* LuxCore Dependency Builder: build dependencies, triggered on-demand
* LuxCore Dependency Builder: build dependencies, triggered on-demand
* LuxCore Dependency Checker: test dependency build, triggered by push (call Builder)
* 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

Revision as of 18:11, 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