从生成的解决方案/项目文件中分离CMake引用?

时间:2013-06-27 13:00:32

标签: visual-studio-2010 cmake

我有一个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。

谢谢!

1 个答案:

答案 0 :(得分:2)

不,那是不可能的。

此外,这些规则不仅适用于重新生成项目文件,如果它们不再是最新的。例如,还有CMake命令模式,它提供了复制文件,目录,md5总和以及许多其他好东西的可移植性。

bakefile项目试图这样做(生成独立的项目文件),但它现在似乎已经死了。