Browse Source

Projucer: Fixed a bug in the VS exporter where link time optimisation settings were being ignored

tags/2021-05-28
ed 8 years ago
parent
commit
370cf229c6
1 changed files with 7 additions and 4 deletions
  1. +7
    -4
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h

+ 7
- 4
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h View File

@@ -167,7 +167,10 @@ public:
setValueIfVoid (getPluginBinaryCopyStepEnabledValue(), false);
if (! isDebug())
{
updateOldLTOSetting();
setValueIfVoid (getLinkTimeOptimisationEnabledValue(), true);
}
initialisePluginCachedValues();
}
@@ -334,7 +337,8 @@ public:
//==============================================================================
void updateOldLTOSetting()
{
getLinkTimeOptimisationEnabledValue() = (static_cast<int> (config ["wholeProgramOptimisation"]) == 0);
if (config.getPropertyAsValue ("wholeProgramOptimisation", nullptr) != Value())
getLinkTimeOptimisationEnabledValue() = (static_cast<int> (config ["wholeProgramOptimisation"]) == 0);
}
void addVisualStudioPluginInstallPathProperties (PropertyListBuilder& props)
@@ -441,15 +445,14 @@ public:
e->setAttribute ("Label", "Configuration");
e->createNewChildElement ("ConfigurationType")->addTextElement (getProjectType());
e->createNewChildElement ("UseOfMfc")->addTextElement ("false");
e->createNewChildElement ("WholeProgramOptimization")->addTextElement (config.isLinkTimeOptimisationEnabled() ? "true"
: "false");
const String charSet (config.getCharacterSet());
if (charSet.isNotEmpty())
e->createNewChildElement ("CharacterSet")->addTextElement (charSet);
if (config.isLinkTimeOptimisationEnabled())
e->createNewChildElement ("WholeProgramOptimization")->addTextElement ("true");
if (config.shouldLinkIncremental())
e->createNewChildElement ("LinkIncremental")->addTextElement ("true");


Loading…
Cancel
Save