Building LuxCoreRender: Difference between revisions

From LuxCoreRender Wiki
Jump to navigation Jump to search
No edit summary
Create target chart
Line 7: Line 7:
<TODO: Show it as a graph when Diagrams extension is enabled>
<TODO: Show it as a graph when Diagrams extension is enabled>


{{#mermaid:classDiagram
{{#mermaid:flowchart LR
    Animal <|-- Duck
subgraph Dependencies
    Animal <|-- Fish
deps(Dependencies)
    Animal <|-- Zebra
end
    Animal : +int age
 
    Animal : +String gender
subgraph Libraries
    Animal: +isMammal()
lux(luxcore.so)
    Animal: +mate()
pylux(pyluxcore.so)
    class Duck{
end
      +String beakColor
 
      +swim()
subgraph Python Wheels
      +quack()
wheels(Python Wheels)
    }
end
    class Fish{
 
      -int sizeInFeet
subgraph Samples
      -canEat()
luxcoreui(luxcoreui)
    }
luxcoreconsole(luxcoreconsole)
    class Zebra{
end
      +bool is_wild
 
      +run()
subgraph Plugins
    }
blc(BlendLuxCore)
otherplugins(...)
end
 
deps-->lux
deps-->pylux
deps-->luxcoreui
deps-->luxcoreconsole
 
lux-->pylux
lux-->luxcoreui
 
pylux-->wheels
wheels-->blc
wheels-->otherplugins
 
 
}}
}}



Revision as of 20:01, 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