CMake系列:Windows平台Lua编译示例

Posted 岬淢箫声

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMake系列:Windows平台Lua编译示例相关的知识,希望对你有一定的参考价值。

为什么是lua

  • lua很轻,可轻松移植到嵌入式开发当中。
  • 简单强大 尽管是过程化脚本语言,但由于 Lua 的设计者们为 Lua 提供了 meta-mechanisms 机制,这不仅使 Lua 具备了一些基本的面向对象特征,如对象和继承,而且仍然保持了过程化语言所具有的语法简单的特征。

编译方法

编译方法有很多,官方只给了一个用于Linux开发环境下编译的Makefile。实际在Windows平台下它也很容易编译。代码如下

file(GLOB LUA_SRCS src/*.c src/*.h)
file(GLOB LUA_HS src/*.h)

foreach(SRC $LUA_SRCS)
    if(NOT $SRC MATCHES "lua.c")
        if(NOT $SRC MATCHES "luac.c")
            list(APPEND LUA_LIB $SRC)
        endif()
        list(APPEND LUA_COMPILER $SRC)
    endif()
    if(NOT $SRC MATCHES "luac.c")
        list(APPEND LUA_SCRIPT $SRC)
    endif()
endforeach()

add_library(lua STATIC $LUA_LIB)
add_executable(lua-script $LUA_SCRIPT)
add_executable(lua-compiler $LUA_COMPILER)

set_target_properties(lua PROPERTIES FOLDER lua)
set_target_properties(lua-script PROPERTIES FOLDER lua)
set_target_properties(lua-compiler PROPERTIES FOLDER lua)

install(TARGETS lua lua-script lua-compiler)
foreach(H $LUA_HS)
    install(FILES $H DESTINATION include) 
endforeach(H)

set(LUA_SRCS $LUA_SRCS CACHE STRING "LUA_SRCS" FORCE)
set(LUA_DIR $CMAKE_CURRENT_SOURCE_DIR/src CACHE PATH "LUA_DIR" FORCE)

add_dependencies(lua-script lua)
add_dependencies(lua-compiler lua)
作者:岬淢箫声
邮箱:zhtqs8@163.com
来源:https://caowei.blog.csdn.net/article/details/129090096

以上是关于CMake系列:Windows平台Lua编译示例的主要内容,如果未能解决你的问题,请参考以下文章

使用 cmake 来搭建跨平台的应用程序框架:C++版本

在Windows平台借助cmake编译jni

在Windows平台借助cmake编译jni

cmake 在Windows 命令行怎么指定编译器

Windows系统下安装 CMake

CMake 交叉编译示例