-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Use GNUInstallDirs to determine install paths #3402
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
Conversation
Establishes some sane defaults:
- architecture-dependent CMAKE_INSTALL_LIBDIR=lib or =lib64
- CMAKE_INSTALL_BINDIR=bin (default)
- CMAKE_INSTALL_DATADIR=share (default)
*_FULL* options also supported:
- CMAKE_INSTALL_FULL_BINDIR=${CMAKE_INSTALL_PREFIX}/bin (default)
|
It's nice that Kitware has this functionality available in CMake. Unfortunately, using the GNUInstallDirs (or GNU Directory Variables ) is presumptive. There is also the XDG Base Directory Specification. Pull Request being offered, thank you, I find is pushing us to pick a standard. |
|
Meh, it doesn't seem to be actively hurting anything. Lets see if it passes our CI tests first. 😄 |
|
It's the "pick-a-side" notion that bothers me. GNU is not exactly perfect. Freedesktop is an industry group for the most part. When confronted with either one my head goes back to clips of Pirates of the Caribbean - "...the code is more what you'd call "guidelines" than actual rules". Same can be said for some specifications sadly. Sure, we could be using different install variables. We could be more aligned with a standard. And yet,... no one has complained or commented until now... |
|
Yeah, I don't personally care either way either. 😄
On second thought, I'd rather not. Let's just close this as "Nope". |
|
@h3xx Thanks for the PR. But, we're probably not going to "pick a side" here, as @scottfurry was referring to it. 😉 |
The GNU vs. XDG debacle (first I've heard of it) is not even a choice you have to make. The "GNU" in The reason for merging this change would be simply to allow overriding the bindir name. E.g. The default paths provided by All I wanted to do with this PR is, in a standard way, allow packagers to override the install paths instead of having to manually move files around after the install. |
|
Hmmm, that sounds reasonable to me. @scottfurry Thoughts? |
|
Since this allows for more flexibility and standardization, I'm in favor of merging this pull request. |
|
Too late... |
Establishes some sane defaults:
CMAKE_INSTALL_LIBDIR=libor =lib64CMAKE_INSTALL_BINDIR=bin(default)CMAKE_INSTALL_DATADIR=share(default)*_FULL*options also supported:CMAKE_INSTALL_FULL_BINDIR=${CMAKE_INSTALL_PREFIX}/bin(default)