aboutsummaryrefslogtreecommitdiff
path: root/cmake.deps/cmake
Commit message (Collapse)AuthorAge
...
* | build(deps): bump luacheck to 1.1.0-1Christian Clason2023-03-15
| | | | | | | | also ignore two new warnings showing false positives
* | build(deps): bump coxpcall to 1.17.0-1Christian Clason2023-03-15
|/
* build: fix build warning when using gcc 4.9.2red2023-03-09
| | | | | | | | Problem: When building with gcc 4.9.2, tree-sitter throws warning: "for loop initial declarations are only allowed in C99 or C11 mode" Solution: set CMAKE_C_STANDARD option to 99
* build: fix USE_EXISTING_SRC_DIR optiondundargoc2023-03-05
| | | | | | | Since 0007aa50bd3d54259bb4ae717c114f5524ec59fa the build unsets all URL variable immediately when USE_EXISTING_SRC_DIR is TRUE, which is correct. However, this causes the function BuildTSParser to break down as cmake functions aren't traditionally equipped to deal with empty variables. Using cmake_parse_arguments fixes this issue.
* build: consistently use the provided option pathsdundargoc2023-03-05
| | | | | We provide options such as "DEPS_BIN_DIR" for the user to set, but only sometimes use them. This makes binaries and other files to be spread out if the user defines a custom DEPS_BIN_DIR location.
* build: unset variables ending with "URL" if USE_EXISTING_SRC_DIR is ONdundargoc2023-03-04
| | | | | | | | | | This will reduce required boilerplate, but more importantly it will automatically unset variables ending on URL. This will help people needing to avoid to unset the URL variable each time a new dependency is added. It is possible that this may remove a non-download variable ending on "URL" in the future, however, the risk of this is likely much lower than the risk of someone forgetting to unset the variable.
* feat(treesitter): bundle query parser and queries (#22483)Christian Clason2023-03-03
| | | skip injections for now
* 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: set libtermkey project language to C (#22410)dundargoc2023-02-26
| | | | This will prevent cmake from failing the build if a C++ compiler isn't found.
* build: build luajit in parallel (#22327)dundargoc2023-02-24
| | | Add -j flag to the make command for luajit. Cuts down dependency build time by 40% when using the Ninja generator.
* feat(lua): make sure require'bit' always works, even with PUC lua 5.1bfredl2023-02-22
|
* build: remove unused dependency penlight (#22334)dundargoc2023-02-19
|
* build: build all dependencies in parallel (#22329)dundargoc2023-02-19
| | | | | | | Previously, all targets were connected in one main target called third-party in order to remove any potentially conflicting shared library. We can make each dependency target independent of each other by only removing shared libraries from luajit and msgpack in their own targets, as only these has unwanted shared libraries.
* refactor(tests): move lua-client into core and use it for functionaltestsbfredl2023-02-10
| | | | | | | | Eliminates lua-client and non-static libluv as test time dependencies Note: the API for a public lua-client is not yet finished. The interface needs to be adjusted to work in the embedded loop of a nvim instance (to use it to talk between instances)
* build: prefer -D <variable>=<value> over -D<variable>=<value> (#22164)dundargoc2023-02-08
| | | | | This makes it easier to see that -D is referring to the entire "<variable>=<value>", rather than only <variable>. It also help syntax highlighters highlight built-in variables.
* build(luarocks): update busted version to v2.1.1 (#22029)zeertzjq2023-01-30
|
* build: use cmake to build libvterm on all platform (#21986)dundargoc2023-01-26
| | | | | | | | Also remove Libvterm-tbl2inc_c.cmake as it's not required. It's used to generate files that are already provided by the Libvterm project by default. It's also not really something we need to concern ourselves with as it's more of an authoring tool for the Libvterm creator as mentioned in https://github.com/neovim/neovim/pull/21986#issuecomment-1403733054.
* build: introduce default build variables (#21991)dundargoc2023-01-25
| | | | | | | | | | There are a number of cmake variables and cache variables that need to be passed to all dependencies. This is not only cumbersome, but also fragile as it's easy to miss adding or removing a flag from a dependency by accident. Introducing a global variable that controls all builds makes it much easier to handle our dependencies. Also fixes the currently broken release workflow as we need to pass the CMAKE_OSX_ARCHITECTURES variable to all dependencies built with cmake.
* build: use cmake to build treesitter on all platforms (#21984)dundargoc2023-01-24
| | | This reduces platform-specific differences and the amount of code.
* build: remove tests for libtermkey (#21983)dundargoc2023-01-24
| | | | | | The dependencies aren't set up properly meaning that this will cause a failure on some systems such as void linux. Closes https://github.com/neovim/neovim/issues/21982.
* build: use upstream CMakeLists.txt for unibilium (#21976)dundargoc2023-01-24
| | | Also remove UnibiliumCMakeLists.txt as it's not necessary anymore.
* build: simplify treesitter installation (#21969)dundargoc2023-01-24
|
* build: use cmake for all platforms for unibilium and libtermkey (#21926)dundargoc2023-01-24
| | | | It's simpler to rely on the same build file, especially if there aren't any platform-specific workarounds like in this case.
* build: use CMAKE_POSITION_INDEPENDENT_CODE instead of -fPIC (#21947)dundargoc2023-01-22
| | | | | | | It's simpler to let cmake figure out what flags to add to each platforms to create position independent code rather than handling it ourselves. Also remove code that sets POSITION_INDEPENDENT_CODE property on SHARED and MODULE libraries, as it's already on by default.
* build: various cmake fixes (#21902)dundargoc2023-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * build: various cmake refactors and simplifications - Add STATUS keyword to message to ensure messages are shown in the correct order. - Remove DEPS_CXX_COMPILER as we don't rely on C++ for any of our dependencies. - Simplify how msgpack and luv configure options are constructed. - Rely on the default installation for luv instead of manually passing configure, build and install commands. - Simplify return code conditional. * build: remove CMAKE_OSX_ARCHITECTURES_ALT_SEP workaround CMAKE_OSX_ARCHITECTURES_ALT_SEP was defined as a workaround to prevent the shell from interpreting `;`, which CMake uses as a list separator. However, the same thing can be achieved by instead passing CMAKE_OSX_ARCHITECTURES as a cache variable instead, which is a more idiomatic way of achieving the same thing. * build: define CMAKE_BUILD_TYPE before adding it to BUILD_TYPE_STRING The problem with the current setup is that CMAKE_BUILD_TYPE is defined after BUILD_TYPE_STRING. BUILD_TYPE_STRING will then be empty on the first run, meaning that dependencies are built without a build type. However, since CMAKE_BUILD_TYPE is a cache variable its value will persist in subsequent runs. On the second run BUILD_TYPE_STRING will have the correct value, but it's a different value from the ones the dependencies were built with. This will force some dependencies to be built again. Fixes https://github.com/neovim/neovim/issues/21672.
* build(cmake): add modelines to enable syntax highlightingdundargoc2022-10-21
|
* build: rely on default cmake installation if possibledundargoc2022-10-21
| | | | | | The default cmake installation process for dependencies that use cmake on all platforms is in general more robust and less verbose, so we rely on that if possible.
* build(deps): disable shared library for libvterm. (#20566)Wei Tang2022-10-10
| | | | | | | | | | | | | | | build(deps): disable shared library for libvterm Problem: Cannot build both static and share libraries for libvterm under Windows. The static and shared library would have the same name "vterm.lib", thus there would be multiple rules to build the same target. Solution: Disable shared library for libvterm. This makes it possible to use Ninja on Windows to build dependencies (2x speedup!). But not for Release builds yet. Co-authored-by: Wei Tang <gauchyler@uestc.edu.cn>
* build(deps): add build type for libuv (#20575)Wei Tang2022-10-10
| | | | | | | Problem: Build type is not set in BuildLibuv.cmake, so libuv is always built for Debug type. Solution: Add build type for libuv.
* build(deps): restore support for USE_EXISTING_SRC_DIR (#20491)James McCoy2022-10-06
| | | | | | | | | | | | | | | 59d5f692f removed cmake.deps/cmake/DownloadAndExtractFile.cmake and support for USE_EXISTING_SRC_DIR. The Ubuntu nightly PPA still relies on USE_EXISTING_SRC_DIR functionality since it can't access the network during the build. Supplying an empty value for ExternalProject_Add()'s URL value appears to provide the needed mechanism to avoid re-downloading when the sources are already present. This is undocumented behavior, though, so it may break in the future. Now, if USE_EXISTING_SRC_DIR is set, the ExternalProject's URL variable is unset, preventing the download and erroring out if the source doesn't actually exist.
* build: define EP_PREFIX propertydundargoc2022-10-02
| | | | | This is just to avoid the boilerplate of definining PREFIX for each dependency.
* build: rely on builtin cmake downloading rather than custom scriptdundargoc2022-10-02
| | | | | | | DownloadAndExtractFile.cmake was initially introduced as a workaround to avoid the massive amounts of logs generated by the download progress. This is not a problem anymore as ExternalProject_Add has had the DOWNLOAD_NO_PROGRESS option since cmake version 3.1.
* build: remove url for 32-bit winyankdundargoc2022-10-02
| | | | | | We don't support 32bit Windows anymore, so it's not needed. Also remove TargetArch.cmake and related code as we don't need architecture detection for the same reason.
* build: remove code for cross-compilationdundargoc2022-10-02
| | | | | We don't support cross-compilation at the moment, so these can be safely removed.
* build: remove unused variable CMAKE_C_COMPILER_ARG1dundargoc2022-10-02
| | | | | It was set in file cmake/i386-linux-gnu.toolchain.cmake which has been removed since we don't use Travis anymore.
* build(deps): bump libuv to HEAD - f610339f7 (#20445)Christian Clason2022-10-02
| | | also remove libuv-disable-shared patch
* build(macos): restore and test universal build (#20383)Christian Clason2022-09-28
| | | | Build tree-sitter parsers for arm64 as well as x86 Check that all created binaries contain both architectures
* feat(treesitter): bundle :help parser and queriesJustin M. Keyes2022-09-22
| | | | | parser from https://github.com/vigoux/tree-sitter-vimdoc queries from nvim-treesitter
* build: remove unnecessary build functionsdundargoc2022-09-08
| | | | | These functions serve no purpose if they're only used as intermediary functions that passes on arguments to ExternalProject_Add.
* build: remove ARGS from add_custom_commanddundargoc2022-09-08
| | | | | It's a command that doesn't do anything, kept only for compatibility reasons.
* build(treesitter): set CMAKE_C_STANDARD to C99Eisuke Kawashima2022-09-07
|
* Merge pull request #17329 from cryptomilk/asn-vterm-0-2Christian Clason2022-09-06
|\ | | | | build(deps): bump libvterm to 0.3-RC1
| * build(deps): use libvterm 0.3-rc1Andreas Schneider2022-09-06
| |
* | build: consistently set build type regardless of generator or platform #19760dundargoc2022-09-06
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the default build type to always be Debug, and allow only four predefined build types: Debug, Release, RelWithDebInfo and MinRelSize. Furthermore, flags meant for single-configuration generator (make, ninja) will not be used for multi-configuration generators (visual studio, Xcode), and flags meant for multi-configuration generators will not be used for single-configuration generators. This will allow Debug builds to be built with MSVC which requires that all dependencies are also built with the Debug build type to avoid runtime library mismatch. The correct way to specify build type (for example Release) for single-configuration generators (Make and Ninja) is to run cmake -B build -D CMAKE_BUILD_TYPE=Release cmake --build build while for multi-configuration generators (Visual Studio, Xcode and Ninja Multi-Config) is to run cmake -B build cmake --build build --config Release Passing CMAKE_BUILD_TYPE for multi-config generators will now not only not be used, but also generate a warning for the user. Co-authored-by: dundargoc <gocundar@gmail.com>
* fix(treesitter): do not link @error by defaultChristian Clason2022-09-06
| | | | | | | The @error capture is used for tree-sitter's ERROR node, which indicates a parsing error -- which can be quite frequent (and jarring) while typing. Users can still manually `hi link @error Error` in their config.
* feat(treesitter): add viml parser and queriesChristian Clason2022-09-06
|
* feat(treesitter): bundle Lua parser and queriesThomas Vigouroux2022-09-06
| | | | | parser from https://github.com/MunifTanjim/tree-sitter-lua queries from nvim-treesitter
* build: only use CMAKE_BUILD_TYPE for single-config generatorsdundargoc2022-08-13
| | | | | CMAKE_BUILD_TYPE is ignored for multi-config generators and creates a warning that it's unused.
* build(MSVC): don't add non-MSVC compiler optionsdundargoc2022-08-13
| | | | | This will prevent warnings of the type "ignoring unknown option '-fPIC'" when using MSVC.
* build: bump minimum cmake version for all dependencies to 3.10dundargoc2022-08-13
| | | | | This removes cmake policy warning for CMP0053 on windows and ensures the build works correctly for newer cmake policies.