aboutsummaryrefslogtreecommitdiff
path: root/cmake/GenerateVersion.cmake
Commit message (Collapse)AuthorAge
* build: various fixesdundargoc2023-09-04
| | | | | | | | | - simplify lua interpreter search - fix incorrect variable name in BuildLua.cmake - build PUC Lua with -O2 - silence non-mandatory find_package search for libuv - simplify Find modules - Prefer using the explicitly set CI_BUILD over relying on the environment variable "CI".
* feat: report "build" in vim.version() #23925treatybreaker2023-06-11
| | | | | | | | | | Problem: Nvim version string typically has a "build" component but vim.version() doesn't report it. Solution: Add the "build" field to vim.version(). Closes #23863
* build: silence git describe error outputBiswapriyo Nath2023-03-05
| | | | | This change will silence the warning from git describe command when the project is built using source tarball. The warning is fatal: not a git repository: 'neovim/.git'
* build: various cmake fixes (#21902)dundargoc2023-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * build: various cmake refactors and simplifications - Add STATUS keyword to message to ensure messages are shown in the correct order. - Remove DEPS_CXX_COMPILER as we don't rely on C++ for any of our dependencies. - Simplify how msgpack and luv configure options are constructed. - Rely on the default installation for luv instead of manually passing configure, build and install commands. - Simplify return code conditional. * build: remove CMAKE_OSX_ARCHITECTURES_ALT_SEP workaround CMAKE_OSX_ARCHITECTURES_ALT_SEP was defined as a workaround to prevent the shell from interpreting `;`, which CMake uses as a list separator. However, the same thing can be achieved by instead passing CMAKE_OSX_ARCHITECTURES as a cache variable instead, which is a more idiomatic way of achieving the same thing. * build: define CMAKE_BUILD_TYPE before adding it to BUILD_TYPE_STRING The problem with the current setup is that CMAKE_BUILD_TYPE is defined after BUILD_TYPE_STRING. BUILD_TYPE_STRING will then be empty on the first run, meaning that dependencies are built without a build type. However, since CMAKE_BUILD_TYPE is a cache variable its value will persist in subsequent runs. On the second run BUILD_TYPE_STRING will have the correct value, but it's a different value from the ones the dependencies were built with. This will force some dependencies to be built again. Fixes https://github.com/neovim/neovim/issues/21672.
* build(Windows): fix redoing version generation (#21880)Enan Ajmain2023-01-18
| | | | | | | | | Problem: On Windows, neovim's version is generated every time nvim is built, even if code hasn't been changed. That is because version generation is done based on a hash matching of a file and the content of the file. And in Windows they don't match, because of the DOS line-endings. Solution: Write the file containing nvim version with UNIX line-endings.
* build: restrict `git describe` to top level source directory (#20993)Jan Palus2022-12-02
| | | | fix version determination when building neovim from release tarball extracted within another git repository
* build: give example on complex regexesdundargoc2022-10-21
| | | | | This is just to allow the reader to get a quick understanding without necessarily needing to know all the regex intricasies.
* fix(build): duplicate version string "v0.8.0-v0.8.0" #20578dundargoc2022-10-20
| | | | | | | | | | - Prevent duplicate version strings such as v0.8.0-v0.8.0. - Change the format for git releases from v0.9.0-dev-67-g625ba79be to v0.9.0-dev-67+g625ba79be. Nvim versions are now: release : v0.9.0 prerelease without git info: v0.9.0-dev prerelease with git info : v0.9.0-dev-67+g625ba79be
* build: ensure version generation always succeeds (#19515)dundargoc2022-09-10
| | | | | Add --always flag to `git describe` so version generation succeeds if current directory is in a git repo. If not in git repo, fall back to a default version in the format vx.y.z-dev
* build: fix version generation to its previous behaviorDundar Goc2022-07-26
| | | | | | | | | | | | This will change the version format from v0.8.0-dev-nightly-12-g1a07044c1 to v0.8.0-dev-698-ga5920e98f Closes https://github.com/neovim/neovim/issues/19499
* fix(build): non-git ("tarball") build fails #19448kylo2522022-07-22
| | | | | | | | | | | | | | | | | | | | | | Problem: Build fails without git or .git/. ref #19289 Solution: Fix the version generation logic. Test cases: If `git` is missing: -- Using NVIM_VERSION_MEDIUM: v0.8.0-dev If `.git/` is missing: -- Git tag extraction failed: fatal: not a git repository (or any of the parent directories): .git -- Using NVIM_VERSION_MEDIUM: v0.8.0-dev If `git describe` fails -- Git tag extraction failed: fatal: ... -- Using NVIM_VERSION_MEDIUM: v0.8.0-dev Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* fix(build): fails if git is missing #19366Luis Felipe Dominguez Vega2022-07-14
| | | Generate empty file if git is missing.
* build: gracefully handle error in git-version #19289kylo2522022-07-14
- only update git-version if both of these conditions are met: - `git` command succeeds - `versiondef_git.h` would change (SHA1-diff) - else print a status/warning message also move version generation out of Lua into cmake.