diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h index 70b91db7a8..ba9eaf90d9 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h @@ -383,12 +383,14 @@ private: { if (exporter.isXcode() && target->getTargetFileType() == ProjectType::Target::TargetFileType::executable) { - auto xcodeIcnsFile = getTargetFolder().getParentDirectory() - .getChildFile ("MacOSX") - .getChildFile ("Icon.icns"); + StringArray pathComponents = { "..", "MacOSX", "Icon.icns" }; + auto xcodeIcnsFile = getTargetFolder(); + + for (auto& comp : pathComponents) + xcodeIcnsFile = xcodeIcnsFile.getChildFile (comp); if (xcodeIcnsFile.existsAsFile()) - return xcodeIcnsFile.getRelativePathFrom (getTargetFolder()).quoted(); + return pathComponents.joinIntoString ("/").quoted(); } return {}; @@ -399,12 +401,14 @@ private: if (exporter.isCodeBlocks() && target->getTargetFileType() == ProjectType::Target::TargetFileType::executable) { - auto windowsRcFile = getTargetFolder().getParentDirectory() - .getChildFile ("CodeBlocksWindows") - .getChildFile ("resources.rc"); + StringArray pathComponents = { "..", "CodeBlocksWindows", "resources.rc" }; + auto windowsRcFile = getTargetFolder(); + + for (auto& comp : pathComponents) + windowsRcFile = windowsRcFile.getChildFile (comp); if (windowsRcFile.existsAsFile()) - out << " " << windowsRcFile.getRelativePathFrom (getTargetFolder()).quoted() << newLine; + out << " " << pathComponents.joinIntoString ("/").quoted() << newLine; } out << ")" << newLine << newLine; @@ -966,11 +970,14 @@ private: auto sdkVersion = config.getOSXSDKVersionString().upToFirstOccurrenceOf (" ", false, false); auto sysroot = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX" + sdkVersion + ".sdk"; + RelativePath rFile ("JuceLibraryCode/include_juce_audio_plugin_client_AU.r", RelativePath::projectFolder); + rFile = rebaseFromProjectFolderToBuildTarget (rFile); + out << "if (RC_COMPILER)" << newLine << " set (" << resSourcesVar << newLine - << " " << item.determineGroupFolder().getChildFile ("include_juce_audio_plugin_client_AU.r").getFullPathName().quoted() << newLine + << " " << ("${CMAKE_CURRENT_SOURCE_DIR}/" + rFile.toUnixStyle()).quoted() << newLine << " )" << newLine - << " set (" << resOutputVar << " \"${CMAKE_CURRENT_BINARY_DIR}/" << binaryName << ".rsrc\")" << newLine + << " set (" << resOutputVar << " " << ("${CMAKE_CURRENT_BINARY_DIR}/" + binaryName + ".rsrc").quoted() << ")" << newLine << " target_sources (" << targetVarName << " PRIVATE" << newLine << " ${" << resSourcesVar << "}" << newLine << " ${" << resOutputVar << "}" << newLine @@ -1033,7 +1040,7 @@ private: auto updatedPlist = getTargetFolder().getChildFile (config.getName() + "-" + plistFile.getFileName()); plist->writeToFile (updatedPlist, ""); - targetAttributes.set ("INFOPLIST_FILE", updatedPlist.getFullPathName().quoted()); + targetAttributes.set ("INFOPLIST_FILE", ("${CMAKE_CURRENT_SOURCE_DIR}/" + updatedPlist.getFileName()).quoted()); } else {