Add build setting for target CPU architecture in C++ compile environment
This commit is contained in:
@@ -327,7 +327,7 @@ namespace Flax.Build.Projects.VisualStudio
|
||||
vcFiltersFileContent.AppendLine(" </ItemGroup>");
|
||||
|
||||
// IntelliSense information
|
||||
|
||||
var additionalDefinitions = project.Defines.ToList();
|
||||
var additionalOptions = new List<string>();
|
||||
switch (project.Configurations[0].TargetBuildOptions.CompileEnv.CppVersion)
|
||||
{
|
||||
@@ -345,8 +345,28 @@ namespace Flax.Build.Projects.VisualStudio
|
||||
break;
|
||||
}
|
||||
|
||||
switch (project.Configurations[0].TargetBuildOptions.CompileEnv.Architecture)
|
||||
{
|
||||
case CpuArchitecture.Default:
|
||||
break;
|
||||
case CpuArchitecture.AVX512:
|
||||
additionalDefinitions.Add("__AVX512F__");
|
||||
additionalDefinitions.Add("__AVX512CD__");
|
||||
additionalDefinitions.Add("__AVX512BW__");
|
||||
additionalDefinitions.Add("__AVX512DQ__");
|
||||
additionalDefinitions.Add("__AVX512VL__");
|
||||
goto case CpuArchitecture.AVX2;
|
||||
case CpuArchitecture.AVX2:
|
||||
additionalDefinitions.Add("__AVX2__");
|
||||
goto case CpuArchitecture.AVX;
|
||||
case CpuArchitecture.AVX:
|
||||
additionalDefinitions.Add("__AVX__");
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
vcProjectFileContent.AppendLine(" <PropertyGroup>");
|
||||
vcProjectFileContent.AppendLine(string.Format(" <NMakePreprocessorDefinitions>$(NMakePreprocessorDefinitions){0}</NMakePreprocessorDefinitions>", (project.Defines.Count > 0 ? (";" + string.Join(";", project.Defines)) : "")));
|
||||
vcProjectFileContent.AppendLine(string.Format(" <NMakePreprocessorDefinitions>$(NMakePreprocessorDefinitions){0}</NMakePreprocessorDefinitions>", (additionalDefinitions.Count > 0 ? (";" + string.Join(";", additionalDefinitions)) : "")));
|
||||
vcProjectFileContent.AppendLine(string.Format(" <NMakeIncludeSearchPath>$(NMakeIncludeSearchPath){0}</NMakeIncludeSearchPath>", (project.SearchPaths.Length > 0 ? (";" + string.Join(";", project.SearchPaths)) : "")));
|
||||
vcProjectFileContent.AppendLine(" <NMakeForcedIncludes>$(NMakeForcedIncludes)</NMakeForcedIncludes>");
|
||||
vcProjectFileContent.AppendLine(" <NMakeAssemblySearchPath>$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>");
|
||||
|
||||
Reference in New Issue
Block a user