aboutsummaryrefslogtreecommitdiff
path: root/cmake.deps/cmake/BuildLuajit.cmake
Commit message (Collapse)AuthorAge
* docs: fix typos (#27868)dundargoc2024-03-28
| | | | | | | | | Co-authored-by: ite-usagi <77563904+ite-usagi@users.noreply.github.com> Co-authored-by: v-sim <56476039+v-sim@users.noreply.github.com> Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Quico Augustijn <quico.public@gmail.com> Co-authored-by: nhld <nahnera@gmail.com> Co-authored-by: francisco souza <108725+fsouza@users.noreply.github.com>
* ci: provide separate macos releases for intel and armdundargoc2024-03-24
| | | | | | This will immensely reduce the complexity required to support both architectures, reduce overall lines of code and unblock follow-up simplifications.
* build: use `GIT_REPOSITORY` for local URLsdundargoc2024-03-23
| | | | | | | `GIT_REPOSITORY` will cause cmake to rebuild if local dependency changes, which isn't the case for `URL`. Also document how to test a different commits of a dependency.
* build: introduce variable DEPS_IGNORE_SHA for skipping dependency hash checkdundargoc2024-03-19
| | | | | | | | This will reduce friction as developers no longer need to provide a hash when testing out different commits. To skip the hash check, set `DEPS_IGNORE_SHA` to `TRUE` in `cmake.deps/CMakeLists.txt`.
* build: cmake fixesdundargoc2023-12-16
| | | | | | | | | | | | | | - add EXTERNALPROJECT_OPTIONS variable to main build - use `REQUIRED` keyword for IWYU. - remove check_c_compiler_flag checks when `ENABLE_COMPILER_SUGGESTIONS` is `ON`. If we explicitly enable it then we probably want it to give an error if it doesn't exist, rather than silently skip it. - Move dependency interface libraries to their find module and use them as a pseudo-imported target. - Remove BUSTED_OUTPUT_TYPE. It's not used and we can reintroduce it again if something similar is needed. - Use LINK_OPTIONS intead of LINK_FLAGS when generating the `--version` output.
* build: fix universal mac buildsdundargoc2023-12-16
| | | | | | | | | | | | Cmake 3.28+ will fail if two projects download the same file to prevent scheduling problems. This can be circumvented by downloading luajit to a unique location for each target. This is theoretically non-optimal since we need to download the same file three times for universal builds, but universal builds are rare and the convenience of this method outweighs setting up the dependencies optimally. This fixes the currently broken release workflow for mac. Closes https://github.com/neovim/neovim/issues/26526.
* fixup: quick update, squash laterdundargoc2023-11-20
|
* build: adjust how find order is prioritizeddundargoc2023-10-16
| | | | | | | | | | | | | | | | | | | Ensure bundled libraries and include directories are always searched first before any others. This will provide a more consistent experience as the search order of the builtin find_ functions can vary depending on system. This should make the build process faster when building with bundled deps as we limit the search to only the .deps directory. Separating the search between .deps and everything makes debugging find_-related problems simpler if you need to check how dependencies are found. For libraries, we divide the search process into the following order: 1. Only search in .deps directory and only search for static libraries. 2. Only search in .deps directory and search for all libraries. 3. Search everywhere and search for all libraries. Make an exception for FindLibintl.cmake as changing the search order seems to break some tests on macos.
* build(deps): bump luajit to HEAD - 03c31124cChristian Clason2023-08-23
| | | | | | Switch to a rolling release, so the `0-beta3` suffix is dropped in favor of the date. Remove the custom UNIX command as the symlink is now created by the LuaJIT Makefile.
* build: move luarocks and rocks installation to main builddundargoc2023-05-21
| | | | | | This will ensure luacheck and busted are only installed when they're actually needed. This cuts total build time by over 50%. Closes https://github.com/neovim/neovim/issues/22797.
* build: add luajit runtime files when installing (#23514)dundargoc2023-05-09
| | | Closes https://github.com/neovim/neovim/issues/15543.
* 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.
* 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: 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.
* 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.
* 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(macos): use consistent MACOSX_DEPLOYMENT_TARGET (#19430)Christian Clason2022-07-19
| | | | | | | Use the same logic for both deps (including LuaJIT, for which setting this variable is mandatory) and Nvim: either the eponymous environment variable if set, or the current software version if not. Removes annoying warnings when building locally on macOS.
* 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/)