aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAge
* build: set deps default build type to Release (#27495)Gregory Anders2024-02-16
| | | | | | | | | | | | | Debugging dependencies is rare so a Debug build type is usually not needed. In cases where it _is_ needed it is easy to rebuild in Debug mode. But since Release builds are more common, it makes more sense as a default. For Neovim itself we stick with a Debug build as a default, since rebuilding and debugging is done _much_ more frequently than with dependencies (which we _mostly_ expect to "just work"). Also remove the CMAKE_BUILD_TYPE variable in the Makefile, since this is set by default in CMake.
* build(docs): separate lint job to validate vimdoc #27227Jongwook Choi2024-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: Separate the lint job (`make lintdoc`) to validate runtime/doc, it is no longer as a part of functionaltest (help_spec). Build (cmake) and CI: - `make lintdoc`: validate vimdoc files and test-generate HTML docs. CI will run this as a part of the "docs" workflow. - `scripts/lintdoc.lua` is added as an entry point (executable script) for validating vimdoc files. scripts/gen_help_html.lua: - Move the tests for validating docs and generating HTMLs from `help_spec.lua` to `gen_help_html`. Added: - `gen_help_html.run_validate()`. - `gen_help_html.test_gen()`. - Do not hard-code `help_dir` to `build/runtime/doc`, but resolve from `$VIMRUNTIME`. Therefore, the `make lintdoc` job will check doc files on `./runtime/doc`, not on `./build/runtime/doc`. - Add type annotations for gen_help_html.
* build: various build improvementsdundargoc2024-01-24
| | | | | | | | | | | | | | | | | | - remove "ran-" prefix from touch files as it's redundant since the they're already in the directory named `touches`. - Include `contrib` when formatting with `make formatlua`. - Use TARGET_FILE generator expression instead of assuming the executable location. - reuse logic that determines whether to use lua or luajit. - add translations to the `nvim` target. Makefile improvements: - rename variable `CMAKE_PRG` to `CMAKE` to make it more consistent with the builtin `MAKE` variable. - stop propagating flags to generator. Users should use cmake for non-standard use cases. - remove `+` prefix from targets. If the user for whatever reason wants to dry-run a target then they should be able to.
* refactor: run IWYU on entire repodundargoc2023-12-21
| | | | Reference: https://github.com/neovim/neovim/issues/6371.
* refactor(IWYU): move decor provider types to decoration_defs.h (#26692)zeertzjq2023-12-21
|
* refactor: split WIN_EXECUTE() into two functions (#26627)zeertzjq2023-12-18
|
* refactor: move some anonymous enums back to non-defs headers (#26622)zeertzjq2023-12-18
| | | | | | | | | | It isn't really useful to put anonymous enums only used as arguments to functions calls in _defs.h headers, as they will only be used by a file that calls those functions, which requires including a non-defs header. Also move os_msg() and os_errmsg() back to message.h, as on Windows they are actual functions instead of macros. Also remove gettext.h and globals.h from private/helpers.h.
* refactor: move non-symbols to defs.h headersdundargoc2023-12-17
|
* refactor(IWYU): move marktree types to marktree_defs.h (#26402)zeertzjq2023-12-05
|
* refactor(IWYU): fix includes for highlight_group.h (#26340)zeertzjq2023-12-01
|
* refactor(IWYU): create {ex_getln,rbuffer,os/fileio}_defs.h (#26338)zeertzjq2023-12-01
|
* refactor(IWYU): fix includes for cmdhist.h (#26324)zeertzjq2023-11-30
|
* refactor(IWYU): move typedefs out of globals.h (#26322)zeertzjq2023-11-30
|
* refactor(IWYU): move UI and LineFlags to ui_defs.h (#26318)zeertzjq2023-11-30
|
* refactor: move function macros out of vim_defs.h (#26300)zeertzjq2023-11-29
|
* refactor: move some constants out of vim_defs.h (#26298)zeertzjq2023-11-29
|
* refactor(IWYU): create normal_defs.h (#26293)zeertzjq2023-11-29
|
* refactor: fix headers with IWYUdundargoc2023-11-28
|
* refactor(IWYU): fix includes for ugrid.h (#26267)zeertzjq2023-11-28
|
* refactor: move hashtab types to hashtab_defs.h (#26262)zeertzjq2023-11-28
|
* refactor: fix runtime_defs.h (#26259)zeertzjq2023-11-28
|
* refactor: fix includes for api/autocmd.hdundargoc2023-11-27
|
* refactor: fix includes for iconv.hdundargoc2023-11-27
|
* refactor: create runtime_defs.hdundargoc2023-11-27
|
* build(IWYU): fix includes for undo_defs.hdundargoc2023-11-27
|
* build: enable IWYU on macdundargoc2023-11-27
|
* build(IWYU): replace most private mappings with pragmas (#26247)zeertzjq2023-11-27
|
* refactor: move Arena and ArenaMem to memory_defs.h (#26240)zeertzjq2023-11-27
|
* refactor: move autocmd types to autocmd_defs.h (#26239)zeertzjq2023-11-27
|
* build(clint): more precise check for "defs" headers (#26236)zeertzjq2023-11-27
|
* build(IWYU): fix headers for arabic.hdundargoc2023-11-26
|
* refactor: move garray_T to garray_defs.h (#26227)zeertzjq2023-11-26
|
* build: sync IWYU and clint to ignore the same headers (#26228)dundargoc2023-11-26
| | | Also fix headers for autocmd.c.
* build: add check to clint to prevent non-defs header includesdundargoc2023-11-26
| | | | | | Also enable iwyu on headers, but add an ignore for each file separately. Work on https://github.com/neovim/neovim/issues/6371.
* build: rework IWYU mapping filesdundargoc2023-11-25
| | | | | Create mapping to most of the C spec and some POSIX specific functions. This is more robust than relying files shipped with IWYU.
* build: various cmake fixesdundargoc2023-11-04
| | | | | | | - silence false warnings on MSVC - merge `clang-tidy` cmake target into `lintc` and remove the corresponding make target - use cmake's built-in endianness detection
* ci: enable clang-analyzer warningsdundargoc2023-10-09
| | | | | | | | | | | | | This adds the checks in https://neovim.io/doc/reports/clang/ when using clang-tidy. The strategy is to enable all clang-analyzer checks, and disable only the checks for the warnings that exist currently. This allows us to eliminate each warning type without blocking ongoing work, but also without adding bugs for already eliminated warnings. The plan is to eventually eliminate https://neovim.io/doc/reports/clang/ by completely integrating it into the clang-tidy check. Also add make and cmake targets `clang-analyzer` to run this check.
* build: fix "make iwyu" not working (#24873)zeertzjq2023-08-26
|
* docs(generators): bake into cmakeLewis Russell2023-08-23
|
* feat(lua-types): types for vim.api.* (#24523)Lewis Russell2023-08-01
|
* build(makefile): remove a phony target uninstall (#24349)Yuma Ueda2023-07-14
| | | `uninstall` target was removed from makefile
* build: remove functionaltest-lua targetdundargoc2023-05-24
| | | | | It's not needed anymore as it does the exact same thing as functionaltest. The functionaltest target will test the lua type neovim was built with, which can be toggled with the PREFER_LUA option.
* build(Makefile): add nvim to oldtest phony targetluukvbaal2023-04-27
| | | This is to force a rebuild each time a file is changed.
* build: remove uninstall targetdundargoc2023-04-08
| | | | | The `make uninstall` target can't be expected to find all files it installs in many cases. It is therefore better to remove it rather than give the impression to users that it is a robust.
* build(uninstall): don't build if installation manifest not founddundargoc2023-04-08
| | | | | | Due to the way neovim project is set up, running `make uninstall` would previously build neovim in order to determine whether neovim was installed. Instead, check if installation manifest file exists and if not then skip building entirely.
* revert: "build: enable cmake workflow presets (#21860)"dundargoc2023-03-11
| | | | | | | | This reverts commit 00a976129b603b60f1e309ee7484cb0f4b5a9792. Visual Studio fails the build if the CMakePresets.json version is too high and the CMakePresets.json integration is enabled. Closes https://github.com/neovim/neovim/issues/22608.
* test: move oldtests to test directory (#22536)dundargoc2023-03-07
| | | | | The new oldtest directory is in test/old/testdir. The reason for this is that many tests have hardcoded the parent directory name to be 'testdir'.
* build: cmake cleanup (#22251)dundargoc2023-03-02
| | | | | | | | - Remove unused code - Use consistent casing. Variable names such as LibLuV_LIBRARIES is needlessly jarring, even if the name might be technically correct. - Use title casing for packages. find_package(unibilium) requires the find_module to be named "Findunibilium.cmake", which makes it harder to spot when scanning the files. Instead, use "Unibilium".
* build: replace check-single-includes with clang-tidy (#22061)dundargoc2023-02-08
| | | | | | Clang-tidy already does what check-single-includes does automatically on top of its regular linting. It is also generator independent, so it doesn't take an eternity to run on slower generators such as Visual Studio.
* build: add uninstall make target (#22059)dundargoc2023-01-30
| | | | We already have a "make install", it makes sense to also have a "make uninstall".