使用 CMake 静态链接 Lua

我有一个项目使用GLFW、GLEW、GLM和Lua。以前,我在Linux环境下使用Makefile链接库,有些是静态的,有些是动态的。

根据这个模板项目,我可以使用Cmake编译和链接GLFW、GLEW和GLM到我的项目中。然而,我遇到了用lua链接的问题,以前只需在Linux上用“-llua”即可。

我可以用Cmake很好地构建lua,当构建我的项目时,它确实打印出liblua已经构建完成,然而很快它就会抱怨缺少luaconf.h。可能是因为它不存在,luaconf.h.in存在,lua CMakeLists.txt中的以下行似乎生成luaconf.h:

configure_file ( src/luaconf.h.in ${CMAKE_CURRENT_BINARY_DIR}/luaconf.h )

最好的处理方法是什么?我能想到一些hacky的方法,但我想知道CMake中是否有处理它的方法,或者是否有其他人使用CMake以这种方式链接lua的经验。

这是我的CMakeLists.txt,我也会发布lua,但我没有足够的声誉。

点赞
用户1224700
用户1224700

我终于让它工作了(其他一些错误阻碍了它的进展)。上述一行将生成的 luaconf.h 文件复制到二进制目录,现在我只需将其复制到源目录 :

configure_file(src / luaconf.h.in $ {CMAKE_CURRENT_SOURCE_DIR} / src / luaconf.h)
2015-05-09 22:08:16