1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-26 02:14:22 +00:00

Introjucer: VC option for forcing debug symbols.

This commit is contained in:
jules 2013-01-12 20:59:23 +00:00
parent 222803084b
commit 2c8b5a37af
2 changed files with 11 additions and 4 deletions

View file

@ -139,14 +139,17 @@ protected:
setValueIfVoid (shouldGenerateManifestValue(), true);
}
Value getWarningLevelValue() { return getValue (Ids::winWarningLevel); }
int getWarningLevel() const { return config [Ids::winWarningLevel]; }
Value getWarningLevelValue() { return getValue (Ids::winWarningLevel); }
int getWarningLevel() const { return config [Ids::winWarningLevel]; }
Value getPrebuildCommand() { return getValue (Ids::prebuildCommand); }
String getPrebuildCommandString() const { return config [Ids::prebuildCommand]; }
Value getPostbuildCommand() { return getValue (Ids::postbuildCommand); }
String getPostbuildCommandString() const { return config [Ids::postbuildCommand]; }
Value shouldGenerateDebugSymbolsValue() { return getValue (Ids::alwaysGenerateDebugSymbols); }
bool shouldGenerateDebugSymbols() const { return config [Ids::alwaysGenerateDebugSymbols]; }
Value shouldGenerateManifestValue() { return getValue (Ids::generateManifest); }
bool shouldGenerateManifest() const { return config [Ids::generateManifest]; }
@ -191,6 +194,9 @@ protected:
StringArray (wpoNames), Array<var> (wpoValues, numElementsInArray (wpoValues))));
}
if (! isDebug())
props.add (new BooleanPropertyComponent (shouldGenerateDebugSymbolsValue(), "Debug Symbols", "Force generation of debug symbols"));
props.add (new TextPropertyComponent (getPrebuildCommand(), "Pre-build Command", 2048, false));
props.add (new TextPropertyComponent (getPostbuildCommand(), "Post-build Command", 2048, false));
props.add (new BooleanPropertyComponent (shouldGenerateManifestValue(), "Manifest", "Generate Manifest"));
@ -787,7 +793,7 @@ protected:
linker->setAttribute ("SuppressStartupBanner", "true");
linker->setAttribute ("IgnoreDefaultLibraryNames", isDebug ? "libcmt.lib, msvcrt.lib" : "");
linker->setAttribute ("GenerateDebugInformation", isDebug ? "true" : "false");
linker->setAttribute ("GenerateDebugInformation", (isDebug || config.shouldGenerateDebugSymbols()) ? "true" : "false");
linker->setAttribute ("ProgramDatabaseFile", getIntDirFile (config.getOutputFilename (".pdb", true)));
linker->setAttribute ("SubSystem", msvcIsWindowsSubsystem ? "2" : "1");
@ -1191,7 +1197,7 @@ protected:
link->createNewChildElement ("SuppressStartupBanner")->addTextElement ("true");
link->createNewChildElement ("IgnoreSpecificDefaultLibraries")->addTextElement (isDebug ? "libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries)"
: "%(IgnoreSpecificDefaultLibraries)");
link->createNewChildElement ("GenerateDebugInformation")->addTextElement (isDebug ? "true" : "false");
link->createNewChildElement ("GenerateDebugInformation")->addTextElement ((isDebug || config.shouldGenerateDebugSymbols()) ? "true" : "false");
link->createNewChildElement ("ProgramDatabaseFile")->addTextElement (getIntDirFile (config.getOutputFilename (".pdb", true)));
link->createNewChildElement ("SubSystem")->addTextElement (msvcIsWindowsSubsystem ? "Windows" : "Console");

View file

@ -60,6 +60,7 @@ namespace Ids
DECLARE_ID (projectType);
DECLARE_ID (libraryType);
DECLARE_ID (isDebug);
DECLARE_ID (alwaysGenerateDebugSymbols);
DECLARE_ID (targetName);
DECLARE_ID (binaryPath);
DECLARE_ID (optimisation);