| 241 | } |
| 242 | |
| 243 | void 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 | |
| 277 | void cmVisualStudioGeneratorOptions::PrependInheritedString( |
| 278 | std::string const& key) |
no test coverage detected