我正在尝试使用CMake,并且它似乎会生成递归的makefile。这意味着在一个大型项目中,空构建可能需要约5秒钟的时间,这实在是无法接受的。
我还没有找到一种使用CMake生成非递归makefile的方法。这可行吗?
我还没有找到一种使用CMake生成非递归makefile的方法。这可行吗?
目前而言,使用CMake是无法实现的。
通过修改CMake源代码可能会有所帮助...但我不确定这个任务会有多么简单或复杂。
即使在未来几年中进行所有空构建的乘积,Pretty sure也需要更长时间超过5秒钟。
如果5秒钟对于您的空构建不可接受,那么什么阈值是可以接受的呢?1秒钟?0.25秒钟?只是好奇--已经进行了大量工作,以尽可能地缩小大型项目的空构建时间。
find Torque3D/Engine -iname ".c" -or -iname ".cpp" -or -iname "*.h" | xargs dirname | sort -u | wc -l
的最佳猜测。a.o: a.c;a.exe: a.o b.a;b.o: b.c;b.a: b.o
这个老式的规则,我认为没有理由不能做到。 - Elazar Leibovich
cmake
首先要发出递归的make文件(尽管对于小项目来说这是有意义的,但对于小项目来说,你不需要cmake
)。可以看看tup
,在其中整个Linux发行版的空构建时间少于0.5秒钟。 - Elazar Leibovich