Generated C# projects all have the same GUID
Using cmake 3.9.1 to generate C# projects for Windows 7, Visual Studio 2015
Base CMakeLists.txt
project (example LANGUAGES CSharp)
add_subdirectory(${CMAKE_SOURCE_DIR}/ProjectA ${CMAKE_BINARY_DIR}/ProjectA)
add_subdirectory(${CMAKE_SOURCE_DIR}/ProjectB ${CMAKE_BINARY_DIR}/ProjectB)
ProjectA/CMakeLists.txt
set (csharp_target_name ProjectA)
add_library(${csharp_target_name} SHARED "${CMAKE_CURRENT_SOURCE_DIR}/File1.cs")
set_target_properties(${csharp_target_name} PROPERTIES
LINKER_LANGUAGE CSharp
VS_DOTNET_TARGET_FRAMEWORK_VERSION "v4.6.1")
set_property(TARGET ${csharp_target_name} PROPERTY VS_DOTNET_REFERENCES
"System.Core"
"System.Xml.Linq"
"System.Data.DataSetExtensions"
"Microsoft.CSharp"
"System.Data"
"System.Xml")
ProjectB/CMakeLists.txt
set (csharp_target_name ProjectB)
add_library(${csharp_target_name} SHARED "${CMAKE_CURRENT_SOURCE_DIR}/File2.cs")
set_target_properties(${csharp_target_name} PROPERTIES
LINKER_LANGUAGE CSharp
VS_DOTNET_TARGET_FRAMEWORK_VERSION "v4.6.1")
set_property(TARGET ${csharp_target_name} PROPERTY VS_DOTNET_REFERENCES
"System.Core"
"System.Xml.Linq"
"System.Data.DataSetExtensions"
"Microsoft.CSharp"
"System.Data"
"System.Xml")
The result is that both ProjectA and ProjectB have the same GUID. This can cause problems within the generated .sln file when attempting to create a project reference.