aboutsummaryrefslogtreecommitdiff
path: root/third-party/cmake
Commit message (Collapse)AuthorAge
* 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/)
* fix(build): strip trailing newline from variable (#19084)Christian Clason2022-06-25
| | | | | | | | Problem: #19029 added a new fallback that sets `$MACOSX_DEPLOYMENT_TARGET` to the local macOS version via `sw_vers`. However, the output included a newline, which broke the generated Ninja build script. Solution: use `OUTPUT_STRIP_TRAILING_WHITESPACE` for `execute_process`.
* build(deps): support universal builds on macOSCarlo Cabrera2022-06-24
| | | | | | | | | | | | | | CMake can handle building universal binaries on macOS using the `CMAKE_OSX_ARCHITECTURES` variable. Let's pass this variable to the relevant dep builds. We use the `LIST_SEPARATOR` argument to prevent the shell from interpreting the `;` that CMake uses as a list separator. For dependencies that don't build using CMake, we only need to make sure that the compiler is invoked with the correct `-arch` flags. The compiler does the rest. The only exception to this is the LuaJIT build, which we handle separately as a special case.
* build(luajit): support universal builds on macOSCarlo Cabrera2022-06-24
| | | | | | | | | | | | | | | | | To build universal binaries on macOS, one typically only needs to pass multiple `-arch` flags to `clang`. Unfortunately, this strategy causes LuaJIT builds to fail. To work around this, we build LuaJIT for each requested architecture individually first and then use `lipo` to package each architecture slice into a universal binary. To be able to do this on an Intel macOS host or an M1 macOS host without a Rosetta installation, we need some special flags in order to tell LuaJIT that it is cross-compiling for a different target. See [1] for details. [1] https://luajit.org/install.html#cross
* fix(tests): check for EOF on exit of nvim properlybfredl2022-06-13
|
* build: remove CMAKE_CROSSCOMPILING code #18914dundargoc2022-06-12
| | | | This is rarely, if ever, used and certainly not tested. It's likely this isn't functional anymore.
* revert: "ci: remove mingw job #18580"Dundar Goc2022-05-17
| | | | | | | | | | This partially reverts commit f8af81445bb48966d54f4a956842d935d009d275. The mingw parts of cmake was removed to see if it was still used (ref: https://github.com/neovim/neovim/pull/18580). It turns out it is, so this will fix that. Closes: https://github.com/neovim/neovim/issues/18597
* ci: remove mingw job #18580dundargoc2022-05-15
| | | | | | | | | | | | | | | | | | | | Unnecessary CI builds increase the change of spurious failures, which are costly noise. Of course, we should fix all legitimate bugs, but we also cannot micro-manage every platform, so there needs to be a clear motivation for the CI builds that we maintain. Reasons against maintaining a mingw CI job: 1. The windows mingw build is slow. 2. Failures: - https://github.com/neovim/neovim/issues/18494 - https://github.com/neovim/neovim/issues/18495 3. The mingw artifact is 10x bigger than the windows MSVC artifact: https://github.com/neovim/neovim/issues/10560 4. Our releases publish the MSVC (not mingw) artifact for Windows users: https://github.com/neovim/neovim/releases 5. Non-MSVCRT has limitations documented by libuv: http://docs.libuv.org/en/v1.x/process.html > On Windows file descriptors greater than 2 are available to the child process only if the child processes uses the MSVCRT runtime. Closes https://github.com/neovim/neovim/issues/18551
* refactor(eval): use Hashy McHashFace instead of gperfbfredl2022-05-12
| | | | this removes gperf as a build dependency
* refactor(ui): simplify stdin handlingbfredl2022-05-02
|
* build: bump msgpack to 4.0.0kylo2522022-05-01
| | | | see https://github.com/msgpack/msgpack-c/releases/tag/c-4.0.0
* build(deps): bump libuv to 1.44.0 (#17613)Christian Clason2022-03-07
|
* build(cmake): remove unused variable CMAKE_CXX_COMPILER to fix warningDundar Göc2022-03-04
|
* revert: "build(deps): bump libuv to 1.43.0+7ae0c95"Dundar Göc2022-03-04
| | | | This reverts commit 2da9450de57e6420480607ac2e83bc3cb1fa19e9.
* build(deps): bump libuv to 1.43.0+7ae0c95Christian Clason2022-02-26
|
* ci: bump Windows image to windows-2019James McCoy2022-02-20
| | | | | | | | The VS 2019 CMake generator no longer has different generator types for different architectures. Now, the architecture is specified via CMake's `-A` switch. However, this requires we also propagate `${CMAKE_GENERATOR_PLATFORM}` to the bundled deps, so they build for the same architecture as Nvim.
* fix(build): install luajit modules on windows (#16658)kylo2522021-12-18
|
* fix(build): fix build failure in MinGWerw72021-11-01
| | | | | | The new MinGW fails to build libuv due to a typedef conflict between mstcpip.h and src/win/winapi.h. This change avoids conflicts by disabling typedef in the MinGW header.
* fix(build): remove amalg build target for LuaJIT (#16178)Christian Clason2021-10-30
| | | | fixup for #16041 (`amalg` build is recommended by LuaJIT for performance but this way of doing it breaks parallel build with `make -j`)
* build(deps): bump luajit to latest commit (#16041)Christian Clason2021-10-29
| | | | | bump LuaJIT to https://github.com/LuaJIT/LuaJIT/commit/b4b2dce9fc3ffaaaede39b36d06415311e2aa516 now requires `-funwind-tables` build flag, which conflicts with `-DLUA_USE_ASSERT`
* build: update cmake min version to 3.10 #16065Jakub Łuczyński2021-10-19
| | | | | | * 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.
* build(deps): bump luarocks to 3.7.0 #15740Christian Clason2021-09-22
| | | | | | | | | | | Besides bugfixes, this brings `XDG_*` compliance and improved robustness, especially for network errors. See https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md - fixup: set LIBUV_LIBDIR to workaround https://github.com/luarocks/luarocks/commit/83126ba324846b754ffc5e0345341f01262b3f86 - https://github.com/luarocks/luarocks/issues/1214 - https://github.com/luarocks/luarocks/pull/1355
* build(cmake): skip download if target file exists #14844)comicfans2021-07-08
|
* chore(deps): bump LibLUV to 1.40.0-0 (#14997)Christian Clason2021-07-07
| | | Adds several threading, async, and gc fixes and allows building with older gcc (4.x). Minimum required version remains 1.30.1.
* chore(deps): bump LibLUV to 1.34.1 and lua-compat-53 to 0.9 (#14985)Lewis Russell2021-07-05
| | | | | This bumps the bundled LibLUV to 1.34.1 in order to make the newly introduced `uv.fs_mkstemp` available in the official builds. (The minimum required version remains at 1.30.1.) The bump of lua-compat-53 to 0.9 is needed to build with the updated LibLUV.
* third-party: Always set DEPLOYMENT_TARGET when building LuaJIT on macOSJames McCoy2020-12-13
| | | | | | | LuaJIT build now requires specifying a deployment target, so use the same baseline as our nightly builds. Co-authored-by: Christian Clason <christian.clason@uni-due.de>
* deps: fix BuildLuv without bundled libuvDaniel Hahler2020-11-16
| | | | | | | | | | | | | | | | | 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.
* third-party: fix build failures in MSVCerw72020-11-04
|
* 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
* ci/appveyor: change to update package databaseerw72020-10-27
|
* build: remove duplicate empty CONFIGURE_COMMAND (#12676)Christian Clason2020-07-24
| | | The cmake file for libvterm had an empty CONFIGURE_COMMAND "", which tells cmake to skip the configure step for this dependency (even though a later patch added another, actual, CONFIGURE_COMMAND two lines below). Evidently the recently released cmake 3.18.0 is pickier about this than previous versions, causing the build to fail. Removing this line makes the build successful again.
* treesitter: remove utf8proc dependencyThomas Vigouroux2020-04-18
|
* deps: Fix luv-static build issues #11961erw72020-02-29
| | | | | | | | - 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
* deps: lua-client 0.2.2-1Justin M. Keyes2020-02-16
|
* Build tree-sitter out-of-sourceFlorian Walch2020-02-10
| | | | | | Avoids having CMakeCache.txt etc in https://github.com/neovim/deps, where it can cause trouble for Ubuntu PPA builds such as: > CMake Error: The source "/<<BUILDDIR>>/neovim-0.5.0+ubuntu1+git202002090924-1f479ff-00e710e/.deps/build/src/treesitter-c/CMakeLists.txt" does not match the source "/home/travis/build/neovim/bot-ci/build/deps-src/build/src/treesitter-c/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory.
* build: allow to skip treesitter C parser installMatthieu Coudron2020-02-07
| | | | | | | | | if USE_BUNDLED_TS_PARSERS is set to off, don't try to install the parser. Distribs can install treesitter parsers directly into $CMAKE_LIBRARY_PATH/nvim (and users anywhere in rtp). Also fix the URL.
* Merge pull request #11757 from bfredl/treesitter_runtimeBjörn Linse2020-02-07
|\ | | | | treesitter: add standard search path for parsers + bundle c parser properly
| * build: include tree-sitter-c parser in bundled buildBjörn Linse2020-02-07
| |
* | deps/msvc: gettext 0.20.1b-r-o-c-k2020-02-06
| |
* | deps: gettext 0.20.1Justin M. Keyes2020-02-04
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |