MCPcopy Create free account
hub / github.com/Kitware/CMake / ParseFinish

Method ParseFinish

Source/cmVisualStudioGeneratorOptions.cxx:243–275  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

241}
242
243void cmVisualStudioGeneratorOptions::ParseFinish()
244{
245 if (this->CurrentTool == FortranCompiler) {
246 // "RuntimeLibrary" attribute values:
247 // "rtMultiThreaded", "0", /threads /libs:static
248 // "rtMultiThreadedDLL", "2", /threads /libs:dll
249 // "rtMultiThreadedDebug", "1", /threads /dbglibs /libs:static
250 // "rtMultiThreadedDebugDLL", "3", /threads /dbglibs /libs:dll
251 // These seem unimplemented by the IDE:
252 // "rtSingleThreaded", "4", /libs:static
253 // "rtSingleThreadedDLL", "10", /libs:dll
254 // "rtSingleThreadedDebug", "5", /dbglibs /libs:static
255 // "rtSingleThreadedDebugDLL", "11", /dbglibs /libs:dll
256 std::string rl =
257 cmStrCat("rtMultiThreaded", this->FortranRuntimeDebug ? "Debug" : "",
258 this->FortranRuntimeDLL ? "DLL" : "");
259 this->FlagMap["RuntimeLibrary"] = rl;
260 }
261
262 if (this->CurrentTool == CudaCompiler) {
263 auto i = this->FlagMap.find("CudaRuntime");
264 if (i != this->FlagMap.end() && i->second.size() == 1) {
265 std::string& cudaRuntime = i->second[0];
266 if (cudaRuntime == "static"_s) {
267 cudaRuntime = "Static";
268 } else if (cudaRuntime == "shared"_s) {
269 cudaRuntime = "Shared";
270 } else if (cudaRuntime == "none"_s) {
271 cudaRuntime = "None";
272 }
273 }
274 }
275}
276
277void cmVisualStudioGeneratorOptions::PrependInheritedString(
278 std::string const& key)

Callers 2

WriteConfigurationMethod · 0.80
ComputeCudaOptionsMethod · 0.80

Calls 4

cmStrCatFunction · 0.70
findMethod · 0.45
endMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected