Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allow absolute GNU install dirs #1315

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

chayleaf
Copy link

@chayleaf chayleaf commented Aug 12, 2023

CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_INCLUDEDIR are allowed to be absolute as per CMake docs, so they shouldn't be concatenated to absolute paths. Instead, use CMAKE_INSTALL_FULL_LIBDIR and CMAKE_INSTALL_FULL_INCLUDEDIR, which are known to be absolute.

Absolute CMAKE_INSTALL_*DIR paths are used at least on NixOS. This is because NixOS packages are allowed to have multiple outputs (e.g. put docs in one dir, headers and other files for development to another, the binaries to a third one), and NixOS isn't FHS-compliant (There's no /usr, each package output has its own directory instead).

GNU Guix is a similar distro, but I'm not sure how CMake packages are built there. Either way, it's good to fully conform to the spec.

CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_INCLUDEDIR are allowed to be
absolute, so they shouldn't be concatenated to absolute paths. Instead,
use CMAKE_INSTALL_FULL_LIBDIR and CMAKE_INSTALL_FULL_INCLUDEDIR, which
are known to be absolute.
@chayleaf chayleaf changed the title respect GNU install dirs allow absolute GNU install dirs Aug 13, 2023
@davidgyu
Copy link
Member

Filed as internal issue #OSD-430

@davidgyu
Copy link
Member

Hi, @chayleaf would you submit a CLA Thanks!

@chayleaf
Copy link
Author

chayleaf commented Aug 17, 2023

Just did that

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants