rbuild.ini
The rbuild.ini
file can be used to configure default settings automatically for rbuild
. This file should be placed at the top-level directory of the source directory.
Sessions
The rbuild.ini
file is defined where each section is a session. A session defines the environment for building a project for a certain scenario. Multiple sessions can be defined which can be helpful to define settings across different toolchains.
There two default sessions used: main
and develop
in order set settings for building and develop. In general, the develop can be used to install additional dependencies that are not needed for building and packaging.
Here is a simple example rbuild.ini
with a main
and develop
:
[main]
deps = -f requirements.txt
[develop]
deps =
-f requirements.txt
google/googletest@release-1.11.0
This will install the dependencies listed in the requirements.txt
file for builds. In addition, for develop, googletest is installed so the developer can run the tests.
Settings
- deps
This can be set to the dependencies to be installed.
- ignore
This sets what dependencies should be ignored and not installed.
- define
Extra cmake variables to be set for the build. These variables will only be set when building the project and do not apply to building the dependencies.
- global_define
Extra cmake variables to be set for both the build and dependencies.
- cc
Set the c compiler to be used.
- cxx
Set the c++ compiler to be used.
- toolchain
Set the cmake toolchain file to be used.
Variables
These are variables that can be interpolated in the INI file.
- ${deps_dir}
Full path to the dependencies directory.
- ${source_dir}
Full path to the source directory.
- ${build_dir}
Full path to the build directory.
- ${rocm_path}
This is the path to rocm when using packages built at repo.radeon.com. It will point to /opt/rocm-<version>
where <version>
is the version of rocm installed. This is useful to set the compiler to rocm’s clang by default when using prebuilt packages:
[main]
cxx = ${rocm_path}/llvm/bin/clang++
This should not be passed as a cmake variable as build scripts should not assume all rocm packages are installed to the same path.