Skip to content

Accelerate Builds with Mac Crafter #8498

@i2h3

Description

@i2h3

Problem

Nextcloud desktop client builds appear to be much slower than they could be, in example the compilation of C++ source code files appears sequentially and single threaded. Also, when building with mac-crafter, KDE Craft appears to fully rebuild the whole product every time instead of caching intermediate products.

Suggestions

Mac Crafter

  • Enable mac-crafter to make use of acceleration mechanisms for repeated builds.
  • Leverage all available CPU cores (export CRAFT_NUMBER_OF_PARALLEL_JOBS=$(sysctl -n hw.ncpu))
  • Use ccache (brew install ccache and UseCCache=True in configuration)

KDE Craft

  • Consider Craft binary cache (CraftBinaryCache=True in configuration)
  • Update (craft --update) instead of rebuild (craft)
  • To not interfere with the existing craftmaster.ini, another specific configuration file can be added which inherits (supported through Python's configparser module) the craftmaster.ini and overrides the specific build settings safely for mac-crafter.

Platforms

This is restricted to macOS for now because I am not familiar with the compatibility of the other platforms right now. Also, this not change the current default build behavior but only add new options without side effects for the development work on macOS where an Xcode integration project plays a role.

Notes

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions