我在一个 C 项目中工作并构建我正在使用 CMake 的软件。不幸的是,软件的构建需要很多时间。为了分析构建时间,我想:
- 打印每个 c 文件的翻译时间
- 打印整个构建的时间
成一个文本文件。
我怎样才能使用 CMake 做到这一点?
我在一个 C 项目中工作并构建我正在使用 CMake 的软件。不幸的是,软件的构建需要很多时间。为了分析构建时间,我想:
成一个文本文件。
我怎样才能使用 CMake 做到这一点?
我在一个 C 项目中工作并构建我正在使用 CMake 的软件。
并不真地; CMake 不构建任何东西,它不是构建工具。CMake 用于生成构建系统(例如 makefile 或 Visual Studio 解决方案),然后使用常规构建工具进行构建。甚至调用cmake --build
也只是一个启动正确构建工具的包装器。
这意味着构建时间不受 CMake 控制。您必须检查您的构建工具链(gcc、cl 等)的计时功能。target_compile_options()
如果这些需要编译器等的命令行选项,您当然可以使用正常的 CMake 机制(等)在您的 CMakeLists 中设置它们。
至于整个构建的计时,您可以使用 CMake 的内置计时功能cmake -E time command args...
,但这又不是特定于构建的;它只是一种计时任意命令运行的跨平台方式。