Projucer Xcode exporter - Relative framework paths?


#1

I’d like to be able to use relative paths from the project root to specify a 3rd party Framework location, e.g. ../../dependencies/CouchbaseLite
This would let us include our framework dependencies in our project in a way that is portable without requiring manual copying and pasting to obscure SDK locations on each machine used for development.
I’ve attached a patch and the code for the method in the exporter that enables this in the hope it might get included in a near future release of JUCE :wink:
Cheers,
Ash
patch.diff.txt (1.1 KB)

String addFramework (const String& frameworkName) const
    {
        auto path = frameworkName;
        
         
         if (! File::isAbsolutePath (path) && ! path.startsWithChar('.'))
            path = "System/Library/Frameworks/" + path;

        if (! path.endsWithIgnoreCase (".framework"))
            path << ".framework";

        auto fileRefID = createFileRefID (path);

        addFileReference ((File::isAbsolutePath (frameworkName) || path.startsWithChar('.') ? "" : "${SDKROOT}/") + path);
        frameworkFileIDs.add (fileRefID);

        return addBuildFile (path, fileRefID, false, false);
    }