aboutsummaryrefslogtreecommitdiff
path: root/cmake
Commit message (Collapse)AuthorAge
...
* Windows: FindLuaJit: fix libname. #3262Rui Abreu Ferreira2015-08-31
|
* ci: Use error suppression in place of ignored files list. #3185ZyX2015-08-20
| | | | Fixes #3174
* Travis: Refactor CI files, use container infrastructure.Florian Walch2015-07-08
| | | | | | | | | | | | | | | | | | | | | * Split build steps to utilize the Travis build lifecycle. * Move shell code from `.travis.yml` into Bash files in `.ci/`, one file for each step of the Travis build lifecycle. * Use configuration variables in `.travis.yml` to change build behavior (e.g. build 32-bit with `BUILD_32BIT=ON`). * Keep all configuration in environment variables in `.travis.yml`. In scripts, concatenate environment variables according to configuration to change to different behavior. * Add GCC 5 builds for Linux. * Use Travis's caching feature [1] for third-party dependencies and pip packages. * Allow failures MSan, as the errors it reports have to be fixed first. Valgrind is still disabled, but can be enabled by setting `env: VALGRIND=ON` for a job in `.travis.yml`. [1] http://docs.travis-ci.com/user/caching
* cmake: Make `make lint` less verboseMichael Reed2015-06-27
| | | | | It unnecessarily complicates spotting linter errors, as they're usually surrounded by a bunch of lines saying "Done processing ... ".
* CMake: Fix helptags generation when prefix is not /usr. #2741Thomas Anderson2015-06-09
|
* CMake: Workaround for hanging helptags generation. #2801Florian Walch2015-06-06
| | | | | | | | | | | | | | | | | | | | | | | Piping input into nvim causes the helptags generation to hang. For example, the following does not work: yes | nvim -c "helptags ." The helptags are generated during installation with a command similar to the one above, using CMake's execute_process to call nvim. As execute_process does not use an intermediate shell, the following will cause the installation to hang: yes | make install pacaur, an Arch Linux package helper, uses a similar command to install packages [1], and thus can currently not be used to install Neovim. This commit adds a workaround to GenerateHelptags.cmake to circumvent this problem. [1] https://github.com/rmarquis/pacaur/blob/22c00a3d05f6504b44dfbc2f3cbd6ab1291e3c9c/pacaur#L825
* Build: Use GNUInstallDirs, install man pages #2649Michael Reed2015-05-17
| | | | | | | | | | | For now, only install man pages matching "nvim*.1": we don't want to install xxd.1 as it might conflict with that of a user's Vim installation. closes #1826 Reviewed-by: Florian Walch <florian@fwalch.com> Helped-by: John Szakmeister <john@szakmeister.net>
* Travis: Add Mingw third-party buildsRui Abreu Ferreira2015-05-15
| | | | | - Build third-party/ in Travis using mingw - Import mingw-w64 cmake toolchain
* CMake: Remove duplicate PkgConfig lookups.Florian Walch2015-04-29
|
* CMake: Refer to Unibilium instead of LibUnibilium.Florian Walch2015-04-29
|
* build: Improve GenerateHelptags.cmake failure messageThiago de Arruda2015-04-13
| | | | | Some errors during helptags can be caused by duplicate/wrong tags after documentation cleanup. Suggest the removal of the "doc" directory.
* deps: Add jemalloc as an optional dependencyThiago de Arruda2015-04-13
| | | | | | | | | | | | Jemalloc will be used if the cmake option `USE_JEMALLOC` is enabled(which is the default). To avoid trouble with clang's ASAN, it is disabled by default if the `SANITIZE` option is enabled. Since jemalloc has thread cache for small objects, it fills the gap created by removing klib memory pools. The `xstrdup` funciton(memory.c) had to be reimplemented on top of `xmalloc` to make it work with a custom allocator.
* test: Improve functional test debuggability and efficiencyThiago de Arruda2015-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Read TEST_TAG/TEST_FILTER env vars from cmake/RunTests.cmake. Setting these environment variables will pass --tags/--filter to busted, which can used to filter which tests are executed. - Remove calls to nvim msgpack-rpc API outside tests. This removes the requirement of having a static `clear` call in test/functional/helpers.lua - Use the new busted command-line option "--lazy" to ensure the setup/teardown hooks are only executed when a suite runs at least one test. Now its possible to run/debug a single test like this: ```sh TEST_FILTER='some test string' make test ``` Which will only run tests containing "some test string" in the title. Another option is: ```sh TEST_TAG=some-tag make test ``` After putting #some-tag into the test title. This also improves debugging experience because there will be no unnecessary gdbserver instances whe GDB=1 is passed.
* build: add support for running the tests in junit formatJohn Szakmeister2015-03-21
| | | | | | This requires a couple of extra modules that are not installed by default, and it requires capturing stdout of the tests--otherwise CMake output is intermixed with the XML output of busted.
* tests: prevent busted from reloading the ffi module and othersJohn Szakmeister2015-03-01
| | | | | | | | | | | It turns out that Busted started cleaning the environment in 2.0rc5 as a result of Olivine-Labs/busted#62. This, in turn, caused the ffi module to be reloaded for each spec file, and LuaJIT doesn't appreciate it. The net effect is an assertion error in LuaJIT. By using the --helper feature of Busted, we can pre-load some modules ahead of Busted and prevent it from reloading them--making LuaJIT happy again.
* deps: Add libvterm to the project dependenciesThiago de Arruda2015-02-28
| | | | | libvterm is a terminal emulation library with abstract display. It will be used to implement builtin terminal emulation into Nvim.
* build: filter off libuv from PC_LIBUV_LIBRARIESJohn Szakmeister2015-02-24
| | | | | Otherwise, the -rdynamic that is being passed on the command line will require a dynamic link, even though we often want a static one.
* deps: Remove libtickit as a project dependencyThiago de Arruda2015-02-11
| | | | Also update libtermkey version and fix the pkg-config search scripts.
* CMake: Hide stderr output for successful test runs.Florian Walch2015-02-06
| | | | Fixes #1301.
* Linting: Integrate into CMake, enable by default.Florian Walch2014-12-24
|
* build: only manipulate out if getting the timestamp was successfulJohn Szakmeister2014-12-03
| | | | | This fixes an issue seen in #1548, though the real problem is something different.
* build: no need to quote the paths in CMake, it will do it automaticallyJohn Szakmeister2014-12-03
|
* build: fix a typo in a comment of FindLuaJit.cmakeJohn Szakmeister2014-12-02
|
* deps: Add libtickit/libtermkey as dependencyThiago de Arruda2014-12-01
| | | | The new terminal UI will be implemented on top of those libraries
* build: add failure message along with number in GenerateHelptags.cmakeSteven Oliver2014-11-25
|
* build: print the error result when the tests failJohn Szakmeister2014-11-25
| | | | | Any diagnostic information is useful when things fail. In my case, it printed out the fact that the tests were segfaulting.
* Fix #1484: search gettext subdir for headerJohn Szakmeister2014-11-17
| | | | | | On some systems, such as NetBSD, the gettext header is tucked under the gettext directory in the system include area. Let's add a path suffix to ensure we correctly discover the header on such systems.
* build: allow installing into the root directory (/)John Szakmeister2014-11-09
| | | | | | | | | | It turns out that CMake always canonicalizes `CMAKE_INSTALL_PREFIX` to an absolute path--if it's a relative path, it canonicalizes it relative to the build directory. As a result, the only thing the DESTDIR and relative directory check prevents is an installation into the root directory since CMake strips the trailing slash, turning "/" into an empty string. Let's just remove the check all together, since it cannot accomplish what we intended.
* version: Add compilation info.Florian Walch2014-11-09
|
* Merge pull request #1437 from jszakmeister/build-search-fixesJohn Szakmeister2014-11-09
|\ | | | | A few fixes for some build-related issues.
| * build: pull iconv detection into its own FindIconv.cmake fileJohn Szakmeister2014-11-08
| | | | | | | | | | This will provide better control for those who may want to alter which one gets used.
* | Merge pull request #1400 from jszakmeister/install-helpers-destdirJohn Szakmeister2014-11-09
|\ \ | |/ |/| build: fix the usage of DESTDIR in InstallHelpers.cmake
| * build: fix the usage of DESTDIR in InstallHelpers.cmakeJohn Szakmeister2014-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that `file(INSTALL ...)` already accounts for `DESTDIR`, so this wasn't creating the directory structure in the correct location. Instead, we need to do our existence check with `DESTDIR`, but leave it off when doing the install step. While we're at it, add a check to make sure `ENV{DESTDIR}` is not being used with a relative path, as that construct doesn't make much sense. This fixes issue #1387 discovered while trying to make helptag generation work correctly in #1381.
* | test: Set VIMRUNTIME before running testsThiago de Arruda2014-11-05
| | | | | | | | This is required for testing scripts under the 'runtime' directory
* | CMake: Fix running individual (functional/unit) test.Florian Walch2014-11-05
|/
* build: fix running of functional tests directly with CMakeJohn Szakmeister2014-11-05
| | | | | | | If you aren't just building everything into build/, then the functional tests fail because they can't find the nvim executable. Let's pass in the location of the nvim executable, and set NVIM_PRG environment variable accordingly.
* CMake: Fix helptags generation.Florian Walch2014-11-03
|
* Revert "Merge pull request #1381 from xzfc/master"Florian Walch2014-11-03
| | | | | This reverts commit 6c0a596dacd7672e650847f1ed15e6a2a67b1483, reversing changes made to 33d3a7c83b2f1d2cda22b53bf82d68267154cdfd.
* GenerateHelptags: Use ${PREFIX} variableAlbert Safin2014-11-03
|
* CMake: Fix checking of DESTDIRAlbert Safin2014-11-03
|
* GenerateHelptags: check whether DESTDIR existsXu Cheng2014-11-03
|
* CMake: Set execute permissions during installation.Florian Walch2014-10-20
|
* test: Remove run-functional-tests.pyThiago de Arruda2014-10-16
| | | | | | Now that the lua client is available, python/lupa are no longer necessary to run the functional tests. The helper functions previously defined in run-functional-tests.py were adapted to test/functional/helpers.lua.
* cmake: handle missing git or .git/Justin M. Keyes2014-10-15
| | | | | | | GetGitRevisionDescription.cmake: we don't need fine-grained failure modes, we only need "yes" or "no". fix #1292
* homebrew: look for .git/ outside of build workspace #1274Xu Cheng2014-10-15
|
* version: generate "build number" from commit timestampJustin M. Keyes2014-10-07
| | | | | | | | | | - cmake: git_timestamp() returns last commit time formatted as `YYYYMMddHHmm`. - Always include commit hash in :version and --version output. `nvim --version` sample output: NVIM 0.0.0-alpha+201410070245 (compiled Oct 7 2014 05:30:45) Commit: f747b2b1ff7bfe7eb00cc2be82d7af87c98f1111
* version: report commit hash as "build number" in long version stringJustin M. Keyes2014-10-07
|
* test: Move 'test/legacy' to 'test/functional'Thiago de Arruda2014-10-01
| | | | | | Busted can only discover tests from a single directory. In order to allow tests under 'legacy' to run as a functional test, it needed to be moved to 'test/functional'.
* test: Replace vroom by lua/busted for functional testsThiago de Arruda2014-09-30
| | | | | | | | | | | | | | | | | | | | | The 'lupa' python package provides a simple way to seamless integrate lua and python code. This commit replaces vroom by a python script that exposes the 'neovim' package to a lua state, and invokes busted to run functional tests. This is a temporary solution that will enable writing functional tests using lua/bused while a lua client library is not available. The reason for dropping vroom is flexibility: Lua/busted has a nice DSL-style syntax while also providing the customization power of a full programming language. Another reason is to use a single framework for unit/functional tests. Two other changes were performed in this commit: - Instead of "gcc-unittest/gcc-ia32", the travis builds for gcc are now identified by "gcc/gcc-32". They will run unit/functional tests for both 64 and 32 bits. - Old integration tests(in src/nvim/testdir) are now ran by the 'oldtest' target
* build: install with the correct permissionsJohn Szakmeister2014-09-22
| | | | | | | | | | | | | | | | | | | The install() command will create the parent directories, but it does so with the user's umask. We want to do our best to make sure the correct permissions are being set, without clobbering existing permissions. To do this, this commit introduces an install_helper(), which is similar in signature to the install() command, to help ensure that directories are created ahead of the actual install() command. This will attempt to use 0644 permissions for files and 0755 permissions for directories by default--though they can be overridden. To make this work correctly, without trying to introduce some mechanism with setting the umask, it meant that there's a small portion that makes use of an "internal" version of the file() command. It has been tested on CMake 2.8.11, 2.8.12, and 3.0.2, and works correctly on all versions. This fixes #1201 and #1086.