Skip to content

Release 1

Russell Haley edited this page Sep 3, 2018 · 20 revisions

2018-09-02 - 1809a

Lua 5.3 has been updated to 5.3.5. Sol2 is updated to V2.20.4 Revision 1809a. I've chosen to update Release 1 because it's the stable installer.

2018-03-01 - 1803a

We are pleased to announce the second revision of WinLua R1. Revision 1803a includes the sublime C++ wrapper Sol2. We now also offer WinLua as merge modules to help you deploy your application.

What's Included:

  • Lua as created by Lua.org. The Lua version is reflected in the WinLua installation.
  • LuaFileSystem (lfs) version 1.7.0 from the Kepler Project.
  • Sol2 version 2.19.4. - Header only hpp file under ...\include\sol2.hpp

What's Removed:

I removed the FetchLuarocks script because it's not a viable way to install something. I'm looking at creating a proper installer with the LuaRocks files and chopping up their Install.bat to help with setting up environment variable. Work in Progress...

Sol2

Sol2 abstracts away the need to know anything about the Lua stack and has statistics showing near parallel performance with raw C. The presentation by ThePhD is worth watching and the library has so far lived up to it's hype. https://www.youtube.com/watch?v=NAox5UsjbUM. Using Lua in C++ with Sol2 is an absolute joy. Sol2 is a header only component so it's distributed as a source file. Here's a working demo in a qt project. I can't vouch for the quality of the code, but it works. You can also create the sol2 test.cpp demo and compile it in the Visual Studio Developer Console with:

cl test.cpp "c:\Program Files (x86)\WinLua\Lua\5.3\bin\lua53.lib" /I"C:\Program Files (x86)\WinLua\Lua\5.3\include" 
OR
cl test.cpp "c:\Program Files (x86)\WinLua\Lua\5.1\bin\lua51.lib" /I"C:\Program Files (x86)\WinLua\Lua\5.1\include" 

For 64 Bit installations, run this:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64

Then compile with this:

cl.exe test.cpp "c:\Program Files\WinLua\Lua\5.3\bin\lua53.lib" /I"C:\Program Files\WinLua\Lua\5.3\include"
OR
cl.exe test.cpp "c:\Program Files\WinLua\Lua\5.1\bin\lua51.lib" /I"C:\Program Files\WinLua\Lua\5.1\include"

Note: Each Lua Version and Platform (x86/x64) needs to be installed via separate WinLua installers.

Merge Modules

Merge Modules are a form of binary distribution to provide component support to MSIs. That means after you write your application and want to create your own installer, you simply add the WinLua merge module (to your installer) and you're ready to go. The merge modules include sol2 and lfs so anything built against a WinLua MSI installation (i.e. your development machine) will work on the client computer. Sweet...

2018-02-09 - 1802a

The WinLua project is pleased to announce WinLua installers Release 1, Revision 1802a. The WinLua installers are available for Lua 5.1 and 5.3 in both 32 and 64 bit editions and supports side by side installation with some caveates (see below).

What is included:

  • Lua as created by Lua.org. The Lua version is reflected in the WinLua installation.
  • LuaFileSystem (lfs) version 1.7.0 from the Kepler Project.
  • Initial release of the fetch-luarocks tool.

The installer adds the Lua executables to your path, thus making it available from the command line. Lfs is installed with the Lua executable so is not dependent on PATH making it portable in all your scripts[1]. If you would like to use a different version of lfs, simply remove lfs.dll from the installation directory [2].

Caveates:

  • Release 1 will almost certainly be incompatible with Release 2. That means uninstallation and re-installation of Lua. This has not presented a problem on my two test systems, but I am sure to eat those words.
  • The installation order affects the path. The PATH variable can be easily adjusted via standard windows tools. However, if you don't want to change your path, install the version you will use from the command line FIRST. A path tool is in the roadmap.
  • fetch-luarocks tool is a new script and is not well tested. I haven't been able to get a custom action to run it from the installer. If you'd like to test it, try this:
cd <install dir>\tools
lua fetch-luarocks.lua -u

[1] I'm sure you could muck the package.path variable and break this.

[2] Please create an issue if you require instructions.

Clone this wiki locally