Skip to content

zhaozg/luajit-cmake

Repository files navigation

luajit-cmake

A flexible cmake builder for LuaJIT.

External Dependencies

This project requires several external tools for building and cross-compilation:

Zig

  • Purpose: Used as a cross-compilation toolchain for building LuaJIT for various targets.
  • Version: 0.16.0
  • Toolchain File: Utils/zig.toolchain.cmake
  • Installation: Install Zig from ziglang.org

Git

  • Purpose: Required for cloning the repository and managing source code.
  • Installation: Usually pre-installed on macOS. For other systems, install from git-scm.com

Wine

  • Purpose: Used to run 32-bit Windows executables on non-Windows systems during the build process.
  • Usage: Referenced in Utils/Darwin.wine.cmake for macOS builds.
  • Installation: Install Wine from winehq.org

Build

make

Use a GNU compatible make.

make -DLUAJIT_DIR=... or mingw32-make -DLUAJIT_DIR=... or gnumake -DLUAJIT_DIR=....

Note: When use mingw32-make, please change \\ to / in file path on Windows.

cmake

Use cmake to compile.

cmake -H. -Bbuild -DLUAJIT_DIR=...
make --build build --config Release

Embed

add_subdirectory(luajit-cmake)
target_link_libraries(yourTarget PRIVATE luajit::lib luajit::header)

Look samples at lua-forge

CrossCompile

iOS

make iOS

Android

make Android

Windows

make Windows

HarmonyOS

The library also supports cross-compilation for HarmonyOS. Please refer to the toolchain files in Utils/ directory for HarmonyOS specific configurations.

make OHOS

Note

Note: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS). So I use mingw-w64 and wine to build and run 32 bits minilua and buildvm.

About

cmake build for LuaJIT, macOS, Linux, Windows, MingW, iOS, Android

Topics

Resources

License

Stars

87 stars

Watchers

5 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors