使用 CMake 创建 Visual Studio "Custom Build Step"

Create Visual Studio "Custom Build Step" with CMake

本文关键字:Custom Step Build Studio CMake 创建 Visual 使用      更新时间:2023-10-16

我希望每次在Visual Studio中构建项目时都运行代码生成器,即使项目中没有更改源文件。因此,我希望按照Visual Studio中的说明设置一个自定义生成步骤:即使项目是最新的,也要运行C++项目后生成事件。

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

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

来自文件:

添加一个没有输出的目标,使其始终处于构建状态。

或者,如果你正在生成一个代码文件,

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

可以运行CCD_ 1并生成输出。

这在CMake中是不可能的,因此无疑是一个缺少的功能

Tarydon在你提到的问题中给出的答案是,准确地设置你想要的东西——一个"自定义构建步骤"。这意味着你仍然只有你的主要目标(VS项目),它看起来像"后生成事件",但从技术上讲不是,因为如果项目是最新的,则不会运行后生成事件。

tpg2114的答案是有效的,但有一个主要缺点;它用虚假的项目向你的解决方案发送垃圾邮件。如果一个解决方案中有一百个项目,那么必须在前一百个项目中添加另外一百个项目作为构建后包装器,这当然是不可取的。

根据您的情况,有时可能更容易使用"生成后事件"并强制重新生成至少一个源文件,以便实际生成项目,从而运行您的自定义命令。