| 869 | } |
| 870 | |
| 871 | std::string cmGlobalVisualStudioGenerator::GetGUID( |
| 872 | std::string const& name) const |
| 873 | { |
| 874 | std::string const& guidStoreName = cmStrCat(name, "_GUID_CMAKE"); |
| 875 | if (cmValue storedGUID = |
| 876 | this->CMakeInstance->GetCacheDefinition(guidStoreName)) { |
| 877 | return *storedGUID; |
| 878 | } |
| 879 | // Compute a GUID that is deterministic but unique to the build tree. |
| 880 | std::string input = |
| 881 | cmStrCat(this->CMakeInstance->GetState()->GetBinaryDirectory(), '|', name); |
| 882 | |
| 883 | cmUuid uuidGenerator; |
| 884 | |
| 885 | std::vector<unsigned char> uuidNamespace; |
| 886 | uuidGenerator.StringToBinary("ee30c4be-5192-4fb0-b335-722a2dffe760", |
| 887 | uuidNamespace); |
| 888 | |
| 889 | std::string guid = uuidGenerator.FromMd5(uuidNamespace, input); |
| 890 | |
| 891 | return cmSystemTools::UpperCase(guid); |
| 892 | } |
| 893 | |
| 894 | cm::VS::Solution::Folder* cmGlobalVisualStudioGenerator::CreateSolutionFolder( |
| 895 | cm::VS::Solution& solution, cm::string_view rawName) const |