【问题标题】:How to calculate the build time of C Project using CMake如何使用 CMake 计算 C 项目的构建时间
【发布时间】:2019-09-13 08:42:39
【问题描述】:

我在一个 C 项目中工作,我正在使用 CMake 构建软件。不幸的是,软件的构建需要很多时间。为了分析构建时间,我想:

  • 打印每个 c 文件的翻译时间
  • 打印整个构建的时间

到一个文本文件中。

我如何使用 CMake 来做到这一点?

【问题讨论】:

  • 也许可以用CMake server mode做点什么?
  • @Someprogrammerdude CMake 服务器模式已弃用;它已被CMake file API 取代。我认为,这些对构建都没有多大作用。

标签: c cmake build-time


【解决方案1】:

我在一个 C 项目中工作,我正在使用 CMake 构建软件。

不是真的; CMake 不构建任何东西,它不是构建工具。 CMake 用于生成构建系统(例如 makefile 或 Visual Studio 解决方案),然后使用常规构建工具进行构建。即使调用 cmake --build 也只是一个启动正确构建工具的包装器。

这意味着构建时间不受 CMake 控制。您必须检查您的构建工具链(gcc、cl 等)的计时功能。如果这些需要编译器等的命令行选项,您当然可以使用普通 CMake 机制(target_compile_options() 等)在您的 CMakeLists 中设置它们。

至于整个构建的计时,您可以使用 CMake 的内置计时功能 cmake -E time command args...,但这又不是特定于构建的;它只是一种跨平台计时任意命令运行的方式。

【讨论】:

  • 我使用了命令set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CMAKE_COMMAND} -E time")。现在我在 cmd 提示窗口中打印出编译时间。我还可以将打印时间重定向到文件吗?
猜你喜欢
  • 2018-03-26
  • 2012-04-30
  • 2015-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多