-
Notifications
You must be signed in to change notification settings - Fork 912
Closed
Labels
Description
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 ccacheandUseCCache=Truein configuration)
KDE Craft
- Consider Craft binary cache (
CraftBinaryCache=Truein 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) thecraftmaster.iniand 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
- feat(mac-crafter): Added time measurement of build phases to improve on. #8500 added a facility to record how many seconds certain steps of mac-crafter take to see which needs the most improvement.