aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/CMakeLists.txt
Commit message (Collapse)AuthorAge
* build(windows): fix target check-single-includesdundargoc2022-08-13
| | | | | Add missing includes and exclude os-specific files depending on platform when using the target.
* build: remove InstallClintErrors.cmakeDundar Goc2022-08-03
| | | | | Replace its functionality by copying the entire directory where the reports are instead.
* 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: add formatting targets for c and lua files (#19488)dundargoc2022-08-02
| | | | | | | | | | | | 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.
* refactor: enable -Wconversion warning for screen.cDundar Goc2022-07-30
| | | | Closes https://github.com/neovim/neovim/issues/567
* refactor: enable -Wconversion warning for spell.c (#19538)dundargoc2022-07-30
| | | Work on https://github.com/neovim/neovim/issues/567
* refactor: enable -Wconversion warning for syntax.c (#19533)dundargoc2022-07-29
| | | Work on https://github.com/neovim/neovim/issues/567
* Merge pull request #19486 from dundargoc/refactor/conversionThomas Vigouroux2022-07-28
|\ | | | | refactor: enable -Wconversion warning for lua/treesitter.c
| * refactor: enable -Wconversion warning for lua/treesitter.cDundar Goc2022-07-28
| | | | | | | | Work on https://github.com/neovim/neovim/issues/567
* | refactor: enable -Wconversion warning for spellfile.c (#19527)dundargoc2022-07-28
| | | | | | Work on https://github.com/neovim/neovim/issues/567
* | refactor: enable -Wconversion warning for window.c (#19537)dundargoc2022-07-27
| | | | | | Work on https://github.com/neovim/neovim/issues/567
* | refactor: enable -Wconversion warning for eval/funcs.c (#19541)dundargoc2022-07-27
|/ | | Work on https://github.com/neovim/neovim/issues/567
* refactor: enable -Wconversion warning for regexp files (#19521)dundargoc2022-07-28
| | | Work on https://github.com/neovim/neovim/issues/567
* Merge pull request #19525 from dundargoc/refactor/conversion-searchbfredl2022-07-27
|\ | | | | refactor: enable -Wconversion warning for search.c
| * refactor: enable -Wconversion warning for search.cDundar Goc2022-07-27
| | | | | | | | Work on https://github.com/neovim/neovim/issues/567
* | refactor: enable -Wconversion warning for mbyte.cDundar Goc2022-07-27
|/ | | | Work on https://github.com/neovim/neovim/issues/567
* build: fix git version generation on makefiles with older cmake versionsii142022-07-26
| | | | | | | 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.
* build(lint): check uncrustify version #19468dundargoc2022-07-25
| | | | This to prevent the user from accidentally using the wrong uncrustify version.
* 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>
* Merge pull request #19167 from dundargoc/refactor/conversionLewis Russell2022-07-18
|\ | | | | refactor: enable -Wconversion warning for memline.c
| * refactor: enable -Wconversion warning for memline.cDundar Goc2022-06-30
| | | | | | | | Work on https://github.com/neovim/neovim/issues/567
* | 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.
* | build: add github action annotations for clintLewis Russell2022-07-04
|/
* feat(build): add_glob_target runs only on changed files #19070dundargoc2022-06-30
| | | | | | | | | | | | | 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.
* refactor: enable -Wconversion warning for fileio.cDundar Goc2022-06-29
| | | | Work on https://github.com/neovim/neovim/issues/567
* build: move unicode/ to src/unicode/Justin M. Keyes2022-06-28
|
* build: rename build-related dirsJustin M. Keyes2022-06-28
| | | | | | | | | | | | | | 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/)
* refactor: enable -Wconversion warning for message.cDundar Goc2022-06-27
| | | | Work on https://github.com/neovim/neovim/issues/567
* refactor: enable -Wconversion warning for ex_cmds.cDundar Goc2022-06-25
| | | | Work on https://github.com/neovim/neovim/issues/567
* build(cmake): use glob_wrapper instead of file(GLOB in main CMakeListsDundar Goc2022-06-21
| | | | | | | 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.
* build(cmake): simplify def_cmd_target functionDundar Goc2022-06-19
| | | | | | 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.
* build(lint): set some linters as non-fatal #19018Justin M. Keyes2022-06-18
| | | | | | | | | | 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")?
* refactor: enable -Wconversion warning for eval.c (#18448)dundargoc2022-06-14
| | | Work on https://github.com/neovim/neovim/issues/567
* build(lint): fix lintuncrustify #18945Justin M. Keyes2022-06-12
| | | | | | | | | | Problem: lintuncrustify doesn't actually do anything. Solution: - Fix the parameters. - Fail correctly on nonzero result. followup to #18940
* build(lint): fix luacheck not found #18940Justin M. Keyes2022-06-12
| | | | | | | | | | | | | | | | | 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: add a cmake target for all used linters #18543dundargoc2022-06-09
| | | | | | | | | * 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.
* ci(mingw): only enable -municode for MinGWDundar Goc2022-05-25
| | | | | | 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.
* build: enable EXITFREE on Debug builds (#17783)dundargoc2022-05-15
| | | | | 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.
* refactor(eval): use Hashy McHashFace instead of gperfbfredl2022-05-12
| | | | this removes gperf as a build dependency
* refactor: enable -Wconversion warning for edit.cDundar Goc2022-05-06
| | | | Work on https://github.com/neovim/neovim/issues/567
* fix(mac): use same $LANG fallback mechanism as VimMarco Hinz2022-04-28
| | | | | | | | | | | | | | | | | 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 (#18277)dundargoc2022-04-27
| | | | | | * refactor: enable -Wconversion warning for ex_docmd.c Work on https://github.com/neovim/neovim/issues/567
* refactor(terminal)!: drop winpty, require Windows 10 #18253erw72022-04-26
| | | | | | | | | | | 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
* refactor: enable -Wconversion warning for funcs.c and userfuncs.cDundar Goc2022-04-26
| | | | Work on https://github.com/neovim/neovim/issues/567
* refactor: enable Wconversion warning for tagDundar Goc2022-04-25
| | | | Work on https://github.com/neovim/neovim/issues/567
* refactor: enable Wconversion warning for diff (#18094)dundargoc2022-04-24
| | | Work on https://github.com/neovim/neovim/issues/567
* chore: add additional compiler flags (#17815)Lewis Russell2022-03-24
| | | | | | | | | Added: - -Wdouble-promotion - -Wmissing-noreturn - -Wmissing-format-attribute - -Wsuggest-attribute={pure,const,malloc,cold} Resolves: #343
* refactor(ui): use "ui_client" instead of "redraw" as general prefixbfredl2022-03-15
|
* feat(ui): implement ui_client event handlershlpr982022-03-15
|
* vim-patch:8.1.2005: the regexp.c file is too bigkylo2522022-03-10
| | | | | | | | | | | | | 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