我想在Visual Studio每次构建项目时都运行代码生成器,即使项目中没有源文件被更改。因此,我想设置一个自定义构建步骤,如Visual Studio: Run C++ project Post-Build Event even if project is up-to-date所述。
我该如何使用CMake创建这样的构建步骤?
我想在Visual Studio每次构建项目时都运行代码生成器,即使项目中没有源文件被更改。因此,我想设置一个自定义构建步骤,如Visual Studio: Run C++ project Post-Build Event even if project is up-to-date所述。
我该如何使用CMake创建这样的构建步骤?
根据我所知,CMake不支持此功能,因此这肯定是一个缺失的特性。
您提到的Tarydon在问题中给出的答案是关于精确设置您想要的内容 - "自定义构建步骤"。这意味着您仍然只有主目标(VS项目),但有类似于"后期生成事件"的东西,但从技术上讲并不是后期生成事件,因为如果项目是最新的,则不会运行后期生成事件。
tpg2114的答案有效,但有一个重大缺点; 它会在解决方案中产生虚假项目。如果您的解决方案中有一百个项目,则必须向前一百个项目添加另外一百个后期生成包装器,这当然是不可取的。
根据您的情况,有时使用后期生成事件并强制重新构建至少一个源文件可能更容易,以便项目实际构建并因此运行自定义命令。