| @@ -78,6 +78,7 @@ public: | |||
| bool isPossibleForCurrentProject() { return projectType.isGUIApplication(); } | |||
| bool usesMMFiles() const { return false; } | |||
| bool canCopeWithDuplicateFiles() { return false; } | |||
| void launchProject() | |||
| { | |||
| @@ -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) | |||
| { | |||
| @@ -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() | |||
| { | |||
| @@ -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) | |||
| { | |||
| @@ -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; } | |||
| @@ -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); | |||
| @@ -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; | |||
| @@ -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"> | |||
| @@ -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"> | |||
| @@ -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"> | |||