2015-05-09 93 views
1

我有一个使用GLFW,GLEW,GLM和Lua的项目。以前,我在我的Linux环境中使用了一个Makefile,它连接了一些静态库,一些动态库。在Cmake中静态链接Lua

基于此boilerplate project我可以使用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) 

什么是解决这个问题最彻底的方法?我可以想到一些冒险的方法,但我想知道CMake中是否有能够处理它的东西,或者是否有其他人有经验将这种方式与CMake联系起来。

这是my CMakeLists.txt,我也会发布lua一个,但我没有足够的代表。

回答

0

我终于得到它的工作(其他一些错误正在成为现实)。 上述行将生成的luaconf.h文件复制到二进制目录,现在我只是将它复制到源目录中:

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