Czy mogę uzyskać GUID wygenerowany przez CMake dla konkretnego vcproj w czasie cmake?

Preambuła: Próbuję zintegrować mój csproj C # z resztą naszej kompilacji cmake z kodem bazowym C ++ i C ++ / CLI. Otrzymałem radę, aby tego nie robić, ponieważ CMake nie współpracuje dobrze z .NET w Visual Studio, ale po wdrożeniu pewnych dostosowań czuję, że jestem bardzo blisko.

Część moich dostosowań polega na użyciu polecenia configure_file w celu edycji pliku csproj w czasie CMake, aby dostosować go w zależności od typu kompilacji (np. X86, x64).

Problem polega na tym, że używam niektórych znaczników ProjectReference w odniesieniu do projektów C ++ / CLI:

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

... i identyfikatory GUID nie mogą pozostać statyczne, ponieważ zmieniają się dla projektu, gdy bufor CMake jest odbudowywany (popraw mnie, jeśli się mylę).

Tak więc chciałbym znaleźć czas w CMake na to, jakie GUID są planowane dla tych projektów i odpowiednio edytować plik vcproj.

Google informuje mnie, że ludzie są w stanie użyć 'set_property', aby ustawić GUID, w ten sposób:

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

... ale nie mogę znaleźć odpowiednika gettera. Próbowałem takich rzeczy:

get_property (WRAPPER_GUID CACHE INTERNAL PROPERTY WrapperTargetName_GUID_CMAKE)

... bez szczęścia. Twoja pomoc jest doceniana!

questionAnswers(2)

yourAnswerToTheQuestion