LLVM 22.0.0git
|
#include "llvm/WindowsDriver/MSVCPaths.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/Program.h"
#include "llvm/Support/VersionTuple.h"
#include "llvm/Support/VirtualFileSystem.h"
#include "llvm/TargetParser/Host.h"
#include "llvm/TargetParser/Triple.h"
#include <optional>
#include <string>
Go to the source code of this file.
Functions | |
static std::string | getHighestNumericTupleInDirectory (llvm::vfs::FileSystem &VFS, llvm::StringRef Directory) |
static bool | getWindows10SDKVersionFromPath (llvm::vfs::FileSystem &VFS, const std::string &SDKPath, std::string &SDKVersion) |
static bool | getWindowsSDKDirViaCommandLine (llvm::vfs::FileSystem &VFS, std::optional< llvm::StringRef > WinSdkDir, std::optional< llvm::StringRef > WinSdkVersion, std::optional< llvm::StringRef > WinSysRoot, std::string &Path, int &Major, std::string &Version) |
static bool | getSystemRegistryString (const char *keyPath, const char *valueName, std::string &value, std::string *phValue) |
Read registry string. |
|
static |
Definition at line 63 of file MSVCPaths.cpp.
References llvm::vfs::FileSystem::dir_begin(), llvm::sys::path::filename(), llvm::vfs::FileSystem::status(), and llvm::StringRef::str().
Referenced by llvm::findVCToolChainViaCommandLine(), getWindows10SDKVersionFromPath(), and getWindowsSDKDirViaCommandLine().
|
static |
Read registry string.
This also supports a means to look for high-versioned keys by use of a $VERSION placeholder in the key path. $VERSION in the key path is a placeholder for the version number, causing the highest value path to be searched for and used. I.e. "SOFTWARE\\Microsoft\\VisualStudio\\$VERSION". There can be additional characters in the component. Only the numeric characters are compared. This function only searches HKLM.
Definition at line 175 of file MSVCPaths.cpp.
References llvm::isDigit().
Referenced by llvm::findVCToolChainViaRegistry(), llvm::getUniversalCRTSdkDir(), and llvm::getWindowsSDKDir().
|
static |
Definition at line 88 of file MSVCPaths.cpp.
References llvm::sys::path::append(), and getHighestNumericTupleInDirectory().
Referenced by llvm::getUniversalCRTSdkDir(), llvm::getWindowsSDKDir(), and getWindowsSDKDirViaCommandLine().
|
static |
Definition at line 97 of file MSVCPaths.cpp.
References llvm::sys::path::append(), llvm::VersionTuple::empty(), llvm::VersionTuple::getAsString(), getHighestNumericTupleInDirectory(), llvm::VersionTuple::getMajor(), getWindows10SDKVersionFromPath(), and llvm::VersionTuple::tryParse().
Referenced by llvm::getUniversalCRTSdkDir(), and llvm::getWindowsSDKDir().