mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-28 02:30:05 +00:00
Projucer: Avoid hitting some assertions in File::parseAbsolutePath() when searching for the DemoRunner on Windows
This commit is contained in:
parent
98def04379
commit
9684de485c
1 changed files with 17 additions and 4 deletions
|
|
@ -733,11 +733,13 @@ static String getPlatformSpecificFileExtension()
|
|||
|
||||
static File getPlatformSpecificProjectFolder()
|
||||
{
|
||||
auto buildsFolder = getJUCEExamplesDirectoryPathFromGlobal().getChildFile ("DemoRunner").getChildFile ("Builds");
|
||||
auto examplesDir = getJUCEExamplesDirectoryPathFromGlobal();
|
||||
|
||||
if (! buildsFolder.exists())
|
||||
if (examplesDir == File())
|
||||
return {};
|
||||
|
||||
auto buildsFolder = examplesDir.getChildFile ("DemoRunner").getChildFile ("Builds");
|
||||
|
||||
#if JUCE_MAC
|
||||
return buildsFolder.getChildFile ("MacOSX");
|
||||
#elif JUCE_WINDOWS
|
||||
|
|
@ -754,6 +756,9 @@ static File tryToFindDemoRunnerExecutableInBuilds()
|
|||
{
|
||||
auto projectFolder = getPlatformSpecificProjectFolder();
|
||||
|
||||
if (projectFolder == File())
|
||||
return {};
|
||||
|
||||
#if JUCE_MAC
|
||||
projectFolder = projectFolder.getChildFile ("build");
|
||||
auto demoRunnerExecutable = projectFolder.getChildFile ("Release").getChildFile ("DemoRunner.app");
|
||||
|
|
@ -822,12 +827,13 @@ File ProjucerApplication::tryToFindDemoRunnerExecutable()
|
|||
if (hasScannedForDemoRunnerExecutable)
|
||||
return lastDemoRunnerExectuableFile;
|
||||
|
||||
hasScannedForDemoRunnerExecutable = true;
|
||||
|
||||
auto demoRunnerExecutable = tryToFindDemoRunnerExecutableInBuilds();
|
||||
|
||||
if (demoRunnerExecutable == File())
|
||||
demoRunnerExecutable = tryToFindPrebuiltDemoRunnerExecutable();
|
||||
|
||||
hasScannedForDemoRunnerExecutable = true;
|
||||
lastDemoRunnerExectuableFile = demoRunnerExecutable;
|
||||
|
||||
return demoRunnerExecutable;
|
||||
|
|
@ -840,8 +846,16 @@ File ProjucerApplication::tryToFindDemoRunnerProject()
|
|||
if (hasScannedForDemoRunnerProject)
|
||||
return lastDemoRunnerProjectFile;
|
||||
|
||||
hasScannedForDemoRunnerProject = true;
|
||||
|
||||
auto projectFolder = getPlatformSpecificProjectFolder();
|
||||
|
||||
if (projectFolder == File())
|
||||
{
|
||||
lastDemoRunnerProjectFile = {};
|
||||
return {};
|
||||
}
|
||||
|
||||
#if JUCE_MAC
|
||||
auto demoRunnerProjectFile = projectFolder.getChildFile ("DemoRunner.xcodeproj");
|
||||
#elif JUCE_WINDOWS
|
||||
|
|
@ -857,7 +871,6 @@ File ProjucerApplication::tryToFindDemoRunnerProject()
|
|||
#endif
|
||||
demoRunnerProjectFile = File();
|
||||
|
||||
hasScannedForDemoRunnerProject = true;
|
||||
lastDemoRunnerProjectFile = demoRunnerProjectFile;
|
||||
|
||||
return demoRunnerProjectFile;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue