| Commit message (Collapse) | Author | Age |
| |
|
|
|
| |
Add missing includes and exclude os-specific files depending on platform
when using the target.
|
| |
|
|
|
| |
Replace its functionality by copying the entire directory where the
reports are instead.
|
| |
|
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The targets will only format files that have been changed in current
branch compared to the master branch. This includes unstaged, staged and
committed files.
Add following make and cmake targets:
formatc - format changed c files
formatlua - format changed lua files
format - run formatc and formatlua
Remove scripts/uncrustify.sh as this deprecates it.
|
| |
|
|
| |
Closes https://github.com/neovim/neovim/issues/567
|
| |
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| |
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| |\
| |
| | |
refactor: enable -Wconversion warning for lua/treesitter.c
|
| | |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/567
|
| | |
| |
| | |
Work on https://github.com/neovim/neovim/issues/567
|
| | |
| |
| | |
Work on https://github.com/neovim/neovim/issues/567
|
| |/
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| |
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| |\
| |
| | |
refactor: enable -Wconversion warning for search.c
|
| | |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/567
|
| |/
|
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| |
|
|
|
|
|
| |
When using a Makefile generator, older CMake versions are not building
custom targets when depending on their byproducts, making version
generation fail. (works on 3.19.4, fails on 3.10.2) As a workaround,
add a dependency on the custom target explicitly.
|
| |
|
|
| |
This to prevent the user from accidentally using the wrong uncrustify
version.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |\
| |
| | |
refactor: enable -Wconversion warning for memline.c
|
| | |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/567
|
| | |
| |
| |
| |
| |
| |
| |
| | |
- 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.
|
| |/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The general idea is that add_glob_targets creates a "touch file", a
dummy file that acts as a dependency in order to check which files are
outdated since the last time the target was run.
Remove RunUncrustify.cmake as it's no longer necessary. It was initially
introduced to silence its noisy output. The per-file targets will
suppress the noisy output from uncrustify, except for the very first
run.
Also remove DefCmdTarget.cmake since add_glob_target already
incorporates its functionality.
|
| |
|
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Dirs "config", "packaging", and "third-party" are all closely related
but this is not obvious from the layout. This adds friction for new
contributors.
Solution:
- rename config/ to cmake.config/
- rename test/config/ to test/cmakeconfig/ because it is used in Lua
tests: require('test.cmakeconfig.paths').
- rename packaging/ to cmake.packaging/
- rename third-party/ to cmake.deps/ (parallel with .deps/)
|
| |
|
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| |
|
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| |
|
|
|
|
|
| |
This will allow cmake to check if any directories needs re-globbing, in
other words, if any new file has been added since last time cmake was
run. This will (allegedly) make the configure stage slower but I have
not noticed any difference so I believe this is well worth it.
|
| |
|
|
|
|
| |
Instead of appending to a command output, append to an existing target
instead. The primary benefit is intermediary ...-cmd targets aren't
needed, we can instead append commands to the relevant target directly.
|
| |
|
|
|
|
|
|
|
|
| |
luacheck and clint are the most important, and they are bundled.
The others are nice-to-have, and not always available (and not bundled),
so make them optional. This allows the "lint" target to function as
a convenient and low-hassle handle for contributors.
We still get the full power of lint in CI.
TODO: bundle uncrustify (and then set it as required for "lint")?
|
| |
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| |
|
|
|
|
|
|
|
|
| |
Problem:
lintuncrustify doesn't actually do anything.
Solution:
- Fix the parameters.
- Fail correctly on nonzero result.
followup to #18940
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Since 6d57bb89c1ee #18543, luacheck is not found on some systems when
running the "lintlua" target.
Solution:
- Move the find_program() to the top-level CMakeLists.txt
- Define a def_cmd_target() function with fewer assumptions than the old
lint() function.
- Move "lintuncrustify" to src/nvim/CMakeLists.txt so it can reuse the
$LINT_NVIM_SOURCES already defined there.
- Make the lint targets _fatal_ by default. There is little reason for
the "lint" umbrella target defined in Makefile to exist if it's going
to ignore the absence of the actual linters.
- For now, keep the uncrustify call in a separate cmake script so that
it can be silenced (too noisy).
|
| |
|
|
|
|
|
|
|
| |
* build: move the logic for linters to cmake
Cmake is our source of truth. We should have as much of our build
process there as possible so everyone can make use of it.
* build: remove redundant check for ninja generator
The minimum cmake version as of writing this is 3.10, which has ninja
support.
|
| |
|
|
|
|
| |
When enabling -municode for MSVC the following warning shows up:
"LINK : warning LNK4044: unrecognized option '/municode'; ignored".
This will ensure cleaner logs for the MSVC job.
|
| |
|
|
|
| |
This makes it more convenient to find memory leaks since you don't need
to remember to set the EXITFREE flag every time you use valgrind or a
sanitizer.
|
| |
|
|
| |
this removes gperf as a build dependency
|
| |
|
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In a locale "en_US", "en" is the language and "US" is the region.
Before this change, we were too clever for our own good and tried to handle the
region as well. But if the macOS primary language is set to "English" and the
region to "Norway", we would end up with "en_NO", which is a locale that does
not exist.
Now we only take the language into account. Taking the example from above would
yield "en_US", which is a sensible fallback.
If the region is important to you, set $LANG and the more specific LC_*
variables in your shell config or alternatively use `:help :language`.
References https://github.com/neovim/neovim/issues/18292
|
| |
|
|
|
|
| |
* refactor: enable -Wconversion warning for ex_docmd.c
Work on https://github.com/neovim/neovim/issues/567
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem:
winpty is only needed for Windows 8.1. Removing it reduces our build and code
complexity.
Solution:
- Remove winpty.
- Require Windows 10.
closes #18252
|
| |
|
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| |
|
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| |
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| |
|
|
|
|
|
|
|
| |
Added:
- -Wdouble-promotion
- -Wmissing-noreturn
- -Wmissing-format-attribute
- -Wsuggest-attribute={pure,const,malloc,cold}
Resolves: #343
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: The regexp.c file is too big.
Solution: Move the backtracking engine to a separate file. (Yegappan
Lakshmanan, closes vim/vim#4905)
https://github.com/vim/vim/commit/6d7d7cf750bca5d641e464f6a3af5ee5b99a5ac8
vim-patch:8.1.2010: new file uses old style comments
Problem: New file uses old style comments.
Solution: Change to new style comments. (Yegappan Lakshmanan, closes vim/vim#4910)
https://github.com/vim/vim/commit/9490b9a61cf1f1f3fa9758663a33124ea9f71c87
|