diff options
author | Patrick Steinhardt <ps@pks.im> | 2020-03-13 22:08:19 +0100 |
---|---|---|
committer | Patrick Steinhardt <ps@pks.im> | 2020-03-14 11:18:20 +0100 |
commit | 87fc539f2ee733f86a83339a50aa3072d71890ef (patch) | |
tree | ba4223b8be14a786930fc22430cb54e85729036d /README.md | |
parent | e23b8b446522f17eb3329b62201aae7674f06e13 (diff) | |
download | libgit2-87fc539f2ee733f86a83339a50aa3072d71890ef.tar.gz |
cmake: use install directories provided via GNUInstallDirs
We currently hand-code logic to configure where to install our artifacts
via the `LIB_INSTALL_DIR`, `INCLUDE_INSTALL_DIR` and `BIN_INSTALL_DIR`
variables. This is reinventing the wheel, as CMake already provide a way
to do that via `CMAKE_INSTALL_<DIR>` paths, e.g. `CMAKE_INSTALL_LIB`.
This requires users of libgit2 to know about the discrepancy and will
require special hacks for any build systems that handle these variables
in an automated way. One such example is Gentoo Linux, which sets up
these paths in both the cmake and cmake-utils eclass.
So let's stop doing that: the GNUInstallDirs module handles it in a
better way for us, especially so as the actual values are dependent on
CMAKE_INSTALL_PREFIX. This commit removes our own set of variables and
instead refers users to use the standard ones.
As a second benefit, this commit also fixes our pkgconfig generation to
use the GNUInstallDirs module. We had a bug there where we ignored the
CMAKE_INSTALL_PREFIX when configuring the libdir and includedir keys, so
if libdir was set to "lib64", then libdir would be an invalid path. With
GNUInstallDirs, we can now use `CMAKE_INSTALL_FULL_LIBDIR`, which
handles the prefix for us.
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -247,9 +247,9 @@ For more advanced use or questions about CMake please read <https://cmake.org/Wi The following CMake variables are declared: -- `BIN_INSTALL_DIR`: Where to install binaries to. -- `LIB_INSTALL_DIR`: Where to install libraries to. -- `INCLUDE_INSTALL_DIR`: Where to install headers to. +- `CMAKE_INSTALL_BINDIR`: Where to install binaries to. +- `CMAKE_INSTALL_LIBDIR`: Where to install libraries to. +- `CMAKE_INSTALL_INCLUDEDIR`: Where to install headers to. - `BUILD_SHARED_LIBS`: Build libgit2 as a Shared Library (defaults to ON) - `BUILD_CLAR`: Build [Clar](https://github.com/vmg/clar)-based test suite (defaults to ON) - `THREADSAFE`: Build libgit2 with threading support (defaults to ON) |