aboutsummaryrefslogtreecommitdiff
path: root/cmake/InstallHelpers.cmake
Commit message (Collapse)AuthorAge
* build: cmake cleanupdundargoc2023-05-13
| | | | | | | | | | - Simplify error checking when using execute_process. - Set BUILD_SHARED_LIBS to OFF when building dependencies. This is normally not needed, but msgpack interprets an unset BUILD_SHARED_LIBS to build a shared library, which is the opposite of the cmake behavior. - Move function check_lua_module to Util.cmake. - Remove unnecessary code. - Make variable naming more consistent
* refactor(build): make installation of runtime/ more effectivebfredl2023-03-07
| | | | | | | | | | | | | | | | | | | Currently files to install in runtime/ is detected by recursive glob pattern which has two problems: - cmake needs to do a of work at config time and build/runtime/cmake_install.cmake becomes HUGE (2.5MB, biggest config file) - we need to explicitly specify each file suffix used in the entire runtime, which is duplication of information. These globs specify every single file in a subdirectory. Thus, we can just install every runtime/ subdirectory as a single install command. Furthermore, at the top-level, only .vim and .lua files need to be installed. Further possible refactor: we could move files which does not belong in $PREFIX/runtime out of $REPO/runtime. Then runtime could be installed with a single install_helper(DIRECTORY ...) command.
* build: replace deprecated cmake features with their modern alternativesDundar Goc2022-08-03
| | | | | | | - Use DIRECTORY instead of PATH in get_filename_component - Use COMPILE_OPTIONS instead of COMPILE_FLAGS. COMPILE_FLAGS is treated as a single string while COMPILE_OPTIONS is a list, meaning that cmake will take care of any escaping and quoting automatically.
* build(install): rescan GLOB files on rebuildJakub Łuczyński2021-10-18
|
* cmake,bsd: Fix mandir to saner defaults. (#7417)Franklin Mathieu2017-10-21
| | | | | | | | | | | | closes #7239 The old behaviour was to set CMAKE_INSTALL_MANDIR to /usr/local/man when MANPREFIX wasn't defined. This caused mismatching installation paths when the installation prefix wasn't /usr/local. This fix explicitely checks that the prefix is /usr/local to change the value of CMAKE_INSTALL_MANDIR, and uses the default behaviour otherwise, as /usr/local is the exception rather than the norm (as per man hier(7)).
* install: bsd: install manpages to /usr/local/manJustin M. Keyes2017-05-27
| | | | | | https://svnweb.freebsd.org/ports/head/editors/neovim/Makefile?revision=428479&view=markup#l28 Closes #6771
* Build: Use GNUInstallDirs, install man pages #2649Michael Reed2015-05-17
| | | | | | | | | | | For now, only install man pages matching "nvim*.1": we don't want to install xxd.1 as it might conflict with that of a user's Vim installation. closes #1826 Reviewed-by: Florian Walch <florian@fwalch.com> Helped-by: John Szakmeister <john@szakmeister.net>
* build: allow installing into the root directory (/)John Szakmeister2014-11-09
| | | | | | | | | | It turns out that CMake always canonicalizes `CMAKE_INSTALL_PREFIX` to an absolute path--if it's a relative path, it canonicalizes it relative to the build directory. As a result, the only thing the DESTDIR and relative directory check prevents is an installation into the root directory since CMake strips the trailing slash, turning "/" into an empty string. Let's just remove the check all together, since it cannot accomplish what we intended.
* build: fix the usage of DESTDIR in InstallHelpers.cmakeJohn Szakmeister2014-11-08
| | | | | | | | | | | | | It turns out that `file(INSTALL ...)` already accounts for `DESTDIR`, so this wasn't creating the directory structure in the correct location. Instead, we need to do our existence check with `DESTDIR`, but leave it off when doing the install step. While we're at it, add a check to make sure `ENV{DESTDIR}` is not being used with a relative path, as that construct doesn't make much sense. This fixes issue #1387 discovered while trying to make helptag generation work correctly in #1381.
* CMake: Fix helptags generation.Florian Walch2014-11-03
|
* Revert "Merge pull request #1381 from xzfc/master"Florian Walch2014-11-03
| | | | | This reverts commit 6c0a596dacd7672e650847f1ed15e6a2a67b1483, reversing changes made to 33d3a7c83b2f1d2cda22b53bf82d68267154cdfd.
* CMake: Fix checking of DESTDIRAlbert Safin2014-11-03
|
* CMake: Set execute permissions during installation.Florian Walch2014-10-20
|
* build: install with the correct permissionsJohn Szakmeister2014-09-22
The install() command will create the parent directories, but it does so with the user's umask. We want to do our best to make sure the correct permissions are being set, without clobbering existing permissions. To do this, this commit introduces an install_helper(), which is similar in signature to the install() command, to help ensure that directories are created ahead of the actual install() command. This will attempt to use 0644 permissions for files and 0755 permissions for directories by default--though they can be overridden. To make this work correctly, without trying to introduce some mechanism with setting the umask, it meant that there's a small portion that makes use of an "internal" version of the file() command. It has been tested on CMake 2.8.11, 2.8.12, and 3.0.2, and works correctly on all versions. This fixes #1201 and #1086.