Browse Source

Introjucer fix for plugin builds in MSVC.

tags/2021-05-28
jules 14 years ago
parent
commit
5567e16566
10 changed files with 31 additions and 145 deletions
  1. +1
    -0
      extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h
  2. +1
    -0
      extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h
  3. +1
    -0
      extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Make.h
  4. +1
    -0
      extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h
  5. +1
    -0
      extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.h
  6. +25
    -22
      extras/Introjucer/Source/Project/jucer_Module.cpp
  7. +0
    -1
      extras/Introjucer/Source/Project/jucer_Module.h
  8. +1
    -2
      extras/JuceDemo/Builds/Android/AndroidManifest.xml
  9. +0
    -60
      extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj
  10. +0
    -60
      extras/audio plugin demo/Builds/VisualStudio2008/JuceDemoPlugin.vcproj

+ 1
- 0
extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h View File

@@ -78,6 +78,7 @@ public:
bool isPossibleForCurrentProject() { return projectType.isGUIApplication(); }
bool usesMMFiles() const { return false; }
bool canCopeWithDuplicateFiles() { return false; }
void launchProject()
{


+ 1
- 0
extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h View File

@@ -50,6 +50,7 @@ public:
bool isPossibleForCurrentProject() { return true; }
bool usesMMFiles() const { return false; }
bool isVisualStudio() const { return true; }
bool canCopeWithDuplicateFiles() { return false; }
void createPropertyEditors (Array <PropertyComponent*>& props)
{


+ 1
- 0
extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Make.h View File

@@ -69,6 +69,7 @@ public:
bool isPossibleForCurrentProject() { return true; }
bool usesMMFiles() const { return false; }
bool isLinux() const { return true; }
bool canCopeWithDuplicateFiles() { return false; }
void launchProject()
{


+ 1
- 0
extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h View File

@@ -87,6 +87,7 @@ public:
bool usesMMFiles() const { return true; }
bool isXcode() const { return true; }
bool isOSX() const { return ! iOS; }
bool canCopeWithDuplicateFiles() { return true; }
void createPropertyEditors (Array <PropertyComponent*>& props)
{


+ 1
- 0
extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.h View File

@@ -59,6 +59,7 @@ public:
virtual void launchProject() = 0;
virtual void create() = 0; // may throw a SaveError
virtual bool shouldFileBeCompiledByDefault (const RelativePath& path) const;
virtual bool canCopeWithDuplicateFiles() = 0;
virtual bool isXcode() const { return false; }
virtual bool isVisualStudio() const { return false; }


+ 25
- 22
extras/Introjucer/Source/Project/jucer_Module.cpp View File

@@ -595,25 +595,6 @@ void LibraryModule::findWildcardMatches (const File& localModuleFolder, const St
result.addArray (tempList);
}
void LibraryModule::addFileWithGroups (Project::Item& group, const RelativePath& file, const String& path) const
{
const int slash = path.indexOfChar (File::separator);
if (slash >= 0)
{
const String topLevelGroup (path.substring (0, slash));
const String remainingPath (path.substring (slash + 1));
Project::Item newGroup (group.getOrCreateSubGroup (topLevelGroup));
addFileWithGroups (newGroup, file, remainingPath);
}
else
{
if (! group.containsChildForFile (file))
group.addRelativeFile (file, -1, false);
}
}
void LibraryModule::findAndAddCompiledCode (ProjectExporter& exporter, ProjectSaver& projectSaver,
const File& localModuleFolder, Array<File>& result) const
{
@@ -645,6 +626,25 @@ void LibraryModule::findAndAddCompiledCode (ProjectExporter& exporter, ProjectSa
}
}
static void addFileWithGroups (Project::Item& group, const RelativePath& file, const String& path)
{
const int slash = path.indexOfChar (File::separator);
if (slash >= 0)
{
const String topLevelGroup (path.substring (0, slash));
const String remainingPath (path.substring (slash + 1));
Project::Item newGroup (group.getOrCreateSubGroup (topLevelGroup));
addFileWithGroups (newGroup, file, remainingPath);
}
else
{
if (! group.containsChildForFile (file))
group.addRelativeFile (file, -1, false);
}
}
void LibraryModule::addBrowsableCode (ProjectExporter& exporter, const Array<File>& compiled, const File& localModuleFolder) const
{
if (sourceFiles.size() == 0)
@@ -664,9 +664,12 @@ void LibraryModule::addBrowsableCode (ProjectExporter& exporter, const Array<Fil
{
const String pathWithinModule (sourceFiles.getReference(i).getRelativePathFrom (localModuleFolder));
addFileWithGroups (sourceGroup,
moduleFromProject.getChildFile (pathWithinModule),
pathWithinModule);
// (Note: in exporters like MSVC we have to avoid adding the same file twice, even if one of those instances
// is flagged as being excluded from the build, because this overrides the other and it fails to compile)
if (exporter.canCopeWithDuplicateFiles() || ! compiled.contains (sourceFiles.getReference(i)))
addFileWithGroups (sourceGroup,
moduleFromProject.getChildFile (pathWithinModule),
pathWithinModule);
}
sourceGroup.addFile (localModuleFolder.getChildFile (moduleFile.getRelativePathFrom (moduleFolder)), -1, false);


+ 0
- 1
extras/Introjucer/Source/Project/jucer_Module.h View File

@@ -71,7 +71,6 @@ private:
};
void findWildcardMatches (const File& localModuleFolder, const String& wildcardPath, Array<File>& result) const;
void addFileWithGroups (Project::Item& group, const RelativePath& file, const String& path) const;
void findAndAddCompiledCode (ProjectExporter& exporter, ProjectSaver& projectSaver, const File& localModuleFolder, Array<File>& result) const;
void addBrowsableCode (ProjectExporter& exporter, const Array<File>& compiled, const File& localModuleFolder) const;
void createLocalHeaderWrapper (ProjectSaver& projectSaver, const File& originalHeader, const File& localHeader) const;


+ 1
- 2
extras/JuceDemo/Builds/Android/AndroidManifest.xml View File

@@ -2,8 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0"
package="com.juce">
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true"
android:anyDensity="true"/>
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application android:label="@string/app_name" android:icon="@drawable/icon">
<activity android:name="JuceAppActivity" android:label="@string/app_name">


+ 0
- 60
extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj View File

@@ -770,70 +770,10 @@
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\AU\juce_AU_Wrapper.mm"/>
</Filter>
<Filter Name="RTAS">
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode1.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode2.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode3.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_WinUtilities.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_Wrapper.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_MacUtilities.mm"/>
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode_Header.h"/>
</Filter>
<Filter Name="VST">
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\VST\juce_VST_Wrapper.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\VST\juce_VST_Wrapper.mm"/>
</Filter>
<Filter Name="utility">


+ 0
- 60
extras/audio plugin demo/Builds/VisualStudio2008/JuceDemoPlugin.vcproj View File

@@ -770,70 +770,10 @@
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\AU\juce_AU_Wrapper.mm"/>
</Filter>
<Filter Name="RTAS">
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode1.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode2.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode3.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_WinUtilities.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_Wrapper.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_MacUtilities.mm"/>
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode_Header.h"/>
</Filter>
<Filter Name="VST">
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\VST\juce_VST_Wrapper.cpp">
<FileConfiguration Name="Debug|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32"
ExcludedFromBuild="true">
<Tool Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\..\modules\juce_audio_plugin_client\VST\juce_VST_Wrapper.mm"/>
</Filter>
<Filter Name="utility">


Loading…
Cancel
Save