1
Fork 0
dotfiles/private_dot_config/kde-builder.yaml

95 lines
4 KiB
YAML

# This file controls options to apply when configuring/building projects, and controls which projects are built in the first place.
# List of all options: https://kde-builder.kde.org/en/configuration/conf-options-table.html
config-version: 2
global:
branch-group: kf6-qt6
# Finds and includes *KDE*-based dependencies into the build. This makes
# it easier to ensure that you have all the projects needed, but the
# dependencies are not very fine-grained so this can result in quite a few
# projects being installed that you didn't need.
include-dependencies: true
source-dir: ~/kde/src # Directory for downloaded source code
build-dir: ~/kde/build # Directory to build KDE into before installing
install-dir: ~/kde/usr # Directory to install KDE software into
# qt-install-dir: ~/kde/qt # Directory to install Qt if kde-builder supplies it
log-dir: ~/kde/log # Directory to write logs into
# python buildings never compile
cmake-options: >
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DBUILD_PYTHON_BINDINGS=OFF
# kde-builder sets 2 options which is used in options like make-options or set-env
# to help manage the number of compile jobs that happen during a build:
#
# 1. num-cores, which is just the number of detected CPU cores, and can be passed
# to tools like make (needed for parallel build) or ninja (completely optional).
#
# 2. num-cores-low-mem, which is set to the largest value that appears safe for
# particularly heavyweight projects based on total memory, intended for
# projects like qtwebengine.
num-cores: "auto"
num-cores-low-mem: "auto"
# Makes the built-from-source Plasma session accessible from the SDDM login screen.
install-login-session: true
# Stop the build process on the first failure. If set to false, when kde-builder
# encounters a build failure, it will attempt to continue building other projects,
# using libraries from the system in cases where they would otherwise be provided
# by a project that has failed to build.
# Unless your system has very up-to-date packages, this is probably not what you want.
stop-on-failure: true
# Use a flat folder layout under ~/kde/src and ~/kde/build
# rather than nested directories
directory-layout: flat
# Use Ninja as cmake generator
cmake-generator: Ninja
# Build with LSP support for everything that supports it
compile-commands-linking: true
compile-commands-export: true
# Generate .idea config files in project directories
# Enable this if you want to use CLion for development
generate-clion-project-config: true
# Generate .vscode config files in project directories
# Enable this if you want to use Visual Studio Code for development
generate-vscode-project-config: false
# Generate copy-pastable files for manual qtcreator config creation
# Enable this if you want to use Qt Creator for development
generate-qtcreator-project-config: false
# Show a message when kde-builder detects it is outdated.
check-self-updates: true
# With base options set, the remainder of the file is used to define projects to build, in the
# desired order, and set any project-specific options.
# This line includes build configs that are provided in build-configs dir in repo-metadata.
# https://invent.kde.org/sysadmin/repo-metadata/-/tree/master/build-configs
# KDE Builder automatically updates repo-metadata, so you are always using an up-to-date configs.
include ${build-configs-dir}/kde6.yaml: ""
# ===============================================================================================
# Starting from here, you can add your custom projects and override options for defined projects.
# ===============================================================================================
# To change options for projects that have already been defined, use an "override" node.
# Example:
#
# override qt6-set:
# branch: dev
#
# To define a project with some options, use "project" node.
# Example:
#
# project some-app:
# repository: https://github.com/YourUser/YourProject.git