使用CMake创建Visual Studio“自定义构建步骤”

时间:2012-01-31 04:52:00

标签: c++ visual-studio cmake

我希望每次在Visual Studio中构建项目时都运行代码生成器,即使项目中没有源文件发生更改也是如此。因此,我希望按照Visual Studio: Run C++ project Post-Build Event even if project is up-to-date中的说明设置自定义构建步骤。

如何使用CMake创建这样的构建步骤?

2 个答案:

答案 0 :(得分:5)

我认为您正在寻找自定义目标:add_custom_target

来自文档:

  

添加一个没有输出的目标,因此它将始终构建。

或者如果您要生成代码文件,

https://cmake.org/cmake/help/v2.8.8/cmake.html#command:add_custom_target

可以运行POST_BUILD并生成输出。

答案 1 :(得分:0)

这对于CMake来说是不可能的,因此肯定是 缺少功能

Tarydon在您提到的问题中的答案是关于准确设置您想要的内容 - “自定义构建步骤”。这意味着你仍然只有你的主要目标(VS Project),看起来像是“构建后事件”,但从技术上讲并非如此,因为如果没有运行Post-Build Events,该项目是最新的。

tpg2114的答案有效,但有一个主要缺点;它通过虚假项目来破坏你的解决方案。如果你在一个解决方案中有一百个项目,那么必须添加另外一百个作为后构建包装器到前一百个当然是不可取的。

根据您的具体情况,有时可能更容易使用Post-Build事件并强制重建至少一个源文件,以便项目实际构建,因此也可以运行自定义命令。