Skip to content

Improve/Standardize install targets and location

Benjamin Morgan requested to merge bmorgan/use-gnuinstalldirs into master

This migrates VecGeom to use CMake's builtin GNUInstallDirs to set and provide an interface to locations where files should be installed. It provides both a known semi-standard interface for variables, and Filesystem Hierarchy compliant paths by default.

An uninstall target is added when not defined to allow un-installation of files, but not directories.

All uses of CMAKE_{SOURCE,BINARY}_DIR for in-project use are replaced with PROJECT variants. This is clearer and also safer should use of VecGeom as a "subproject" of others be supported. CMAKE variants are retained in Jenkins scripts (as these are internal), and in the RecordCmdLine.cmake module as this is always called before any invocation of project.

Merge request reports