aboutsummaryrefslogtreecommitdiffstats
path: root/lib/LuaBridge/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'lib/LuaBridge/README.md')
-rw-r--r--lib/LuaBridge/README.md107
1 files changed, 107 insertions, 0 deletions
diff --git a/lib/LuaBridge/README.md b/lib/LuaBridge/README.md
new file mode 100644
index 0000000..8a9cc74
--- /dev/null
+++ b/lib/LuaBridge/README.md
@@ -0,0 +1,107 @@
+<a href="http://lua.org">
+<img src="http://vinniefalco.github.com/LuaBridgeDemo/powered-by-lua.png">
+</a><br>
+
+# LuaBridge 2.3
+
+[LuaBridge][1] is a lightweight and dependency-free library for mapping data,
+functions, and classes back and forth between C++ and [Lua][2] (a powerful,
+fast, lightweight, embeddable scripting language) . LuaBridge has been tested
+and works with Lua revisions starting from 5.1.5., although it should work in
+any version of Lua from 5.1.0 as well as [LuaJit][3].
+
+LuaBridge offers the following features:
+
+- [MIT Licensed][4]
+- A printable [Reference Manual][5].
+- Headers-only: No Makefile, no .cpp files, just one #include!
+- Simple, light, and nothing else needed (like Boost).
+- No macros, settings, or configuration scripts needed.
+- Supports different object lifetime management models.
+- Convenient, type-safe access to the Lua stack.
+- Automatic function parameter type binding.
+- Easy access to Lua objects like tables and functions.
+- Written in a clear and easy to debug style.
+- Does not require C++11.
+
+Please read the [LuaBridge Reference Manual][5] for more details on the API.
+
+## Unit Tests
+
+Unit test build requires a CMake and C++11 compliant compiler.
+
+There are 4 unit test flavors:
+* `Tests51` - uses Lua 5.1, with C++11 features
+* `Tests51L` - uses Lua 5.1, no C++11 features
+* `Tests52` - uses Lua 5.2, with C++11 features
+* `Tests52L` - uses Lua 5.2, no C++11 features
+
+On Linux/MacOS:
+```bash
+clone --recurse-submodules git@github.com:vinniefalco/LuaBridge.git
+cd LuaBridge
+mkdir build
+cd build
+cmake -DCMAKE_BUILD_TYPE=<Debug|RelWithDebInfo|Release> ..
+make -j
+```
+
+On Windows:
+```cmd
+clone --recurse-submodules git@github.com:vinniefalco/LuaBridge.git
+cd LuaBridge
+mkdir build
+cd build
+cmake -G 'Visual Studio 14 2015|Visual Studio 15 2017' ..
+# Generated MSVS solution is LuaBridge.sln
+```
+
+# LuaBridge Demo
+
+LuaBridge provides both a command line program and a stand-alone graphical
+program for compiling and running the test suite. The graphical program brings
+up an interactive window where you can enter execute Lua statements in a
+persistent environment. This application is cross platform and works on
+Windows, Mac OS, iOS, Android, and GNU/Linux systems with X11. The stand-alone
+program should work anywhere. Both of these applications include LuaBridge,
+Lua version 5.2, and the code necessary to produce a cross platform graphic
+application. They are all together in a separate repository, with no
+additional dependencies, available on Github at [LuaBridge Demo and Tests][6].
+This is what the GUI application looks like, along with the C++ code snippet
+for registering the two classes:
+
+<a href="https://github.com/vinniefalco/LuaBridgeDemo">
+<img src="http://vinniefalco.github.com/LuaBridgeDemo/LuaBridgeDemoScreenshot1.0.2.png">
+</a><br>
+
+## Official Repository
+
+LuaBridge is published under the terms of the [MIT License][4].
+
+The original version of LuaBridge was written by Nathan Reed. The project has
+been taken over by [Vinnie Falco][7], who added new functionality, wrote the new
+documentation, and incorporated contributions from Nigel Atkinson.
+
+For questions, comments, or bug reports feel free to open a Github issue
+or contact Vinnie Falco directly at the email address indicated below.
+
+Copyright 2019, Dmitry Tarakanov<br>
+Copyright 2012, [Vinnie Falco][7] (<[vinnie.falco@gmail.com][8]>)<br>
+Copyright 2008, Nigel Atkinson<br>
+Copyright 2007, Nathan Reed<br>
+
+Portions from The Loki Library:<br>
+Copyright (C) 2001 by Andrei Alexandrescu
+
+Older versions of LuaBridge up to and including 0.2 are distributed under the
+BSD 3-Clause License. See the corresponding license file in those versions
+(distributed separately) for more details.
+
+[1]: https://github.com/vinniefalco/LuaBridge "LuaBridge"
+[2]: http://lua.org "The Lua Programming Language"
+[3]: http://luajit.org/ "The LuaJIT Probject"
+[4]: http://www.opensource.org/licenses/mit-license.html "The MIT License"
+[5]: http://vinniefalco.github.com/LuaBridge "LuaBridge Reference Manual"
+[6]: https://github.com/vinniefalco/LuaBridgeDemo "LuaBridge Demo"
+[7]: https://github.com/vinniefalco "Vinnie Falco's Github"
+[8]: mailto:vinnie.falco@gmail.com "Vinnie Falco (Email)"