Commit Graph

17 Commits

Author SHA1 Message Date
Jakub Łuczyński
035d82e0d3 build: update cmake min version to 3.10 #16065
* build(cmake): update cmake min version to 3.10
* ci: test cmake minimum required version
* build(cmake): remove some legacy includes
  * Since version 3.5 cmake_parse_arguments is implemented natively.
2021-10-19 19:19:33 -07:00
Christian Clason
3de777d259 chore(deps): bump LibLUV to 1.40.0-0 (#14997)
Adds several threading, async, and gc fixes and allows building with older gcc (4.x). Minimum required version remains 1.30.1.
2021-07-07 08:24:08 +02:00
Daniel Hahler
4c6628a7eb deps: fix BuildLuv without bundled libuv
Fixes:

    % rm -rf .deps
    % cmake -DUSE_BUNDLED_LUV=ON -DUSE_BUNDLED=OFF -S third-party -B .deps
    % cmake --build .deps
    ...
    [ 50%] Building C object CMakeFiles/luv.dir/src/luv.c.o
    /home/daniel/Vcs/neovim/.deps/build/src/luv/src/luv.c:20:10: fatal error: c-api/compat-5.3.h: No such file or directory
       20 | #include "c-api/compat-5.3.h"
          |          ^~~~~~~~~~~~~~~~~~~~
    compilation terminated.

This was broken since 78f1eccc8, where apparently the `LUA_COMPAT53_DIR`
was defined in a wrong location.
2020-11-16 13:52:50 +01:00
erw7
78f1eccc86 deps: Fix luv-static build issues #11961
- Fix an issue where CMAKE_BUILD_TYPE was not reflected during
  construction.
- Remove the switch that uses the static library(-MTd, -MT) because it was
  specified in the CMakeLists.txt of luv when building on MSVC.

related: https://github.com/luvit/luv/pull/461
2020-02-29 13:47:56 -08:00
Hye Sung Jung
14a8b3b98c doc: fix typos [ci skip] #11787 2020-01-30 22:56:34 -08:00
Daniel Hahler
b0f5441c5e bundle: upgrade LuaJIT to latest v2.1 (#10321) 2019-09-30 12:50:22 +02:00
Daniel Hahler
564d415d20 build: BuildLuv: set/pass WITH_LUA_ENGINE (#10449)
Ref: https://github.com/neovim/neovim/pull/10438
2019-07-09 21:55:01 +02:00
Daniel Hahler
99b870d61c build: bundle: clean binary dir with new downloads (#10411)
This is required to (re)build e.g. libluv when the version changes
(which triggers a new download).

With `make deps`, changing the `LUV_URL`/`LUV_SHA256`, and `make deps` again:

Before:

> Up-to-date: /home/daniel/Vcs/neovim/.deps/usr/lib/libluv.a

After:

> Installing: /home/daniel/Vcs/neovim/.deps/usr/lib/libluv.a

See with https://github.com/neovim/neovim/pull/10358 - where .deps
contained libluv 1.29, the merge updates it to 1.30, but then it failed
to link because `libluv.a` is considered to be up-to-date (after
downloading the new version).

Note that header files get installed, since they have the original time
stamp, but `libluv.a` is being generated (does not use the timestamp
from the archive here, but needs to get rebuild).

It could be argued that the build system of the included project should
catch/handle this, but it seems to be good practice to clean the binary
/ build dir with a new download to start from scratch.

Ref: https://gitlab.kitware.com/cmake/cmake/issues/19452

Also fixes cmake/BuildLuv / luv-static: use name with -DTARGET for
download command, and pass (shared) `SRC_DIR` explicitly instead.
2019-07-04 02:37:29 +02:00
Daniel Hahler
c696fcdcaa build: remove patch: luv-Add-missing-definitions-for-MinGW [skip travis] #10360
Added in 4ae7acd15 initially, but seems to not be necessary anymore,
and/or should be send upstream otherwise.
2019-06-28 13:19:47 +02:00
George Zhao
c83926cd0a lua: introduce vim.loop (expose libuv event-loop) #10123
Co-authored-by: Andrey Popp <8mayday@gmail.com>

closes #9546
closes #10084
2019-06-10 14:13:18 +02:00
erw7
2bfdceba37 Change to use bundled libuv to build luv 2018-05-27 18:16:29 +09:00
John Szakmeister
f44fb5b1a5 build/freebsd: set CMAKE_MAKE_PROGRAM iff "Unix Makefiles" (#8260)
It's only appropriate to set CMAKE_MAKE_PROGRAM to gmake when we're
using the "Unix Makefiles" generator.  On QB, the nodes have Ninja
available and will use it, which means CMAKE_GENERATOR is set to
"Ninja".  Setting CMAKE_MAKE_PROGRAM was forcing the build to use gmake
instead of ninja, which was causing the build failure.
2018-04-12 12:51:38 +02:00
Utkarsh Anand
1ca138f236 build/OpenBSD: force gmake (#8222)
fix #8216
2018-04-07 16:10:01 +02:00
b-r-o-c-k
1b898d7af5 build/windows: Patch Luv with a patch file instead of CMake 2018-04-01 20:32:22 -05:00
Justin M. Keyes
cf202b74db build: Do not ref libuv CMake target if USE_BUNDLED_LIBUV=OFF. (#6363)
CMake Warning: The dependency target "libuv" of target "luv-static" does
not exist. (CMP0046)

Closes #6355
2017-03-26 00:22:15 +01:00
Rui Abreu Ferreira
9da4d1b4cb third-party: Pass along cmake generator in luv recipe 2016-08-07 21:57:29 +01:00
Thiago de Arruda
4ae7acd152 Add luv as a third party dependency
Luv is a simple lua binding to libuv, which is now used by neovim lua client.
The bundled luv installation a bit different from other dependencies in that it
is installed two times:

- The "BuildLuv.cmake" script downloads and installs a static version of luv
  using its normal cmake build script. This static version will be used later.
- Luv default rockspec is replaced with the alternate under the "rockspecs"
  directory(the alternate rockspec plays nicer with neovim build system)
- The alternate rockspec is used to build/install the lua module and make it
  available to lua scripts.
2016-04-11 23:07:52 -03:00