aboutsummaryrefslogtreecommitdiff
path: root/cmake
Commit message (Collapse)AuthorAge
...
* Add uninstall target for make and othersbrian.orwe2021-03-16
|
* Align naming of FindTreeSitter cmake file and variablesJames McCoy2020-11-09
| | | | | | | | `find_package(Foo ...)` expects to find a file FindFoo.cmake and the resulting variables to be named `Foo_...`. If those don't all match up, then the detection does not work properly. Closes #13262
* bundle: move tree-sitter as a bundled depThomas Vigouroux2020-11-03
| | | | | | fixup! bundle: move tree-sitter as a bundled dep fixup! bundle: move tree-sitter as a bundled dep
* build/FindLua.cmake: allow Lua 5.4 #12820Michel Alexandre Salim2020-08-31
| | | Lua 5.4 is out, and will be shipped with Fedora 33.
* treesitter: remove utf8proc dependencyThomas Vigouroux2020-04-18
|
* build/MSVC: fix gettext multibyte issue #11774erw72020-01-28
| | | | | | | | | | | Problem: On Windows with the MSVC build, gettext-translation "Questa è già la" displays as "Questa <e8> gi<e0> la". Solution: Fix iconv detection iconv when building gettext. So HAVE_ICONV is correctly defined when building nvim. * fix gettext mb chars on MSVC * fix libintl detection failure on MSVC fixes #11749
* build: run git-describe for dev version during build (#11117)Daniel Hahler2019-09-30
| | | | | | | | This avoids invoking CMake after a new commit, which might take 15s on some systems. Skipped on CMake < 3.2.0 (missing BYPRODUCTS support). Co-Authored-By: Justin M. Keyes <justinkz@gmail.com>
* cmake: use LibFindMacros for utf8proc (#11114)Daniel Hahler2019-09-29
| | | Also update doc.
* Create BuildUtf8proc.cmake and FindUtf8proc.cmakeBjörn Linse2019-09-28
| | | | Using advanced search and replace technology
* cmake/GetCompileFlags: include CMAKE_C_COMPILER_ARG1 (#11091)Daniel Hahler2019-09-25
| | | This is used internally (e.g. on Travis) for 32-bit builds (`-m32`).
* build: rename CMake find modules for LibFindMacros #10928Daniel Hahler2019-09-06
| | | | | | | | | | | | | | | We are using "LIBFOO" prefixes for `LIBFOO_INCLUDE_DIRS` etc, and therefore need to use this for the PREFIX with LibFindMacros also, so that `"${${PREFIX}_FIND_VERSION}"` gets handled there properly. The alternative would be to either manually handle/set the upper/mixed case variants of those variable additionally, which is not as easy. Keeping the existing names is useful for packagers. Before this the version requirements with `find_package(Unibilium 2.0 REQUIRED)` was not handled (a49cf5126), and it prepares for using a required version with libvterm (initially/wrongly ported in 1896c72a5).
* build: cmake: GetCompileFlags: include CMAKE_C_FLAGS (#10957)Daniel Hahler2019-09-06
| | | | Calls `GetCompileFlags` from `src/nvim` directory, to include `--coverage` (and any others).
* get_compile_flags: also look at target propertiesDaniel Hahler2019-08-15
|
* build: link libraries by full path (for luv.so) (#10661)Daniel Hahler2019-08-12
| | | | | | | | Use "luv" as imported library to work around "-lluv" being used due to missing SONAME. Fixes https://github.com/neovim/neovim/issues/10407. Ref: https://gitlab.kitware.com/cmake/cmake/issues/19578 Ref: https://github.com/NixOS/nixpkgs/issues/64400#issuecomment-516557253
* build: port FindLibVterm to LibFindMacros (#10395)Daniel Hahler2019-08-08
|
* build: clean up / remove X_USE_STATIC (#10713)Daniel Hahler2019-08-07
| | | | | | | | This was discouraged (as an option) in 5b5d353151 [1], not enabled/used by default, and not working according to the comment in local.mk.example. Taken out of https://github.com/neovim/neovim/pull/10395. 1: https://github.com/neovim/neovim/pull/2465
* build: require unibilium>=2.0 (#10681)Daniel Hahler2019-08-03
| | | | | | | | | | | | * build: require unibilium>=2.0 This also ports FindUnibilium to LibFindMacros, which was planned anyway, and makes the version check easier. With an older Unibilium our fallback code in `terminfo_from_builtin` will not work (because it assumes the new data structures from 2.0.0 [1]), and nvim would crash later because of `ut` being NUL. 1: https://github.com/neovim/unibilium/commit/42f3cdd284735bd827691c3d0bfae9472b22d5d5
* ci: RunTests: ensure that the logfile gets displayed (#10597)Daniel Hahler2019-07-24
| | | | | | This is meant to help with test failures where e.g. `busted` itself might crash or get killed. Ref: https://github.com/neovim/neovim/issues/10182#issuecomment-514450069
* test: Force $TEST_FILE to relative path [ci skip] #10535erw72019-07-19
| | | | | - Always force TEST_PATH to a relative path. - Eliminate rel_test_path. (The code simplification is worth the extra subdirectory below Xtest_tmpdir/.)
* tests: move "busted" dir to "test" (#10518)Daniel Hahler2019-07-16
| | | | | | | | | | | * tests: move "busted" dir to "test" It is used for outputHandlers only, and clearly belongs to the tests. Use the full module name with the `-o` option to `busted` then for clarity. * luacheck * test/busted/outputHandlers/TAP.lua: use/extend upstream
* build: fix GetCompileFlags for CMake #10444Daniel Hahler2019-07-07
| | | Ref: https://github.com/neovim/neovim/pull/10363#issuecomment-508916959
* build: FindLibIntl: fix warning about CMP0075 (#10427)Daniel Hahler2019-07-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * build: FindLibIntl: fix warning about CMP0075 The common pattern elsewhere to set this only during the check, and here it was not unset, resulting in a warning later (on Alpine 3.10): -- Found Iconv -- Looking for pthread.h CMake Warning (dev) at /usr/share/cmake/Modules/CheckIncludeFile.cmake:80 (message): Policy CMP0075 is not set: Include file check macros honor CMAKE_REQUIRED_LIBRARIES. Run "cmake --help-policy CMP0075" for policy details. Use the cmake_policy command to set the policy and suppress this warning. CMAKE_REQUIRED_LIBRARIES is set to: /usr/lib/libintl.so For compatibility with CMake 3.11 and below this check is ignoring it. Call Stack (most recent call first): /usr/share/cmake/Modules/FindThreads.cmake:105 (CHECK_INCLUDE_FILE) CMakeLists.txt:482 (find_package) This warning is for project developers. Use -Wno-dev to suppress it. -- Looking for pthread.h - found * build: remove lists / REMOVE_ITEM around check_c_source_compiles
* Merge pull request #10414 from blueyed/luacheckDaniel Hahler2019-07-04
|\ | | | | Improve luacheck integration, fix more issues.
| * Improve luacheck setup [skip appveyor]Daniel Hahler2019-07-04
| | | | | | | | | | | | | | | | - Move .luacheckrc to root, add read_globals=vim - Simplify lualint target, run it on all lua files - Lint preload.lua, but ignore W211 - Remove testlint target, included in lualint (and lint) - Clean up .luacheckrc
* | build: FindLuaJit: handle luajit-2.1 include path suffix (#10418)Daniel Hahler2019-07-04
|/
* build: fix warning with passively available libintl (#10380)Daniel Hahler2019-07-01
| | | Since 0364f51 it would display a warning.
* build: update cmake/LibFindMacros.cmake (#10355)Daniel Hahler2019-06-30
| | | Source: https://github.com/Tronic/cmake-modules/blob/d6b5e94625d41469eaf1e2c484d7204cd263893d/LibFindMacros.cmake
* build: FindLibLUV: use PkgConfig (#10359)Daniel Hahler2019-06-29
| | | | | | Apparently forgotten in c83926cd0. - Also LIMIT_SEARCH was never used. - Also add LIBLUV_DEFINITIONS, as used with other Find modules.
* build: CMake: do not set CMP0059 to old (#10363)Daniel Hahler2019-06-29
| | | | | | | | | Keeps using add_definitions for compatibility with older CMake. Newer CMake (3.12) would have `add_compile_definitions`, but it is not required, since `add_defitions` was meant to be used for compile/preprocessor definitions initially anyway. Ref: https://github.com/neovim/neovim/pull/4389
* cmake/RunTests.cmake: fix TEST_TAG/TEST_FILTER [ci skip] #10371Daniel Hahler2019-06-29
| | | | | Followup to f1f9a2f97. The mentioned example there did not work after all, likely due to changing quoting during PR review.
* build: CMake: remove usage of USE_BUNDLED_X in main project (#10354)Daniel Hahler2019-06-28
| | | | | | | | | | | | | | | | | | The variables are not meant to be defined there really, but only with the third-party project. Using them, e.g. with the following, would actually result in libvterm not being found then: make CMAKE_EXTRA_FLAGS="-DUSE_BUNDLED_LIBVTERM=ON" \ DEPS_CMAKE_FLAGS="-DUSE_BUNDLED=OFF -DUSE_BUNDLED_LIBVTERM=ON" In https://github.com/neovim/neovim/pull/6357 they were renamed to `USE_BUNDLED_X` from `X_USE_BUNDLED`, but the above reasoning applies to the old names, too. Internally `CMAKE_PREFIX_PATH` is used to add the built/bundled third party packages for `find_package`, so there is no reason to e.g. query the values via `load_cache` for example from the third-party project.
* CMakeLists: remove/cleanup passing of CMAKE_SYSTEM_NAME (#10351)Daniel Hahler2019-06-27
| | | | | | | | Just set it from `${CMAKE_HOST_SYSTEM_NAME}` directly, instead of passing it from the main CMake file (CMAKE_SYSTEM_NAME defaults to it, but is empty in script mode). Initially added in 9ce81f7b2, but then even used with unrelated commands (that do not use RunTests.cmake, e.g. 221f6fffa).
* tests: busted: do not use "--lua" (#10303)Daniel Hahler2019-06-24
| | | | | | | | | | | | | | The feature is very rudimentary [1], and causes problems when not using bundled deps, where it might then fail to find `busted.runner` due to this. E.g. with "-DUSE_BUNDLED=OFF -DUSE_BUNDLED_LUAROCKS=ON": `.deps/usr/bin/busted` contains `exec '/usr/bin/luajit' -e …`, i.e. it run luajit with adjusted lpath etc. But using `--lua /usr/bin/luajit` then causes this `busted` wrapper to be replaced with just `/usr/bin/luajit`, i.e. it is missing the adjusted lpath then. 1: https://github.com/Olivine-Labs/busted/commit/9eb6c9cf93bc558a2398c822b896990e48bd69fd
* tests: improve RunTests.cmake (#10239)Daniel Hahler2019-06-22
| | | | | | | | | | | | | | | | - allow for passing in BUSTED_ARGS via env - quote values of TEST_TAG/TEST_FILTER Previously TEST_FILTER="'foo bar'" was required. This allows for: make functionaltest TEST_FILE=test/functional/terminal/tui_spec.lua \ BUSTED_ARGS="--no-keep-going --shuffle" \ TEST_FILTER="TUI background color handles" * RunTests.cmake: BUILD_DIR for Xtest files, isolated TMPDIR Assume relative path for given TEST_PATH.
* cmake: fix usage of find_package_handle_standard_args (#10288)Daniel Hahler2019-06-21
| | | | | | | | | | | | | | | | | | | The package argument is case sensitive, which is important to handle X_FIND_REQUIRED properly, i.e. error out early if it is not found: CMake Error at /usr/share/cmake-3.14/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find Unibilium (missing: UNIBILIUM_LIBRARY UNIBILIUM_INCLUDE_DIR) Otherwise it would continue until: CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: UNIBILIUM_INCLUDE_DIR (ADVANCED) Quickly checked via `rg 'find_package_handle_standard|find_package.*REQUIRED' -I | sort`. Ref: https://gitlab.kitware.com/cmake/cmake/issues/19413
* ci: Travis: remove obsolete cmake fileDaniel Hahler2019-06-17
| | | | Added in f65614fb1, forgot to be removed in 55682710a.
* lua: introduce vim.loop (expose libuv event-loop) #10123George Zhao2019-06-10
| | | | | | Co-authored-by: Andrey Popp <8mayday@gmail.com> closes #9546 closes #10084
* Remove support for using jemalloc instead of the system allocatorJames McCoy2019-01-19
| | | | | | There was never any investigation done to determine whether using jemalloc was actually a net benefit for nvim. It has been a portability limitation and adds another factor to consider when triaging issues.
* build: remove cmake/GenerateHelptags.cmake.inJustin M. Keyes2019-01-04
| | | | | | This file wasn't used since e1cc0fe99688. That may have been accidental, but it's not needed anymore anyway. Also the "Workaround for hanging" is no longer relevant.
* runtime/lua/vim/compat.luaJustin M. Keyes2018-12-20
| | | | | | | | | | | | | | | | | | | | | ref #9280 Introduce the `vim.compat` module, to help environments with system Lua 5.2+ run the build/tests. Include the module implicitly in all tests. ref #8677 legacy `vim` module: beep buffer command dict eval firstline lastline line list open type window
* build: adjust some messages (#9087)Justin M. Keyes2018-10-06
|
* build/test: skip empty TEST_TAG, TEST_FILTERJustin M. Keyes2018-06-16
| | | | | - Empty "--tags=", "--filter=" prevents TEST_FILE from running. - Fix another bug: TEST_FILTER overwrote TEST_TAG.
* build/msvc: Add libiconv to bundled dependenciesb-r-o-c-k2018-06-09
|
* cmake/FindLibIntl.cmake: handle passive case explicitlyJustin M. Keyes2018-06-06
| | | | | | | | | If check_c_source_compiles() succeeded (HAVE_WORKING_LIBINTL is set) then the result of find_xxx() doesn't matter. This happens on systems (linux+glibc) where libintl is available passively. This allows `find_package(LibIntl REQUIRED)` to work and will still correctly fail (REQUIRED) on systems lacking libintl.
* Change to not use library prefix on MSVCerw72018-05-23
|
* build/msvc: Add libintl to bundled dependencies (#8163)b-r-o-c-k2018-03-24
|
* build/msvc: Fix name of import libraryb-r-o-c-k2018-02-28
|
* cmake/LuaHelpers.cmake: check_lua_module: use 'lua -l'Daniel Hahler2018-02-22
| | | | | | It only shortens the traceback a bit for when a module is not found though, only removing the "(command line):1: in main chunk" (with lua5.2).
* cmake/LuaHelpers.cmake: check_lua_module: display errorsDaniel Hahler2018-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This helps to figure out what the problem is, e.g. in my case I have lua51-mpack installed to be used with luajit, but it is broken (missing libmpack). With this patch you get: -- Checking Lua interpreter /usr/bin/luajit /usr/bin/luajit: error loading module 'mpack' from file '/usr/lib/lua/5.1/mpack.so': libmpack.so.0: cannot open shared object file: No such file or directory stack traceback: [C]: at 0x55fcf0166fb0 [C]: in function 'require' (command line):1: in main chunk [C]: at 0x55fcf01188a0 -- [/usr/bin/luajit] The 'mpack' lua package is required for building Neovim -- Checking Lua interpreter /usr/bin/lua5.1 /usr/bin/lua5.1: error loading module 'mpack' from file '/usr/lib/lua/5.1/mpack.so': libmpack.so.0: cannot open shared object file: No such file or directory stack traceback: [C]: ? [C]: in function 'require' (command line):1: in main chunk [C]: ? -- [/usr/bin/lua5.1] The 'mpack' lua package is required for building Neovim -- Checking Lua interpreter /usr/bin/lua5.2 /usr/bin/lua5.2: (command line):1: module 'mpack' not found: no field package.preload['mpack'] no file '/usr/share/lua/5.2/mpack.lua' no file '/usr/share/lua/5.2/mpack/init.lua' no file '/usr/lib/lua/5.2/mpack.lua' no file '/usr/lib/lua/5.2/mpack/init.lua' no file './mpack.lua' no file '/usr/lib/lua/5.2/mpack.so' no file '/usr/lib/lua/5.2/loadall.so' no file './mpack.so' stack traceback: [C]: in function 'require' (command line):1: in main chunk [C]: in ? -- [/usr/bin/lua5.2] The 'mpack' lua package is required for building Neovim -- Checking Lua interpreter /usr/bin/lua /usr/bin/lua: (command line):1: module 'mpack' not found: no field package.preload['mpack'] no file '/usr/share/lua/5.3/mpack.lua' no file '/usr/share/lua/5.3/mpack/init.lua' no file '/usr/lib/lua/5.3/mpack.lua' no file '/usr/lib/lua/5.3/mpack/init.lua' no file './mpack.lua' no file './mpack/init.lua' no file '/usr/lib/lua/5.3/mpack.so' no file '/usr/lib/lua/5.3/loadall.so' no file './mpack.so' stack traceback: [C]: in function 'require' (command line):1: in main chunk [C]: in ? -- [/usr/bin/lua] The 'mpack' lua package is required for building Neovim CMake Error at CMakeLists.txt:459 (message): A suitable Lua interpreter was not found. While this makes it more verbose for the expected error case ("module 'mpack' not found"), the behavior before this patch hides too much. This is the old output: -- Checking Lua interpreter /usr/bin/luajit -- [/usr/bin/luajit] The 'mpack' lua package is required for building Neovim -- Checking Lua interpreter /usr/bin/lua5.1 -- [/usr/bin/lua5.1] The 'mpack' lua package is required for building Neovim -- Checking Lua interpreter /usr/bin/lua5.2 -- [/usr/bin/lua5.2] The 'mpack' lua package is required for building Neovim -- Checking Lua interpreter /usr/bin/lua -- [/usr/bin/lua] The 'mpack' lua package is required for building Neovim CMake Error at CMakeLists.txt:459 (message): A suitable Lua interpreter was not found. This is for when the whole configuration runs (i.e. after `make distclean`), afterwards only one Lua interpreter gets checked only.
* cmake/GetCompileFlags: remove duplicate include dirsJustin M. Keyes2018-02-14
| | | | Reduces noise in :version message.