mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-09 23:34:20 +00:00
Projucer (MSVC): Add setting to control intrinsic functions optimisation flag
This commit is contained in:
parent
6212a4c81f
commit
f3840561b5
2 changed files with 10 additions and 1 deletions
|
|
@ -478,6 +478,7 @@ public:
|
||||||
fastMathValue (config, Ids::fastMath, getUndoManager()),
|
fastMathValue (config, Ids::fastMath, getUndoManager()),
|
||||||
debugInformationFormatValue (config, Ids::debugInformationFormat, getUndoManager(), "ProgramDatabase"),
|
debugInformationFormatValue (config, Ids::debugInformationFormat, getUndoManager(), "ProgramDatabase"),
|
||||||
pluginBinaryCopyStepValue (config, Ids::enablePluginBinaryCopyStep, getUndoManager(), false),
|
pluginBinaryCopyStepValue (config, Ids::enablePluginBinaryCopyStep, getUndoManager(), false),
|
||||||
|
intrinsicFunctionsEnabledValue (config, Ids::intrinsicFunctions, getUndoManager(), false),
|
||||||
vstBinaryLocation (config, Ids::vstBinaryLocation, getUndoManager()),
|
vstBinaryLocation (config, Ids::vstBinaryLocation, getUndoManager()),
|
||||||
vst3BinaryLocation (config, Ids::vst3BinaryLocation, getUndoManager()),
|
vst3BinaryLocation (config, Ids::vst3BinaryLocation, getUndoManager()),
|
||||||
aaxBinaryLocation (config, Ids::aaxBinaryLocation, getUndoManager()),
|
aaxBinaryLocation (config, Ids::aaxBinaryLocation, getUndoManager()),
|
||||||
|
|
@ -577,6 +578,7 @@ public:
|
||||||
bool shouldUseMultiProcessorCompilation() const { return multiProcessorCompilationValue.get(); }
|
bool shouldUseMultiProcessorCompilation() const { return multiProcessorCompilationValue.get(); }
|
||||||
bool isFastMathEnabled() const { return fastMathValue.get(); }
|
bool isFastMathEnabled() const { return fastMathValue.get(); }
|
||||||
bool isPluginBinaryCopyStepEnabled() const { return pluginBinaryCopyStepValue.get(); }
|
bool isPluginBinaryCopyStepEnabled() const { return pluginBinaryCopyStepValue.get(); }
|
||||||
|
bool isIntrinsicFunctionsEnabled() const { return intrinsicFunctionsEnabledValue.get(); }
|
||||||
|
|
||||||
static bool shouldBuildTarget (build_tools::ProjectType::Target::Type targetType, Architecture arch)
|
static bool shouldBuildTarget (build_tools::ProjectType::Target::Type targetType, Architecture arch)
|
||||||
{
|
{
|
||||||
|
|
@ -649,6 +651,9 @@ public:
|
||||||
{ optimisationOff, optimiseMinSize, optimiseMaxSpeed, optimiseFull }),
|
{ optimisationOff, optimiseMinSize, optimiseMaxSpeed, optimiseFull }),
|
||||||
"The optimisation level for this configuration");
|
"The optimisation level for this configuration");
|
||||||
|
|
||||||
|
props.add (new ChoicePropertyComponent (intrinsicFunctionsEnabledValue, "Intrinsic Functions"),
|
||||||
|
"Replaces some function calls with intrinsic or otherwise special forms of the function that help your application run faster.");
|
||||||
|
|
||||||
props.add (new TextPropertyComponent (intermediatesPathValue, "Intermediates Path", 2048, false),
|
props.add (new TextPropertyComponent (intermediatesPathValue, "Intermediates Path", 2048, false),
|
||||||
"An optional path to a folder to use for the intermediate build files. Note that Visual Studio allows "
|
"An optional path to a folder to use for the intermediate build files. Note that Visual Studio allows "
|
||||||
"you to use macros in this path, e.g. \"$(TEMP)\\MyAppBuildFiles\\$(Configuration)\", which is a handy way to "
|
"you to use macros in this path, e.g. \"$(TEMP)\\MyAppBuildFiles\\$(Configuration)\", which is a handy way to "
|
||||||
|
|
@ -749,7 +754,7 @@ public:
|
||||||
ValueTreePropertyWithDefault warningLevelValue, warningsAreErrorsValue, prebuildCommandValue, postbuildCommandValue, generateDebugSymbolsValue,
|
ValueTreePropertyWithDefault warningLevelValue, warningsAreErrorsValue, prebuildCommandValue, postbuildCommandValue, generateDebugSymbolsValue,
|
||||||
enableIncrementalLinkingValue, useRuntimeLibDLLValue, multiProcessorCompilationValue,
|
enableIncrementalLinkingValue, useRuntimeLibDLLValue, multiProcessorCompilationValue,
|
||||||
intermediatesPathValue, characterSetValue, architectureTypeValue, fastMathValue, debugInformationFormatValue,
|
intermediatesPathValue, characterSetValue, architectureTypeValue, fastMathValue, debugInformationFormatValue,
|
||||||
pluginBinaryCopyStepValue;
|
pluginBinaryCopyStepValue, intrinsicFunctionsEnabledValue;
|
||||||
|
|
||||||
struct LocationProperties
|
struct LocationProperties
|
||||||
{
|
{
|
||||||
|
|
@ -1117,6 +1122,9 @@ public:
|
||||||
|
|
||||||
auto cppStandard = owner.project.getCppStandardString();
|
auto cppStandard = owner.project.getCppStandardString();
|
||||||
cl->createNewChildElement ("LanguageStandard")->addTextElement ("stdcpp" + cppStandard);
|
cl->createNewChildElement ("LanguageStandard")->addTextElement ("stdcpp" + cppStandard);
|
||||||
|
|
||||||
|
if (config.isIntrinsicFunctionsEnabled())
|
||||||
|
cl->createNewChildElement ("IntrinsicFunctions")->addTextElement ("true");
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -125,6 +125,7 @@ namespace Ids
|
||||||
DECLARE_ID (cppLibType);
|
DECLARE_ID (cppLibType);
|
||||||
DECLARE_ID (codeSigningIdentity);
|
DECLARE_ID (codeSigningIdentity);
|
||||||
DECLARE_ID (fastMath);
|
DECLARE_ID (fastMath);
|
||||||
|
DECLARE_ID (intrinsicFunctions);
|
||||||
DECLARE_ID (linkTimeOptimisation);
|
DECLARE_ID (linkTimeOptimisation);
|
||||||
DECLARE_ID (vstBinaryLocation);
|
DECLARE_ID (vstBinaryLocation);
|
||||||
DECLARE_ID (vst3BinaryLocation);
|
DECLARE_ID (vst3BinaryLocation);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue