Include a new SINGLE_MAKE which can be used to invoke make but using
only a single job, and in way that avoids any warnings from make.
Use SINGLE_MAKE to execute the tests, since they're meant to be run
serially.
Also, prefer the use of $(MAKE) to avoid invoking an extra subshell
(saves some time).
Tests will be written using the [moonscript](http://moonscript.org/) language,
a lua 'dialect' that is whitespace-significant and has a syntax similar to
coffeescript. The test framework used is [busted](http://olivinelabs.com/busted/),
a bdd framework for lua/moonscript.
Luajit has a nice ffi module, which lets lua programs link shared libraries and
call it's functions without writing any C code.
To take advantage of this fact for testing C functions, a new target was added
to CMakeLists.txt, which compiles neovim as a shared library that is loaded by
the process running the tests.
This commit adds necessary code for downloading and installing a lua package
manager(luarocks) locally. It wasn't added as a subtree because there are quite
a few blobs in its source tree.
Change an explicit ``cd build && make`` into the more usual
``${MAKE} -C build`` style of invoking make in a subdirectory. This
should mean that ``make -jN`` from the top-level Makefile should work.
Closes#162.
The CMake prefix path is the set of directories CMake searches for
libraries, header files, etc. Use the .deps directory we create when
building libuv as one of those locations.
Although CMAKE_FLAGS was already a Makefile variable, it didn't have an
empty default value meaning that extending the flags to CMake in a clean
way was difficult. Add a CMAKE_EXTRA_FLAGS variable which is appended to
the default flags.
This simply calls the install target in the build directory. IMHO I
think it's looking a bit hacky having a separate Makefile target to do
this rather than using the usual CMake workflow but mine is not to
reason why... [Also, I've copied ``cd build && make ...`` although I'm
sure ``$MAKE -C build/ ...`` is probably the Right Thing (TM).]
Note that you'll have to set CMAKE_INSTALL_PREFIX on the cmake command
line to change where this installs to.
- Cleanup source tree, leaving only files necessary for compilation/testing
- Process files through unifdef to remove tons of FEAT_* macros
- Process files through uncrustify to normalize source code formatting.
- Port the build system to cmake