diff options
author | Brad King <brad.king@kitware.com> | 2020-04-01 14:53:21 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-04-01 14:54:44 (GMT) |
commit | cfc92b483fbd3695d4a67843977e709ba4d7ea47 (patch) | |
tree | c62629bdd1dfc7698a3a20f8dbcde47b5631522d | |
parent | f9be12707f003a80ba43e0f76dd0004dd24f66a2 (diff) | |
parent | 2642f432ef05d083da66c0b24cd10d655f951186 (diff) | |
download | CMake-cfc92b483fbd3695d4a67843977e709ba4d7ea47.zip CMake-cfc92b483fbd3695d4a67843977e709ba4d7ea47.tar.gz CMake-cfc92b483fbd3695d4a67843977e709ba4d7ea47.tar.bz2 |
Merge topic 'aux-install-dest'
2642f432ef Aux: Install editor and bash files to more natural locations
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4548
-rw-r--r-- | Auxiliary/CMakeLists.txt | 4 | ||||
-rw-r--r-- | Auxiliary/bash-completion/CMakeLists.txt | 24 |
2 files changed, 18 insertions, 10 deletions
diff --git a/Auxiliary/CMakeLists.txt b/Auxiliary/CMakeLists.txt index 53cf2c5..a833c79 100644 --- a/Auxiliary/CMakeLists.txt +++ b/Auxiliary/CMakeLists.txt @@ -1,4 +1,4 @@ -install(DIRECTORY vim/indent vim/syntax DESTINATION ${CMAKE_DATA_DIR}/editors/vim) -install(FILES cmake-mode.el DESTINATION ${CMAKE_DATA_DIR}/editors/emacs) +install(DIRECTORY vim/indent vim/syntax DESTINATION ${CMAKE_XDGDATA_DIR}/vim/vimfiles) +install(FILES cmake-mode.el DESTINATION ${CMAKE_XDGDATA_DIR}/emacs/site-lisp) install(FILES cmake.m4 DESTINATION ${CMAKE_XDGDATA_DIR}/aclocal) add_subdirectory (bash-completion) diff --git a/Auxiliary/bash-completion/CMakeLists.txt b/Auxiliary/bash-completion/CMakeLists.txt index c0a8899..06d22c2 100644 --- a/Auxiliary/bash-completion/CMakeLists.txt +++ b/Auxiliary/bash-completion/CMakeLists.txt @@ -1,8 +1,16 @@ -# Always install completion file in local dir -# in order to be sure to always be able to install -# in a local user directory rooted in a single directory. -# packager should either patch that out or -# add symlinks to the files in appropriate places -# /etc/bash_completion.d/ -# DATADIR/completions (may be /usr/share/<package>/completions -install(FILES cmake cpack ctest DESTINATION ${CMAKE_DATA_DIR}/completions) +# We need to integrate into the system install, or this will silently fail to +# accomplish anything at all, and packagers won't even know it exists. Use the +# `<sharedir>/bash-completion/completions/` hierarchy by default, rooted in +# CMake's XDGDATA_DIR definition of the sharedir. This works with installation +# to `/usr` or `/usr/local` (or any prefix which bash-completion is configured +# with) as well as a simple installation by a local user into their home +# directory *if* the prefix is `$HOME/.local` since `.local/share/` is part of +# the bash-completion search path too. +# For more complex installations, packagers can set CMAKE_BASH_COMP_DIR to +# another system location. + +set(CMAKE_BASH_COMP_DIR_DEFAULT ${CMAKE_XDGDATA_DIR}/bash-completion/completions) +if (NOT CMAKE_BASH_COMP_DIR) + set(CMAKE_BASH_COMP_DIR "${CMAKE_BASH_COMP_DIR_DEFAULT}") +endif() +install(FILES cmake cpack ctest DESTINATION ${CMAKE_BASH_COMP_DIR}) |