| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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/)
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
* 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.
|
|
|
| |
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.
|
|
|
|
|
| |
This is required when `build_old_libs=no` is used in `libtool`.
Fixes https://github.com/neovim/neovim/issues/11198
|
|
|
|
|
| |
Not needed after libvterm commit:
https://github.com/neovim/libvterm/commit/487f21dbf65f1c28962fef3f064603f415fbaeb2
|
|
|
|
|
| |
The escape sequence `\e` is non-standard and not supported by MSVC.
It caused the terminal emulator to incorrectly interpret certain keys.
|
|
|
|
|
| |
On Windows the CMake script will replace the Perl script used by
Libvterm to generate headers.
|
|
|
|
|
| |
The --ignore-whitespace argument was added when applying patches to
prevent failures when patched files have different line endings.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When building with CMAKE_BUILD_TYPE=Debug, the dependencies are built like this:
| Dep | Defaults | Debug |
|------------|-----------|---------------------------------------------|
| unibilium | `-O2` | `make CFLAGS=-O0 DEBUG=1` |
| msgpack | `-g -O3` | `cmake . -DCMAKE_C_FLAGS_DEBUG="-O0 -ggdb"` |
| libuv | `-g -O2` | `./configure CFLAGS="-O0 -ggdb"` |
| luv | `-g -O2` | `cmake . -DCMAKE_C_FLAGS_DEBUG="-O0 -ggdb"` |
| libvterm | not set | `make CFLAGS=-O0 DEBUG=1` |
| libtermkey | not set | `make CFLAGS=-O0 DEBUG=1` |
| jemalloc | `-g3 -O3` | `./configure CFLAGS="-O0 -ggdb"` |
| gperf | `-g -O2` | `./configure CXXFLAGS="-O0 -ggdb"` |
| luajit | `-g -O2` | haven't checked yet |
This means that only unibilium, libtermkey, and libvterm don't build with
debugging symbols by default.
Build them with debugging symbols and optimisations that don't hinder
debugging: -Og -g
|
|/
|
|
| |
The patch removes VLAs because MSVC does not support them.
|
|
|
|
|
| |
Add build recipe for libvterm in MinGW, a CMakeLists.txt
file is bundled in third-party/cmake/.
|
|
|
|
|
|
|
|
| |
Introduce ALLOW_EXISTING_SRC_DIR option, turned off by default.
The Homebrew formula, which downloads and extracts the third-party
dependency sources before starting the build, would turn this option
ON.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Update recipes to build with MSVC or cross compile in Unix with Mingw
- For recipes that need to be reused, wrap recipe in CMake function
using cmake_parse_arguments
- New directory .deps/host is the install root for HOST targets, the old
.deps/usr is used for TARGET
- In windows disable builds for terminal libraries and jemalloc
- Added cmake script CopyFilesGlob.cmake to copy files using glob
cmake -DFROM_GLOB=*.h -DTO=/usr/include -P CopyFilesGlob.cmake
- New CMake variables HOSTDEPS_* can be used in cross compile recipes.
Except when the target is UNIX, since that would break 32bit builds
in 64bit Unix systems using the Travis 32bit toolchain
|
| |
|
|
|