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!