1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-15 03:48:02 +08:00

VS: Add support for (lib)fuzzer /fsanitize=fuzzer flag

This commit is contained in:
Fredrik Claesson
2022-07-13 16:12:15 +02:00
parent 6a35e799fd
commit feeb9ae4ba
2 changed files with 10 additions and 0 deletions

View File

@@ -1557,6 +1557,10 @@ void cmVisualStudio10TargetGenerator::WriteMSToolConfigurationValues(
this->ASanEnabledConfigurations.end()) {
e1.Element("EnableAsan", "true");
}
if (this->FuzzerEnabledConfigurations.find(config) !=
this->FuzzerEnabledConfigurations.end()) {
e1.Element("EnableFuzzer", "true");
}
{
auto s = this->SpectreMitigation.find(config);
if (s != this->SpectreMitigation.end()) {
@@ -3315,6 +3319,11 @@ bool cmVisualStudio10TargetGenerator::ComputeClOptions(
this->ASanEnabledConfigurations.insert(configName);
}
// Check if (lib)Fuzzer is enabled.
if (flags.find("/fsanitize=fuzzer") != std::string::npos) {
this->FuzzerEnabledConfigurations.insert(configName);
}
// Precompile Headers
std::string pchHeader =
this->GeneratorTarget->GetPchHeader(configName, linkLanguage);

View File

@@ -231,6 +231,7 @@ private:
bool TargetCompileAsWinRT;
std::set<std::string> IPOEnabledConfigurations;
std::set<std::string> ASanEnabledConfigurations;
std::set<std::string> FuzzerEnabledConfigurations;
std::map<std::string, std::string> SpectreMitigation;
cmGlobalVisualStudio10Generator* const GlobalGenerator;
cmLocalVisualStudio10Generator* const LocalGenerator;