diff --git a/clientgui/mac/SetVersion.cpp b/clientgui/mac/SetVersion.cpp
index 4e7f84f81e4..03106e92fb7 100644
--- a/clientgui/mac/SetVersion.cpp
+++ b/clientgui/mac/SetVersion.cpp
@@ -68,6 +68,8 @@ int main(int argc, char** argv) {
printf("%s\n", myPath); // For debugging
#endif
+ chdir(getenv("SRCROOT"));
+
if (!file_exists("./English.lproj")) {
retval = mkdir("./English.lproj", 0755);
if (retval) {
diff --git a/lib/hostinfo.cpp b/lib/hostinfo.cpp
index c1fde8a348f..0cd5fd2d375 100644
--- a/lib/hostinfo.cpp
+++ b/lib/hostinfo.cpp
@@ -378,7 +378,7 @@ const char* docker_type_str(DOCKER_TYPE type) {
const char* docker_cmd_prefix(DOCKER_TYPE type) {
static char buf[256];
if (type == PODMAN) {
- const char* dir = "/Library/Application\ Support/BOINC\ Data/podman";
+ const char* dir = "/Library/Application Support/BOINC Data/podman";
// must end w/ space
snprintf(buf, sizeof(buf),
"env XDG_CONFIG_HOME=\"%s\" XDG_DATA_HOME=\"%s\" ",
diff --git a/mac_build/BuildMacBOINC.sh b/mac_build/BuildMacBOINC.sh
index 8ab3a4e6074..96177bf4109 100644
--- a/mac_build/BuildMacBOINC.sh
+++ b/mac_build/BuildMacBOINC.sh
@@ -220,9 +220,18 @@ done
## That is why all the other xcodebuild calls are invoked this way.
if [ "${buildall}" = "1" ] || [ "${buildlibs}" = "1" ] || [ "${buildclient}" = "1" ] || [ "x${targets}" != "x" ]; then
- # build all or specified targets from the boinc.xcodeproj project for -all, -libs, -client, or -target
- eval "xcodebuild -project boinc.xcodeproj ${targets} -configuration ${style} -sdk \"${SDKPATH}\" ${doclean} build ${uselibcplusplus} ${theSettings}"
+
+ echo ""
+ ## Apparently xcodebuild ignores build pre-actions, so we do this explicitly
+ source "./Update_Info_Plists.sh"
result=$?
+ echo ""
+
+ if [ $result -eq 0 ]; then
+ # build all or specified targets from the boinc.xcodeproj project for -all, -libs, -client, or -target
+ eval "xcodebuild -project boinc.xcodeproj ${targets} -configuration ${style} -sdk \"${SDKPATH}\" ${doclean} build ${uselibcplusplus} ${theSettings}"
+ result=$?
+ fi
fi
if [ $result -eq 0 ]; then
diff --git a/mac_build/Update_Info_Plists.sh b/mac_build/Update_Info_Plists.sh
new file mode 100644
index 00000000000..054e8cbe83d
--- /dev/null
+++ b/mac_build/Update_Info_Plists.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+# This file is part of BOINC.
+# http://boinc.berkeley.edu
+# Copyright (C) 2025 University of California
+#
+# BOINC is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License
+# as published by the Free Software Foundation,
+# either version 3 of the License, or (at your option) any later version.
+#
+# BOINC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with BOINC. If not, see .
+#
+#
+# Update_Info_Plists.sh
+# by Charlie Fenton 7/11/25
+#
+
+## Called from pre-actions in BOINC Xcode project when compiling BOINC.
+## Note that Xcode runs build pre-actions pnly for the currently selected
+## build target, not for any dependent targets that may also be built along
+## with the selected target. So this script is called only once for any
+## build operation, even the build_all target. The ovehead of running this
+## script is minimal, so rather than comparing all the Info.plist file's
+## modification dates to that of version.h, we just run this script for
+## every build operation.
+##
+## Usage:
+## export WORKSPACE_PATH=
+## source {path}/mac_build/Update_Info_Plists.sh
+## Called from pre-actions as:
+## source "$WORKSPACE_PATH/../../Update_Info_Plists.sh"
+##
+##
+originalDir=`pwd`
+directory=$(dirname "$WORKSPACE_PATH")
+directory=$(dirname "$directory")
+echo "Directory is " "$directory"
+cd "$directory"
+echo "About to check for " "$directory/build/Development/SetVersion"
+echo "compared to " "$directory/../clientgui/mac/Setversion.cpp"
+if [ ! -e "$directory/build/Development/SetVersion" ] || [ "$directory/../clientgui/mac/Setversion.cpp" -nt "$directory/build/Development/SetVersion" ]; then
+ echo "About to run xcodebuild"
+ xcodebuild -project boinc.xcodeproj -target SetVersion -configuration Development
+ if [ $? -ne 0 ]; then
+ echo "ERROR: xcodebuild failed"
+ cd "${originalDir}"
+ return 1
+ fi
+ echo "After xcodebuild, about to check for " "$directory/build/Development/SetVersion"
+ if [ ! -e "$directory/build/Development/SetVersion" ]; then
+ return 1
+ fi
+fi
+###$directory="$directory/build/Development"
+echo "Running SetVersion"
+"$directory/build/Development/SetVersion"
+cd "${originalDir}"
+return 0
diff --git a/mac_build/boinc.xcodeproj/project.pbxproj b/mac_build/boinc.xcodeproj/project.pbxproj
index 506eadd105b..f03225bbb0d 100644
--- a/mac_build/boinc.xcodeproj/project.pbxproj
+++ b/mac_build/boinc.xcodeproj/project.pbxproj
@@ -13,8 +13,10 @@
buildPhases = (
);
dependencies = (
+ DDC04DA72E2908BC006AB01D /* PBXTargetDependency */,
+ DDC04D9F2E28C473006AB01D /* PBXTargetDependency */,
+ DDC04D9D2E28C44B006AB01D /* PBXTargetDependency */,
DD67F1A32D5A2C3700A78699 /* PBXTargetDependency */,
- DDF9EC15144EB36E005D6144 /* PBXTargetDependency */,
DDF9EC11144EB36E005D6144 /* PBXTargetDependency */,
DDF9EC17144EB36E005D6144 /* PBXTargetDependency */,
DDF9EC0F144EB34E005D6144 /* PBXTargetDependency */,
@@ -620,13 +622,6 @@
remoteGlobalIDString = DD1277B2081F3D67007B5DE1;
remoteInfo = Installer;
};
- DD1AFEA60A512D8700EE5B82 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = DDAEC9E007FA583B00A7BC36;
- remoteInfo = SetVersion;
- };
DD1E45C92567FACC005B4EE7 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
@@ -634,13 +629,6 @@
remoteGlobalIDString = DD407A4907D2FB1200163EF5;
remoteInfo = libboinc;
};
- DD25E20C220438090040366F /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = DDAEC9E007FA583B00A7BC36;
- remoteInfo = SetVersion;
- };
DD3D127A29B6243800F89058 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
@@ -648,13 +636,6 @@
remoteGlobalIDString = DDEED38529ADFD7000DC3E5D;
remoteInfo = boinc_finish_install;
};
- DD3E14D50A774397007E0084 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = DDAEC9E007FA583B00A7BC36;
- remoteInfo = SetVersion;
- };
DD3E14D70A774397007E0084 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
@@ -739,13 +720,6 @@
remoteGlobalIDString = DDEED38529ADFD7000DC3E5D;
remoteInfo = boinc_finish_install;
};
- DD805B2B2D7C4BDF004E89F8 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = DDAEC9E007FA583B00A7BC36;
- remoteInfo = SetVersion;
- };
DD81C823144D904D000BE61A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
@@ -760,13 +734,6 @@
remoteGlobalIDString = DD7748970A356C880025D05E;
remoteInfo = SetUpSecurity;
};
- DDAD19CE09090833004E7DD0 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = DDAEC9E007FA583B00A7BC36;
- remoteInfo = SetVersion;
- };
DDB874660C850DB600E0DE1F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
@@ -795,47 +762,47 @@
remoteGlobalIDString = DD35353007E1E05C00C4718D;
remoteInfo = api_libboinc;
};
- DDD095500A3EE09900C95BA4 /* PBXContainerItemProxy */ = {
+ DDC04D9C2E28C44B006AB01D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
proxyType = 1;
- remoteGlobalIDString = DDD0953E0A3EDD2500C95BA4;
- remoteInfo = switcher;
+ remoteGlobalIDString = DDEED38529ADFD7000DC3E5D;
+ remoteInfo = boinc_finish_install;
};
- DDD3370B106224FF00867C7D /* PBXContainerItemProxy */ = {
+ DDC04D9E2E28C473006AB01D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
proxyType = 1;
- remoteGlobalIDString = DDD336F51062235D00867C7D;
- remoteInfo = AddRemoveUser;
+ remoteGlobalIDString = B13E2D0E265564D100D5C977;
+ remoteInfo = detect_rosetta_cpu;
};
- DDD4D96415A6FE0000612460 /* PBXContainerItemProxy */ = {
+ DDC04DA62E2908BC006AB01D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
proxyType = 1;
- remoteGlobalIDString = DD81C799144D8DA9000BE61A;
- remoteInfo = jpeg;
+ remoteGlobalIDString = DDAEC9E007FA583B00A7BC36;
+ remoteInfo = SetVersion;
};
- DDE382002200806D0077E85A /* PBXContainerItemProxy */ = {
+ DDD095500A3EE09900C95BA4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
proxyType = 1;
- remoteGlobalIDString = DDAEC9E007FA583B00A7BC36;
- remoteInfo = SetVersion;
+ remoteGlobalIDString = DDD0953E0A3EDD2500C95BA4;
+ remoteInfo = switcher;
};
- DDED8BBB2569358C005F4C8E /* PBXContainerItemProxy */ = {
+ DDD3370B106224FF00867C7D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
proxyType = 1;
- remoteGlobalIDString = DDAEC9E007FA583B00A7BC36;
- remoteInfo = SetVersion;
+ remoteGlobalIDString = DDD336F51062235D00867C7D;
+ remoteInfo = AddRemoveUser;
};
- DDEED39629ADFD9900DC3E5D /* PBXContainerItemProxy */ = {
+ DDD4D96415A6FE0000612460 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
proxyType = 1;
- remoteGlobalIDString = DDAEC9E007FA583B00A7BC36;
- remoteInfo = SetVersion;
+ remoteGlobalIDString = DD81C799144D8DA9000BE61A;
+ remoteInfo = jpeg;
};
DDF9EC0C144EB338005D6144 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -858,13 +825,6 @@
remoteGlobalIDString = DDD74D8607CF482E0065AC9D;
remoteInfo = BOINC_Client;
};
- DDF9EC14144EB36E005D6144 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = DDAEC9E007FA583B00A7BC36;
- remoteInfo = SetVersion;
- };
DDF9EC16144EB36E005D6144 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 20286C28FDCF999611CA2CEA /* Project object */;
@@ -2299,7 +2259,6 @@
buildRules = (
);
dependencies = (
- DD805B2C2D7C4BDF004E89F8 /* PBXTargetDependency */,
DD805B2A2D7C4BCF004E89F8 /* PBXTargetDependency */,
);
name = PostInstall;
@@ -2320,7 +2279,6 @@
buildRules = (
);
dependencies = (
- DD1AFEA50A512D8700EE5B82 /* PBXTargetDependency */,
);
name = Install_BOINC;
productName = Installer;
@@ -2359,7 +2317,6 @@
buildRules = (
);
dependencies = (
- DD3E14D40A774397007E0084 /* PBXTargetDependency */,
DD3E14D60A774397007E0084 /* PBXTargetDependency */,
);
name = mgr_boinc;
@@ -2399,7 +2356,6 @@
);
dependencies = (
DD3D127B29B6243800F89058 /* PBXTargetDependency */,
- DDE382012200806D0077E85A /* PBXTargetDependency */,
);
name = Uninstaller;
productName = Uninstaller;
@@ -2428,6 +2384,7 @@
isa = PBXNativeTarget;
buildConfigurationList = DD67F1992D5A24FD00A78699 /* Build configuration list for PBXNativeTarget "Fix_BOINC_Users" */;
buildPhases = (
+ DDC04DA12E28C8CC006AB01D /* ShellScript */,
DD67F1912D5A24FD00A78699 /* Sources */,
DD67F1922D5A24FD00A78699 /* Frameworks */,
DD67F1932D5A24FD00A78699 /* CopyFiles */,
@@ -2454,7 +2411,6 @@
buildRules = (
);
dependencies = (
- DDED8BBC2569358C005F4C8E /* PBXTargetDependency */,
DD1E45CA2567FACC005B4EE7 /* PBXTargetDependency */,
);
name = cmd_boinc;
@@ -2531,7 +2487,6 @@
buildRules = (
);
dependencies = (
- DDAD19CF09090833004E7DD0 /* PBXTargetDependency */,
DDFA60DD0CB338940037B88C /* PBXTargetDependency */,
DD5F654F2360648D009ED2A2 /* PBXTargetDependency */,
);
@@ -2626,7 +2581,6 @@
);
dependencies = (
B1A32E55265D206800896566 /* PBXTargetDependency */,
- DD25E20D220438090040366F /* PBXTargetDependency */,
DD7C3B112ABC3F85000C307D /* PBXTargetDependency */,
DD7C3B132ABC3F85000C307D /* PBXTargetDependency */,
);
@@ -2643,12 +2597,10 @@
DDEED38229ADFD7000DC3E5D /* Sources */,
DDEED38329ADFD7000DC3E5D /* Frameworks */,
DDEED38429ADFD7000DC3E5D /* Resources */,
- DD805B322D7C666F004E89F8 /* ShellScript */,
);
buildRules = (
);
dependencies = (
- DDEED39729ADFD9900DC3E5D /* PBXTargetDependency */,
);
name = boinc_finish_install;
productName = boinc_finish_installl_app;
@@ -3368,26 +3320,6 @@
shellPath = /bin/sh;
shellScript = "source \"${PROJECT_DIR}/checkDependentLibraryVersions.sh\"\nexit $?\n";
};
- DD805B322D7C666F004E89F8 /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- alwaysOutOfDate = 1;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- "$(SRCROOT)/Finish_install-Info.plist",
- );
- outputFileListPaths = (
- );
- outputPaths = (
- "${BUILT_PRODUCTS_DIR}/BOINC_Finish_install.app/Contents/info.plist",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "# Due to Xcode parallelizing builds, a race condition this\n# target is built before the updated Finish_Install-Info\n# has been built. This is a workaround for that.\n\"${BUILT_PRODUCTS_DIR}/SetVersion\"\ncp \"${SRCROOT}/Finish_install-Info.plist\" ${BUILT_PRODUCTS_DIR}/BOINC_Finish_install.app/Contents/info.plist\n\n";
- };
DD818296245EDA220076E5D0 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
@@ -3445,7 +3377,25 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "# echo \"BuiltProductsDir = ${BUILT_PRODUCTS_DIR}\"\n# echo \"CONFIGURATIONTEMPDIR = ${CONFIGURATION_TEMP_DIR}\"\n# echo \"SRC ROOT = ${SRCROOT}\"\n# echo \"architecture = ${ARCHS}\"\n# echo \"native architecture = ${ARCHS}\"\n codesign -f -o runtime -s - \"${BUILT_PRODUCTS_DIR}/SetVersion\"\n # Unfortunately, this does not work because other targets that\n # have SetVersion as a dependency only wait for SetVersion to\n # be built, not for its scripts to finish.\n# Run SetVersion in background so we can wait for it to finish running\n\"${BUILT_PRODUCTS_DIR}/SetVersion\"\nwait\n\n";
+ shellScript = "# echo \"BuiltProductsDir = ${BUILT_PRODUCTS_DIR}\"\n# echo \"CONFIGURATIONTEMPDIR = ${CONFIGURATION_TEMP_DIR}\"\n# echo \"SRC ROOT = ${SRCROOT}\"\n# echo \"architecture = ${ARCHS}\"\n# echo \"native architecture = ${ARCHS}\"\n codesign -f -o runtime -s - \"${BUILT_PRODUCTS_DIR}/SetVersion\"\n # Unfortunately, this does not work because other targets that\n # have SetVersion as a dependency only wait for SetVersion to\n # be built, not for its scripts to finish.\n# Run SetVersion in background so we can wait for it to finish running\n##\"${BUILT_PRODUCTS_DIR}/SetVersion\"\nwait\n\n";
+ };
+ DDC04DA12E28C8CC006AB01D /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "source \"${PROJECT_DIR}/checkDependentLibraryVersions.sh\"\nexit $?\n";
};
DDC8FB2B1F6D398700BE55B8 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
@@ -4223,31 +4173,16 @@
target = DD1277B2081F3D67007B5DE1 /* PostInstall */;
targetProxy = DD127876081F44E5007B5DE1 /* PBXContainerItemProxy */;
};
- DD1AFEA50A512D8700EE5B82 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = DDAEC9E007FA583B00A7BC36 /* SetVersion */;
- targetProxy = DD1AFEA60A512D8700EE5B82 /* PBXContainerItemProxy */;
- };
DD1E45CA2567FACC005B4EE7 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = DD407A4907D2FB1200163EF5 /* libboinc */;
targetProxy = DD1E45C92567FACC005B4EE7 /* PBXContainerItemProxy */;
};
- DD25E20D220438090040366F /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = DDAEC9E007FA583B00A7BC36 /* SetVersion */;
- targetProxy = DD25E20C220438090040366F /* PBXContainerItemProxy */;
- };
DD3D127B29B6243800F89058 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = DDEED38529ADFD7000DC3E5D /* boinc_finish_install */;
targetProxy = DD3D127A29B6243800F89058 /* PBXContainerItemProxy */;
};
- DD3E14D40A774397007E0084 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = DDAEC9E007FA583B00A7BC36 /* SetVersion */;
- targetProxy = DD3E14D50A774397007E0084 /* PBXContainerItemProxy */;
- };
DD3E14D60A774397007E0084 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = DDD74D8607CF482E0065AC9D /* BOINC_Client */;
@@ -4308,11 +4243,6 @@
target = DDEED38529ADFD7000DC3E5D /* boinc_finish_install */;
targetProxy = DD805B292D7C4BCF004E89F8 /* PBXContainerItemProxy */;
};
- DD805B2C2D7C4BDF004E89F8 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = DDAEC9E007FA583B00A7BC36 /* SetVersion */;
- targetProxy = DD805B2B2D7C4BDF004E89F8 /* PBXContainerItemProxy */;
- };
DD81C824144D904D000BE61A /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = DD81C799144D8DA9000BE61A /* jpeg */;
@@ -4323,11 +4253,6 @@
target = DD7748970A356C880025D05E /* SetUpSecurity */;
targetProxy = DDA12AD00A369DEC00FBDD12 /* PBXContainerItemProxy */;
};
- DDAD19CF09090833004E7DD0 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = DDAEC9E007FA583B00A7BC36 /* SetVersion */;
- targetProxy = DDAD19CE09090833004E7DD0 /* PBXContainerItemProxy */;
- };
DDB874670C850DB600E0DE1F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = DDB873E90C850BC800E0DE1F /* gfx2libboinc */;
@@ -4348,6 +4273,21 @@
target = DD35353007E1E05C00C4718D /* api_libboinc */;
targetProxy = DDBD681407FA830E0082C20D /* PBXContainerItemProxy */;
};
+ DDC04D9D2E28C44B006AB01D /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = DDEED38529ADFD7000DC3E5D /* boinc_finish_install */;
+ targetProxy = DDC04D9C2E28C44B006AB01D /* PBXContainerItemProxy */;
+ };
+ DDC04D9F2E28C473006AB01D /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = B13E2D0E265564D100D5C977 /* detect_rosetta_cpu */;
+ targetProxy = DDC04D9E2E28C473006AB01D /* PBXContainerItemProxy */;
+ };
+ DDC04DA72E2908BC006AB01D /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = DDAEC9E007FA583B00A7BC36 /* SetVersion */;
+ targetProxy = DDC04DA62E2908BC006AB01D /* PBXContainerItemProxy */;
+ };
DDD095510A3EE09900C95BA4 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = DDD0953E0A3EDD2500C95BA4 /* switcher */;
@@ -4363,21 +4303,6 @@
target = DD81C799144D8DA9000BE61A /* jpeg */;
targetProxy = DDD4D96415A6FE0000612460 /* PBXContainerItemProxy */;
};
- DDE382012200806D0077E85A /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = DDAEC9E007FA583B00A7BC36 /* SetVersion */;
- targetProxy = DDE382002200806D0077E85A /* PBXContainerItemProxy */;
- };
- DDED8BBC2569358C005F4C8E /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = DDAEC9E007FA583B00A7BC36 /* SetVersion */;
- targetProxy = DDED8BBB2569358C005F4C8E /* PBXContainerItemProxy */;
- };
- DDEED39729ADFD9900DC3E5D /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = DDAEC9E007FA583B00A7BC36 /* SetVersion */;
- targetProxy = DDEED39629ADFD9900DC3E5D /* PBXContainerItemProxy */;
- };
DDF9EC0D144EB338005D6144 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = DD81C799144D8DA9000BE61A /* jpeg */;
@@ -4393,11 +4318,6 @@
target = DDD74D8607CF482E0065AC9D /* BOINC_Client */;
targetProxy = DDF9EC10144EB36E005D6144 /* PBXContainerItemProxy */;
};
- DDF9EC15144EB36E005D6144 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = DDAEC9E007FA583B00A7BC36 /* SetVersion */;
- targetProxy = DDF9EC14144EB36E005D6144 /* PBXContainerItemProxy */;
- };
DDF9EC17144EB36E005D6144 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = DDFA60C90CB337D40037B88C /* gfx_switcher */;
diff --git a/mac_build/boinc.xcodeproj/xcshareddata/xcschemes/BOINC_Client.xcscheme b/mac_build/boinc.xcodeproj/xcshareddata/xcschemes/BOINC_Client.xcscheme
index f91199fe1bc..2f274d068f1 100644
--- a/mac_build/boinc.xcodeproj/xcshareddata/xcschemes/BOINC_Client.xcscheme
+++ b/mac_build/boinc.xcodeproj/xcshareddata/xcschemes/BOINC_Client.xcscheme
@@ -5,6 +5,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mac_build/boinc.xcodeproj/xcshareddata/xcschemes/Install_BOINC.xcscheme b/mac_build/boinc.xcodeproj/xcshareddata/xcschemes/Install_BOINC.xcscheme
index 1b193085990..f1ea450db52 100644
--- a/mac_build/boinc.xcodeproj/xcshareddata/xcschemes/Install_BOINC.xcscheme
+++ b/mac_build/boinc.xcodeproj/xcshareddata/xcschemes/Install_BOINC.xcscheme
@@ -5,6 +5,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+