Browse Source

CLion: Fixed some issues loading a CMakeLists.txt generated on Windows

tags/2021-05-28
Tom Poole 6 years ago
parent
commit
c91f872f9a
1 changed files with 18 additions and 11 deletions
  1. +18
    -11
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h

+ 18
- 11
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h View File

@@ -383,12 +383,14 @@ private:
{ {
if (exporter.isXcode() && target->getTargetFileType() == ProjectType::Target::TargetFileType::executable) 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()) if (xcodeIcnsFile.existsAsFile())
return xcodeIcnsFile.getRelativePathFrom (getTargetFolder()).quoted();
return pathComponents.joinIntoString ("/").quoted();
} }
return {}; return {};
@@ -399,12 +401,14 @@ private:
if (exporter.isCodeBlocks() && target->getTargetFileType() == ProjectType::Target::TargetFileType::executable) 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()) if (windowsRcFile.existsAsFile())
out << " " << windowsRcFile.getRelativePathFrom (getTargetFolder()).quoted() << newLine;
out << " " << pathComponents.joinIntoString ("/").quoted() << newLine;
} }
out << ")" << newLine << newLine; out << ")" << newLine << newLine;
@@ -966,11 +970,14 @@ private:
auto sdkVersion = config.getOSXSDKVersionString().upToFirstOccurrenceOf (" ", false, false); auto sdkVersion = config.getOSXSDKVersionString().upToFirstOccurrenceOf (" ", false, false);
auto sysroot = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX" + sdkVersion + ".sdk"; 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 out << "if (RC_COMPILER)" << newLine
<< " set (" << resSourcesVar << 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 << " )" << 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 << " target_sources (" << targetVarName << " PRIVATE" << newLine
<< " ${" << resSourcesVar << "}" << newLine << " ${" << resSourcesVar << "}" << newLine
<< " ${" << resOutputVar << "}" << newLine << " ${" << resOutputVar << "}" << newLine
@@ -1033,7 +1040,7 @@ private:
auto updatedPlist = getTargetFolder().getChildFile (config.getName() + "-" + plistFile.getFileName()); auto updatedPlist = getTargetFolder().getChildFile (config.getName() + "-" + plistFile.getFileName());
plist->writeToFile (updatedPlist, "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">"); plist->writeToFile (updatedPlist, "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">");
targetAttributes.set ("INFOPLIST_FILE", updatedPlist.getFullPathName().quoted());
targetAttributes.set ("INFOPLIST_FILE", ("${CMAKE_CURRENT_SOURCE_DIR}/" + updatedPlist.getFileName()).quoted());
} }
else else
{ {


Loading…
Cancel
Save