Lua53 premake
(金庆的专栏 2017.2)
参考:用premake5创建lua532工程
http://blog.youkuaiyun.com/jq0123/article/details/51242780
-- premake5.lua
--[[
Usage examples:
for windows: premake5.exe --os=windows vs2015
fot linux: premake5.exe --os=linux gmake
]]
workspace "lua53"
configurations { "Debug", "Release" }
targetdir "bin/%{cfg.buildcfg}"
language "C++"
-- Force VS to compile as C++.
-- https://github.com/premake/premake-core/issues/142
filter "action:vs*"
buildoptions "/TP"
filter "system:windows"
defines { "LUA_BUILD_AS_DLL" }
filter "configurations:Debug"
defines { "DEBUG" }
flags { "Symbols" }
filter "configurations:Release"
defines { "NDEBUG" }
optimize "On"
project "lua53"
kind "ConsoleApp"
files { "src/lua.c" }
links { "lua53_shared_lib" }
project "luac53"
kind "ConsoleApp"
files { "src/luac.c" }
links { "lua53_static_lib" } -- Link error on Windows if link lua53 shared lib.
project "lua53_shared_lib"
kind "SharedLib"
targetname "lua53"
files { "src/*.h", "src/*.c" }
removefiles { "src/lua.c", "src/luac.c" }
project "lua53_static_lib"
kind "StaticLib"
targetname "lua53"
filter "system:windows"
removefiles { "src/lua.c", "src/luac.c" }
更改之处:
* VS强制按C++编译
* 创建动态库和静态库
* lua53.exe 链接动态库,luac53.exe 链接静态库,
因为 luac53.exe 链接动态库缺3个函数未导出。
* 添加宏 LUA_BUILD_AS_DLL,不然 lua53.dll 不会生成 lua53.lib
(金庆的专栏 2017.2)
参考:用premake5创建lua532工程
http://blog.youkuaiyun.com/jq0123/article/details/51242780
-- premake5.lua
--[[
Usage examples:
for windows: premake5.exe --os=windows vs2015
fot linux: premake5.exe --os=linux gmake
]]
workspace "lua53"
configurations { "Debug", "Release" }
targetdir "bin/%{cfg.buildcfg}"
language "C++"
-- Force VS to compile as C++.
-- https://github.com/premake/premake-core/issues/142
filter "action:vs*"
buildoptions "/TP"
filter "system:windows"
defines { "LUA_BUILD_AS_DLL" }
filter "configurations:Debug"
defines { "DEBUG" }
flags { "Symbols" }
filter "configurations:Release"
defines { "NDEBUG" }
optimize "On"
project "lua53"
kind "ConsoleApp"
files { "src/lua.c" }
links { "lua53_shared_lib" }
project "luac53"
kind "ConsoleApp"
files { "src/luac.c" }
links { "lua53_static_lib" } -- Link error on Windows if link lua53 shared lib.
project "lua53_shared_lib"
kind "SharedLib"
targetname "lua53"
files { "src/*.h", "src/*.c" }
removefiles { "src/lua.c", "src/luac.c" }
project "lua53_static_lib"
kind "StaticLib"
targetname "lua53"
filter "system:windows"
targetprefix "lib" -- liblua53.lib
filter {}
removefiles { "src/lua.c", "src/luac.c" }
更改之处:
* VS强制按C++编译
* 创建动态库和静态库
* lua53.exe 链接动态库,luac53.exe 链接静态库,
因为 luac53.exe 链接动态库缺3个函数未导出。
* 添加宏 LUA_BUILD_AS_DLL,不然 lua53.dll 不会生成 lua53.lib