Skip to content

Reply To: It cost too much time to compile OpenLB


Yes, the compilation times can definitely be a bit of a hassle at times. However, the main issue here is not Make vs. CMake but that OpenLB is primarily a template library which requires the template definition to be available in order for them to be instatiated.

Nevertheless the next release will include optional CMake support in order to simplify usage of IDEs. For the compilation performance side of things it will include a new compilation mode that enables automatic generation of precompiled libraries to reduce the amount of code that has to be re-instantiated every time (this significantly improves the performance especially when targeting GPUs).

What we commonly do in our production apps is to extract all commonly tweaked parameters into e.g. an XML interface so that the actual application doesn’t have to be recompiled for every change. This can also include selection of dynamics, boundary conditions and so on.