aboutsummaryrefslogtreecommitdiff
path: root/cmake
Commit message (Collapse)AuthorAge
* 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.
* deps: Update to the experimental msgpack v5 branchThiago de Arruda2014-09-12
| | | | | | | | Using msgpack v5 will let nvim be more compatible with msgpack libraries for other platforms. This also replaces "raw" references by "bin" which is the new name for msgpack binary data type
* Update busted to 2.0.rc3.Florian Walch2014-09-11
| | | | | Default to verbose output to show more information in case of errors. Fix #1031.
* CMake: Use DESTDIR for helptags generation.Florian Walch2014-08-23
|
* CMake: Generate helptags during install step.Florian Walch2014-08-23
| | | | Fix #1056.
* Move po generation from Make to CMake.John Szakmeister2014-07-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #902: localization build: `install`, `uninstall`, `prefixcheck targets. All the language-related bits will now build under CMake. Changes include: * Moving all non-generated sources into the NEOVIM_SOURCES variable to aid in generating the .pot file. * Moving a couple generated sources from NEOVIM_SOURCES and into NEOVIM_GENERATED_SOURCES. * Added NEOVIM_HEADERS to the executable and the library for folks who are using something other than Ninja or makefiles (that way the headers will show up in the IDE files). * Now uses gettext's `--update` switch to update the .po files, rather than doing a fragile `mv` dance that could leave you with a broken working tree if you press CTRL-C at the right time. * Creates `update-po-${LANG}` targets for updating individual languages, just like the original Makefile. * Also adds the `update-po` target for updating all the languages. * Ported the `check-${LANG}` style targets. They're `check-po-${LANG}` under CMake. * Handles all the one-off instances that were in the original Makefile. Fixed up ko.UTF-8.po to include the "Original translation" line like other .po files to make the generation of the "Generate from ..." comments consistent. Updated ko.po with the new text.
* Revert "Merge #928 'Move po gen to cmake'"John Szakmeister2014-07-17
| | | | | This reverts commit 53fba180c32724809d8ab35238eea68440b7ac97, reversing changes made to a3b3db8256c259d10957d45666cf4179e328f3f4.
* Move po generation from Make to CMake.John Szakmeister2014-07-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #902: localization build: `install`, `uninstall`, `prefixcheck targets. All the language-related bits will now build under CMake. Changes include: * Moving all non-generated sources into the NEOVIM_SOURCES variable to aid in generating the .pot file. * Moving a couple generated sources from NEOVIM_SOURCES and into NEOVIM_GENERATED_SOURCES. * Added NEOVIM_HEADERS to the executable and the library for folks who are using something other than Ninja or makefiles (that way the headers will show up in the IDE files). * Now uses gettext's `--update` switch to update the .po files, rather than doing a fragile `mv` dance that could leave you with a broken working tree if you press CTRL-C at the right time. * Creates `update-po-${LANG}` targets for updating individual languages, just like the original Makefile. * Also adds the `update-po` target for updating all the languages. * Ported the `check-${LANG}` style targets. They're `check-po-${LANG}` under CMake. * Handles all the one-off instances that were in the original Makefile. Fixed up ko.UTF-8.po to include the "Original translation" line like other .po files to make the generation of the "Generate from ..." comments consistent. Updated ko.po with the new text.
* Add cmake platform checksRui Abreu Ferreira2014-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | - Defined CMake checks for all headers in config.h.in - Removed headers checks that are not used anymore: sgtty.h sys/statfs.h libintl.h poll.h - Added UNIX check - Add some fatal checks + Check for setenv() and fail if it does not exist since our os layer just assumes it does + lstat is required by os_unix.c + sys/wait.h is required in UNIX - Removed entries for functions that are not being used: getcwd, getrlimit, getwd, nanosleep, sigaltstack, getwd, sigstack, fseeko - Replaced nearly all defines in config.h.in for functions with compile time checks - Add check for symbol FD_CLOEXEC - Add check for langinfo CODESET - HAVE_ICONV_H and HAVE_ICONV hold the expected checks but Neovim uses USE_ICONV define to actually decide whether to enable it - Removed checks that are no longer needed + USEMEMMOVE + _FILE_OFFSET_BITS + HAVE_ST_BLKSIZE + dlfcn.h