我怎样才能让CMake让“干净”只是一个目标?

问题描述:

我有一个CMakeLists.txt与多个目标,其中一些不是ALL的一部分。我怎样才能让CMake让“干净”只是一个目标?

我希望能够清理(使用make)构建其中一个目标的文件,而不是用于构建第二个目标的文件。

我该怎么办?

我看到两个附加选项:

  1. 使用内部每个生成的目标 - 但遗憾的是无法直接通过make从根访问 - cmake_clean.cmake脚本。所以例如名为foo目标将是:

    cmake -P CMakeFiles/foo.dir/cmake_clean.cmake 
    
  2. 使用的ninja代替make发电机在那里你可以打电话

    ninja -t clean foo