Hints for Building Bareos¶
Configure (cmake) build settings¶
Note
To build bareos, at least cmake version 3.12 is required.
Bareos cmake configuration allows a lot of different defines to be set. For the test-environment, we use the minimal defines required to run the tests.
When interested in the cmake defines for the Bareos production packages, please refer to the corresponding build descriptions:
- Debian Packages: debian/rules
- RPM Packages: core/platforms/packaging/bareos.spec
Using ccache (compiler cache)¶
Bareos can be built using ccache and using it will improve build times for repeated builds a lot. Running cmake will autodetect and use ccache if it is available. To get the most out of ccache, you should configure it to work correctly with Bareos.
- base_dir
- Set this to a common directory where your checked out sources and cmake binary-dir live.
Your homedirectoy is probably a good starting point.
This setting lets ccache ignore the path to files below this
base_dir
. This makes sure you will get a cache hit even if the path to the source files changes. - hash_dir
- By disabling this, the current working directory will be ignored. In case of cmake the working directory does not matter, so ignoring this should be safe and will improve cache hits
- sloppiness = file_macro
- This makes sure the value that
__FILE__
expands to is ignored when caching. You may end up with binaries that contain other paths in__FILE__
, but Bareos only uses this to determine a relative path so this should not hurt. If you’re using a modern compiler that supports-ffile-prefix-map
this should not be required anymore.
Example ccache.conf¶
base_dir = /path/to/common/topdir
hash_dir = false
sloppiness = file_macro