我有一个CMake项目,它生成一个Visual Studio解决方案及其相关的项目文件。我注意到项目中生成了很多“CustomBuild”规则,如果由于某种原因项目不是最新的,那么它们似乎会重新运行CMake:
<ItemGroup>
<CustomBuild Include="foo\CMakeLists.txt">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Building Custom Rule S:/foo/CMakeLists.txt</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">setlocal
"C:\...\cmake.exe" -HS:/foo -BS:/foo/msvc-10.0 --check-stamp-file S:\foo\msvc-10.0\CMakeFiles\generate.stamp
...
</CustomBuild>
</ItemGroup>
有没有办法告诉CMake禁用生成这些自定义构建规则?我的目标是让CMake生成解决方案/项目文件而不依赖于CMake。
谢谢!
答案 0 :(得分:2)
不,那是不可能的。
此外,这些规则不仅适用于重新生成项目文件,如果它们不再是最新的。例如,还有CMake命令模式,它提供了复制文件,目录,md5总和以及许多其他好东西的可移植性。
bakefile项目试图这样做(生成独立的项目文件),但它现在似乎已经死了。