这是我第一次手动构建库,所以我只想验证一些东西。有时,我将Cmake作为:
运行cmake -SOME_SWITCH=ON ..
而且运行得相当快。然而,在那之后,我运行:
sudo make
这需要很长时间(30-40分钟)。
所以我的问题是,如果我再次使用以下内容做CMake:
cmake -SOME_SWITCH=ON -SWITCH2=ON ..
我需要再次制作吗?如果是这样,有没有办法不必再次完成整个make(即只编译新条目?)
谢谢!
答案 0 :(得分:0)
CMake不是构建系统,它是构建系统生成器。这就是为什么(回答你的第一个问题),你需要在运行make
之后调用cmake
;运行cmake
会生成Makefile
s,其中包含相应的依赖项,flags,blah blah blah,以及正在运行的make
实际使用它们。
至于你的第二个问题,你不应该再次重建整个项目,除非改变影响整个项目的事情(例如,你改变了cflags或修改了所有包含的标题)。在您运行cmake
之后,保留构建目录,您应该能够运行make
(它将检测CMakeLists.txt
文件是否已更改并{{需要再次调用1}}。