Posso obter o GUID gerado pelo CMake para um vcproj específico no momento do cmake?

Preâmbulo: Eu estou tentando integrar o meu csproj c # com o resto da nossa compilação cmake de base de código C ++ e C ++ / CLI. Recebi conselhos contra tentar fazer isso, porque o CMake não coopera bem com o .NET no Visual Studio, mas depois de implementar algumas personalizações, sinto que estou muito próximo.

Parte da minha personalização é usar o comando configure_file para editar o arquivo csproj no momento do CMake, para personalizá-lo dependendo do tipo de compilação (por exemplo, x86, x64) que está acontecendo.

O problema é que eu uso algumas tags ProjectReference para referenciar os projetos C ++ / CLI:

<ProjectReference Include="..\..\WrapperProject\WrapperProject.vcproj">
  <Project>{7BD6E175-CDD1-4F8D-A3B2-0AC862E62C03}</Project>
  <Name>WrapperProject</Name>
</ProjectReference>

... e os GUIDs não podem permanecer estáticos, já que eles mudam para o projeto sempre que o cache do CMake é reconstruído (corrija-me se estiver enganado).

Então, o que eu gostaria de fazer é encontrar no CMake time quais GUIDs estão planejados para esses projetos e editar o arquivo vcproj adequadamente.

O Google me diz que as pessoas podem usar 'set_property' para definir o GUID, assim:

set_property(CACHE ${target_name}_GUID_CMAKE PROPERTY VALUE ${MY_GUID} )

... mas não consigo encontrar o equivalente de getter. Eu tentei coisas assim:

get_property (WRAPPER_GUID PROPRIEDADE INTERNA CACHE WrapperTargetName_GUID_CMAKE)

... sem sorte. Sua ajuda é apreciada!

questionAnswers(2)

yourAnswerToTheQuestion