|
|
@@ -165,8 +165,20 @@ private: |
|
|
config->getValue (Ids::useRuntimeLibDLL) = true;
|
|
|
config->getValue (Ids::useRuntimeLibDLL) = true;
|
|
|
|
|
|
|
|
|
if (isVST3)
|
|
|
if (isVST3)
|
|
|
|
|
|
{
|
|
|
if (config->getValue (Ids::postbuildCommand).toString().isEmpty())
|
|
|
if (config->getValue (Ids::postbuildCommand).toString().isEmpty())
|
|
|
config->getValue (Ids::postbuildCommand) = "copy /Y \"$(OutDir)\\$(TargetFileName)\" \"$(OutDir)\\$(TargetName).vst3\"";
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
const String previousBuildCommands = config->getValue (Ids::internalPostBuildComamnd).toString();
|
|
|
|
|
|
|
|
|
|
|
|
String script;
|
|
|
|
|
|
if (previousBuildCommands.isNotEmpty())
|
|
|
|
|
|
script += "\r\n";
|
|
|
|
|
|
|
|
|
|
|
|
script += "copy /Y \"$(OutDir)\\$(TargetFileName)\" \"$(OutDir)\\$(TargetName).vst3\"";
|
|
|
|
|
|
|
|
|
|
|
|
config->getValue (Ids::internalPostBuildComamnd) = previousBuildCommands + script;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -181,6 +193,8 @@ private: |
|
|
|
|
|
|
|
|
if (config->getValue(Ids::postbuildCommand).toString().isEmpty())
|
|
|
if (config->getValue(Ids::postbuildCommand).toString().isEmpty())
|
|
|
{
|
|
|
{
|
|
|
|
|
|
const String previousBuildCommands = config->getValue (Ids::internalPostBuildComamnd).toString();
|
|
|
|
|
|
|
|
|
const bool is64Bit = (config->getValue (Ids::winArchitecture) == "x64");
|
|
|
const bool is64Bit = (config->getValue (Ids::winArchitecture) == "x64");
|
|
|
const String bundleDir = "$(OutDir)\\$(TargetName).aaxplugin";
|
|
|
const String bundleDir = "$(OutDir)\\$(TargetName).aaxplugin";
|
|
|
const String bundleContents = bundleDir + "\\Contents";
|
|
|
const String bundleContents = bundleDir + "\\Contents";
|
|
|
@@ -193,17 +207,20 @@ private: |
|
|
iconFilePath = aaxPath.toString() + String ("\\Utilities\\PlugIn.ico");
|
|
|
iconFilePath = aaxPath.toString() + String ("\\Utilities\\PlugIn.ico");
|
|
|
|
|
|
|
|
|
String script;
|
|
|
String script;
|
|
|
|
|
|
|
|
|
|
|
|
if (previousBuildCommands.isNotEmpty())
|
|
|
|
|
|
script += "\r\n";
|
|
|
|
|
|
|
|
|
script += String ("mkdir \"") + bundleDir + String ("\"\r\n");
|
|
|
script += String ("mkdir \"") + bundleDir + String ("\"\r\n");
|
|
|
script += String ("mkdir \"") + bundleContents + String ("\"\r\n");
|
|
|
script += String ("mkdir \"") + bundleContents + String ("\"\r\n");
|
|
|
script += String ("mkdir \"") + macOSDir + String ("\"\r\n");
|
|
|
script += String ("mkdir \"") + macOSDir + String ("\"\r\n");
|
|
|
script += String ("copy /Y \"$(OutDir)\\$(TargetFileName)\" \"") + executable + String ("\"\r\n");
|
|
|
script += String ("copy /Y \"$(OutDir)\\$(TargetFileName)\" \"") + executable + String ("\"\r\n");
|
|
|
script += bundleScript + String (" \"") + macOSDir + String ("\" \"") + iconFilePath + String ("\"");
|
|
|
script += bundleScript + String (" \"") + macOSDir + String ("\" \"") + iconFilePath + String ("\"");
|
|
|
|
|
|
|
|
|
config->getValue (Ids::postbuildCommand) = script;
|
|
|
|
|
|
|
|
|
config->getValue (Ids::internalPostBuildComamnd) = previousBuildCommands + script;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
msvcExtraPreprocessorDefs.set ("JucePlugin_AAXLibs_path",
|
|
|
msvcExtraPreprocessorDefs.set ("JucePlugin_AAXLibs_path",
|
|
|
createRebasedPath (aaxLibsFolder));
|
|
|
createRebasedPath (aaxLibsFolder));
|
|
|
}
|
|
|
}
|
|
|
@@ -236,10 +253,19 @@ private: |
|
|
config->getValue (Ids::useRuntimeLibDLL) = true;
|
|
|
config->getValue (Ids::useRuntimeLibDLL) = true;
|
|
|
|
|
|
|
|
|
if (config->getValue (Ids::postbuildCommand).toString().isEmpty())
|
|
|
if (config->getValue (Ids::postbuildCommand).toString().isEmpty())
|
|
|
config->getValue (Ids::postbuildCommand)
|
|
|
|
|
|
= "copy /Y "
|
|
|
|
|
|
+ modulePath.getChildFile ("juce_RTAS_WinResources.rsr").toWindowsStyle().quoted()
|
|
|
|
|
|
+ " \"$(TargetPath)\".rsr";
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
const String previousBuildCommands = config->getValue (Ids::internalPostBuildComamnd).toString();
|
|
|
|
|
|
|
|
|
|
|
|
String script;
|
|
|
|
|
|
if (previousBuildCommands.isNotEmpty())
|
|
|
|
|
|
script += "\r\n";
|
|
|
|
|
|
|
|
|
|
|
|
script += "copy /Y "
|
|
|
|
|
|
+ modulePath.getChildFile("juce_RTAS_WinResources.rsr").toWindowsStyle().quoted()
|
|
|
|
|
|
+ " \"$(TargetPath)\".rsr";
|
|
|
|
|
|
|
|
|
|
|
|
config->getValue (Ids::internalPostBuildComamnd) = previousBuildCommands + script;
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
RelativePath juceWrapperFolder (project.getGeneratedCodeFolder(),
|
|
|
RelativePath juceWrapperFolder (project.getGeneratedCodeFolder(),
|
|
|
@@ -355,6 +381,8 @@ protected: |
|
|
Value getPostbuildCommand() { return getValue (Ids::postbuildCommand); }
|
|
|
Value getPostbuildCommand() { return getValue (Ids::postbuildCommand); }
|
|
|
String getPostbuildCommandString() const { return config [Ids::postbuildCommand]; }
|
|
|
String getPostbuildCommandString() const { return config [Ids::postbuildCommand]; }
|
|
|
|
|
|
|
|
|
|
|
|
Value getInternalPostbuildCommands() { return getValue (Ids::internalPostBuildComamnd); }
|
|
|
|
|
|
|
|
|
Value shouldGenerateDebugSymbolsValue() { return getValue (Ids::alwaysGenerateDebugSymbols); }
|
|
|
Value shouldGenerateDebugSymbolsValue() { return getValue (Ids::alwaysGenerateDebugSymbols); }
|
|
|
bool shouldGenerateDebugSymbols() const { return config [Ids::alwaysGenerateDebugSymbols]; }
|
|
|
bool shouldGenerateDebugSymbols() const { return config [Ids::alwaysGenerateDebugSymbols]; }
|
|
|
|
|
|
|
|
|
@@ -1610,10 +1638,11 @@ protected: |
|
|
->createNewChildElement ("Command")
|
|
|
->createNewChildElement ("Command")
|
|
|
->addTextElement (config.getPrebuildCommandString());
|
|
|
->addTextElement (config.getPrebuildCommandString());
|
|
|
|
|
|
|
|
|
if (config.getPostbuildCommandString().isNotEmpty())
|
|
|
|
|
|
|
|
|
const String internalPostBuildScripts = config.config[Ids::internalPostBuildComamnd].toString();
|
|
|
|
|
|
if (config.getPostbuildCommandString().isNotEmpty() || internalPostBuildScripts.isNotEmpty())
|
|
|
group->createNewChildElement ("PostBuildEvent")
|
|
|
group->createNewChildElement ("PostBuildEvent")
|
|
|
->createNewChildElement ("Command")
|
|
|
->createNewChildElement ("Command")
|
|
|
->addTextElement (config.getPostbuildCommandString());
|
|
|
|
|
|
|
|
|
->addTextElement (config.getPostbuildCommandString() + internalPostBuildScripts);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
ScopedPointer<XmlElement> otherFilesGroup (new XmlElement ("ItemGroup"));
|
|
|
ScopedPointer<XmlElement> otherFilesGroup (new XmlElement ("ItemGroup"));
|
|
|
|