diff --git a/file_path_special.c b/file_path_special.c index 8bbeb9fd73..37e3329ba9 100644 --- a/file_path_special.c +++ b/file_path_special.c @@ -29,6 +29,10 @@ #include #endif +#ifdef OSX +#include +#endif + #ifdef __QNX__ #include #endif @@ -98,6 +102,21 @@ bool fill_pathname_application_data(char *s, size_t len) #endif #elif defined(OSX) +#if HAVE_STEAM + CFStringRef parent_path; + CFURLRef bundle_url, parent_url; + CFBundleRef bundle = CFBundleGetMainBundle(); + if (!bundle) + return false; + bundle_url = CFBundleCopyBundleURL(bundle); + parent_url = CFURLCreateCopyDeletingLastPathComponent(NULL, bundle_url); + parent_path = CFURLCopyFileSystemPath(parent_url, kCFURLPOSIXPathStyle); + CFStringGetCString(parent_path, s, len, kCFStringEncodingUTF8); + CFRelease(parent_path); + CFRelease(parent_url); + CFRelease(bundle_url); + return true; +#else const char *appdata = getenv("HOME"); if (appdata) @@ -106,6 +125,7 @@ bool fill_pathname_application_data(char *s, size_t len) "Library/Application Support/RetroArch", len); return true; } +#endif #elif defined(RARCH_UNIX_CWD_ENV) getcwd(s, len); return true; diff --git a/frontend/drivers/platform_darwin.m b/frontend/drivers/platform_darwin.m index 5fda09398a..6fc3ef0837 100644 --- a/frontend/drivers/platform_darwin.m +++ b/frontend/drivers/platform_darwin.m @@ -333,112 +333,81 @@ static void frontend_darwin_get_env(int *argc, char *argv[], CFStringRef bundle_path; CFURLRef resource_url; CFStringRef resource_path; -#if TARGET_OS_IPHONE - char resolved_home_dir_buf[ - PATH_MAX_LENGTH] = {0}; - char resolved_bundle_dir_buf[ - PATH_MAX_LENGTH] = {0}; -#endif - char temp_dir[PATH_MAX_LENGTH] = {0}; - char bundle_path_buf[PATH_MAX_LENGTH] = {0}; - char resource_path_buf[PATH_MAX_LENGTH] = {0}; - char full_resource_path_buf[PATH_MAX_LENGTH]; - char home_dir_buf[PATH_MAX_LENGTH] = {0}; - CFBundleRef bundle = CFBundleGetMainBundle(); + char temp_dir[PATH_MAX_LENGTH] = {0}; + char bundle_path_buf[PATH_MAX_LENGTH] = {0}; + char documents_dir_buf[PATH_MAX_LENGTH] = {0}; + char application_data[PATH_MAX_LENGTH] = {0}; + CFBundleRef bundle = CFBundleGetMainBundle(); if (!bundle) return; bundle_url = CFBundleCopyBundleURL(bundle); bundle_path = CFURLCopyPath(bundle_url); - - resource_url = CFBundleCopyResourcesDirectoryURL(bundle); - resource_path = CFURLCopyPath(resource_url); - - CFRelease(resource_url); - - CFStringGetCString(bundle_path, - bundle_path_buf, sizeof(bundle_path_buf), kCFStringEncodingUTF8); - CFStringGetCString(resource_path, - resource_path_buf, sizeof(resource_path_buf), kCFStringEncodingUTF8); - CFRelease(resource_path); - fill_pathname_join_special(full_resource_path_buf, bundle_path_buf, resource_path_buf, sizeof(full_resource_path_buf)); - CFSearchPathForDirectoriesInDomains( - home_dir_buf, sizeof(home_dir_buf)); + CFStringGetCString(bundle_path, bundle_path_buf, sizeof(bundle_path_buf), kCFStringEncodingUTF8); + CFRelease(bundle_path); + CFRelease(bundle_url); +#if HAVE_STEAM + // for steam we're going to put everything next to the .app + fill_pathname_application_data(documents_dir_buf, sizeof(documents_dir_buf)); +#else + CFSearchPathForDirectoriesInDomains(documents_dir_buf, sizeof(documents_dir_buf)); #if TARGET_OS_IPHONE - if (realpath(home_dir_buf, resolved_home_dir_buf)) - strlcpy(home_dir_buf, - resolved_home_dir_buf, - sizeof(home_dir_buf)); + char resolved_documents_dir_buf[PATH_MAX_LENGTH] = {0}; + char resolved_bundle_dir_buf[PATH_MAX_LENGTH] = {0}; + if (realpath(documents_dir_buf, resolved_documents_dir_buf)) + strlcpy(documents_dir_buf, + resolved_documents_dir_buf, + sizeof(documents_dir_buf)); if (realpath(bundle_path_buf, resolved_bundle_dir_buf)) strlcpy(bundle_path_buf, resolved_bundle_dir_buf, sizeof(bundle_path_buf)); #endif + strlcat(documents_dir_buf, "/RetroArch", sizeof(documents_dir_buf)); +#endif - strlcat(home_dir_buf, "/RetroArch", sizeof(home_dir_buf)); -#ifdef HAVE_METAL - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADER], - home_dir_buf, "shaders_slang", - sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER])); -#else - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADER], - home_dir_buf, "shaders_glsl", - sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER])); -#endif -#ifdef HAVE_UPDATE_CORES - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], - home_dir_buf, "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); -#else - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], - bundle_path_buf, "modules", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); -#endif - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], home_dir_buf, "info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], home_dir_buf, "overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], home_dir_buf, "autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS], home_dir_buf, "downloads", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], home_dir_buf, "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SYSTEM], home_dir_buf, "system", sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG], home_dir_buf, "config", sizeof(g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_REMAP], g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG], "remaps", sizeof(g_defaults.dirs[DEFAULT_DIR_REMAP])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_DATABASE], home_dir_buf, "database/rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], home_dir_buf, "cht", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS], home_dir_buf, "thumbnails", sizeof(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SRAM], home_dir_buf, "saves", sizeof(g_defaults.dirs[DEFAULT_DIR_SRAM])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SAVESTATE], home_dir_buf, "states", sizeof(g_defaults.dirs[DEFAULT_DIR_SAVESTATE])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_RECORD_CONFIG], home_dir_buf, "records_config", sizeof(g_defaults.dirs[DEFAULT_DIR_RECORD_CONFIG])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_RECORD_OUTPUT], home_dir_buf, "records", sizeof(g_defaults.dirs[DEFAULT_DIR_RECORD_OUTPUT])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_LOGS], home_dir_buf, "logs", sizeof(g_defaults.dirs[DEFAULT_DIR_LOGS])); -#if defined(IOS) - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_PLAYLIST], home_dir_buf, "playlists", sizeof(g_defaults.dirs[DEFAULT_DIR_PLAYLIST])); -#endif #if defined(OSX) - char application_data[PATH_MAX_LENGTH]; - fill_pathname_application_data(application_data, sizeof(application_data)); - -#ifdef HAVE_CG - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADER], home_dir_buf, "shaders_cg", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER])); +#else + // ios and tvos are going to put everything in the documents dir + strncpy(application_data, documents_dir_buf, sizeof(application_data)); #endif - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_PLAYLIST], application_data, "playlists", sizeof(g_defaults.dirs[DEFAULT_DIR_PLAYLIST])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS], application_data, "thumbnails", sizeof(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS])); + + // By the time we are here: + // bundle_path_buf is the full path of the .app + // documents_dir_buf is where user documents go (macos: ~/Documents/RetroArch) + // application_data is where "hidden" app data goes (macos: ~/Library/Application Support/RetroArch, ios: documents dir) + + // this stuff we expect the user to find easily, possibly sync across iCloud + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_LOGS], documents_dir_buf, "logs", sizeof(g_defaults.dirs[DEFAULT_DIR_LOGS])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_PLAYLIST], documents_dir_buf, "playlists", sizeof(g_defaults.dirs[DEFAULT_DIR_PLAYLIST])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_RECORD_OUTPUT], documents_dir_buf, "records", sizeof(g_defaults.dirs[DEFAULT_DIR_RECORD_OUTPUT])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_RECORD_CONFIG], documents_dir_buf, "records_config", sizeof(g_defaults.dirs[DEFAULT_DIR_RECORD_CONFIG])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SRAM], documents_dir_buf, "saves", sizeof(g_defaults.dirs[DEFAULT_DIR_SRAM])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SCREENSHOT], documents_dir_buf, "screenshots", sizeof(g_defaults.dirs[DEFAULT_DIR_SCREENSHOT])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SAVESTATE], documents_dir_buf, "states", sizeof(g_defaults.dirs[DEFAULT_DIR_SAVESTATE])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SYSTEM], documents_dir_buf, "system", sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM])); + + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], application_data, "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], application_data, "autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], application_data, "cht", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS])); fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG], application_data, "config", sizeof(g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG])); fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_REMAP], g_defaults.dirs[DEFAULT_DIR_MENU_CONFIG], "remaps", sizeof(g_defaults.dirs[DEFAULT_DIR_REMAP])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS], application_data, "downloads", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SCREENSHOT], application_data, "screenshots", sizeof(g_defaults.dirs[DEFAULT_DIR_SCREENSHOT])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADER], application_data, "shaders", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER])); +#ifdef HAVE_UPDATE_CORES fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], application_data, "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); +#else + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], bundle_path_buf, "modules", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); +#endif + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_DATABASE], application_data, "database/rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS], application_data, "downloads", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], application_data, "filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], application_data, "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE_INFO], application_data, "info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], application_data, "overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG], application_data, "autoconfig", sizeof(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], application_data, "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_DATABASE], application_data, "database/rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], application_data, "cht", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], application_data, "audio_filters", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], application_data, "video_filters", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); - -#endif + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADER], application_data, "shaders", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS], application_data, "thumbnails", sizeof(g_defaults.dirs[DEFAULT_DIR_THUMBNAILS])); #if TARGET_OS_IOS { @@ -455,6 +424,16 @@ static void frontend_darwin_get_env(int *argc, char *argv[], fill_pathname_join_special(assets_zip_path, bundle_path_buf, "assets.zip", sizeof(assets_zip_path)); #else + char resource_path_buf[PATH_MAX_LENGTH] = {0}; + resource_url = CFBundleCopyResourcesDirectoryURL(bundle); + resource_path = CFURLCopyPath(resource_url); + CFStringGetCString(resource_path, resource_path_buf, sizeof(resource_path_buf), kCFStringEncodingUTF8); + CFRelease(resource_path); + CFRelease(resource_url); + + char full_resource_path_buf[PATH_MAX_LENGTH]; + fill_pathname_join_special(full_resource_path_buf, + bundle_path_buf, resource_path_buf, sizeof(full_resource_path_buf)); fill_pathname_join_special(assets_zip_path, full_resource_path_buf, "assets.zip", sizeof(assets_zip_path)); #endif @@ -467,11 +446,7 @@ static void frontend_darwin_get_env(int *argc, char *argv[], assets_zip_path); configuration_set_string(settings, settings->paths.bundle_assets_dst, -#if TARGET_OS_IOS || TARGET_OS_TV - home_dir_buf -#else application_data -#endif ); /* TODO/FIXME: Just hardcode this for now */ configuration_set_uint(settings, settings->uints.bundle_assets_extract_version_current, 1); @@ -492,9 +467,6 @@ static void frontend_darwin_get_env(int *argc, char *argv[], if (access(g_defaults.dirs[DEFAULT_DIR_SYSTEM], 0755) != 0) { } } - CFRelease(bundle_path); - CFRelease(bundle_url); - #ifndef IS_SALAMANDER dir_check_defaults("custom.ini"); #endif diff --git a/pkg/apple/OSX/SteamExportOptions.plist b/pkg/apple/OSX/SteamExportOptions.plist index 5383e89785..f8b94da24a 100644 --- a/pkg/apple/OSX/SteamExportOptions.plist +++ b/pkg/apple/OSX/SteamExportOptions.plist @@ -8,8 +8,6 @@ Developer ID Application destination upload - signingStyle - automatic teamID UK699V5ZS8 diff --git a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj index 7db2f0673e..cf64c9a817 100644 --- a/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj +++ b/pkg/apple/RetroArch_Metal.xcodeproj/project.pbxproj @@ -496,7 +496,6 @@ 05F2874120F2BEEA00632D47 /* task_patch.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = task_patch.c; sourceTree = ""; }; 072976DC296284F600D6E00C /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; 074695362995C03900CCB7BD /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = System/Library/Frameworks/GameController.framework; sourceTree = SDKROOT; }; - 0775553F29A900BF00D876AB /* ExportOptions.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = ExportOptions.plist; sourceTree = ""; }; 0776EF3829A005D600AF0237 /* Steam.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Steam.xcconfig; sourceTree = ""; }; 0795A8C6299A095300D5035D /* CoreHaptics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreHaptics.framework; path = System/Library/Frameworks/CoreHaptics.framework; sourceTree = SDKROOT; }; 07B634CF296391FF00B3D78D /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = Frameworks/MoltenVK/dylib/macOS/libMoltenVK.dylib; sourceTree = ""; }; @@ -1358,7 +1357,6 @@ 29B97314FDCFA39411CA2CEA /* RetroArch */ = { isa = PBXGroup; children = ( - 0775553F29A900BF00D876AB /* ExportOptions.plist */, 686201AB24B823A800EBDD95 /* RetroArch.entitlements */, 05D7753120A55D2700646447 /* BaseConfig.xcconfig */, 05422E5C2140CFC500F09961 /* Metal.xcconfig */, @@ -1462,6 +1460,7 @@ isa = PBXNativeTarget; buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "RetroArch" */; buildPhases = ( + 076C6C0A29AE71EF000EC3CB /* ShellScript */, 8D1107290486CEB800E47090 /* Resources */, 8D11072C0486CEB800E47090 /* Sources */, 8D11072E0486CEB800E47090 /* Frameworks */, @@ -1559,6 +1558,25 @@ shellPath = /bin/sh; shellScript = "make -C ${SRCBASE} -f Makefile.apple HAVE_MENU=1 HAVE_CONFIGFILE=1 HAVE_PATCH=1 HAVE_DSP_FILTER=1 HAVE_REWIND=1 HAVE_SCREENSHOTS=1 HAVE_CHEATS=1 HAVE_CORE_INFO_CACHE=1 HAVE_GFX_WIDGETS=1 HAVE_QT=1 HAVE_SLANG=1 MOC=${QT_INSTALL}/bin/moc generate\n"; }; + 076C6C0A29AE71EF000EC3CB /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if [ -d \"$MIST_PATH\" -a -f \"$MIST_PATH\"/libmist.dylib ]; then\n install_name_tool -id @rpath/libmist.dylib \"$MIST_PATH\"/libmist.dylib\nfi\n"; + showEnvVarsInLog = 0; + }; 07DF7D6729A9DC570038AFFF /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -1575,7 +1593,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\nif [ -d \"$MIST_PATH\" ]; then\n cp \"$MIST_PATH\"/mist/*.txt \"$TARGET_BUILD_DIR\"/\"$UNLOCALIZED_RESOURCES_FOLDER_PATH\"/\n\n cp \"$MIST_PATH\"/libmist.dylib \"$TARGET_BUILD_DIR\"/\"$FRAMEWORKS_FOLDER_PATH\"/\n install_name_tool -id @rpath/libmist.dylib \"$TARGET_BUILD_DIR\"/\"$FRAMEWORKS_FOLDER_PATH\"/libmist.dylib\n codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --timestamp -o runtime --preserve-metadata=identifier,entitlements,flags --generate-entitlement-der \"$TARGET_BUILD_DIR\"/\"$FRAMEWORKS_FOLDER_PATH\"/libmist.dylib\n\n mkdir \"$TARGET_BUILD_DIR\"/\"$EXECUTABLE_FOLDER_PATH\"/mist\n\n # this shouldn't be here, it can't be notarized\n if [ -n \"$STEAM_APPID\" ]; then\n echo \"$STEAM_APPID\" > \"$TARGET_BUILD_DIR\"/\"$EXECUTABLE_FOLDER_PATH\"/mist/steam_appid.txt\n fi\n\n cp \"$MIST_PATH\"/mist/libsteam_api.dylib \"$TARGET_BUILD_DIR\"/\"$EXECUTABLE_FOLDER_PATH\"/mist/\n codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --timestamp -o runtime --preserve-metadata=identifier,entitlements,flags --generate-entitlement-der \"$TARGET_BUILD_DIR\"/\"$EXECUTABLE_FOLDER_PATH\"/mist/libsteam_api.dylib\n\n cp \"$MIST_PATH\"/mist/mist \"$TARGET_BUILD_DIR\"/\"$EXECUTABLE_FOLDER_PATH\"/mist/\n codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --timestamp -o runtime --preserve-metadata=identifier,entitlements,flags --generate-entitlement-der \"$TARGET_BUILD_DIR\"/\"$EXECUTABLE_FOLDER_PATH\"/mist/mist\nfi\n"; + shellScript = "\nif [ -d \"$MIST_PATH\" ]; then\n cp \"$MIST_PATH\"/mist/*.txt \"$TARGET_BUILD_DIR\"/\"$UNLOCALIZED_RESOURCES_FOLDER_PATH\"/\n\n cp \"$MIST_PATH\"/libmist.dylib \"$TARGET_BUILD_DIR\"/\"$FRAMEWORKS_FOLDER_PATH\"/\n codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --timestamp -o runtime --preserve-metadata=identifier,entitlements,flags --generate-entitlement-der \"$TARGET_BUILD_DIR\"/\"$FRAMEWORKS_FOLDER_PATH\"/libmist.dylib\n\n mkdir \"$TARGET_BUILD_DIR\"/\"$EXECUTABLE_FOLDER_PATH\"/mist\n\n cp \"$MIST_PATH\"/mist/libsteam_api.dylib \"$TARGET_BUILD_DIR\"/\"$EXECUTABLE_FOLDER_PATH\"/mist/\n codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --timestamp -o runtime --preserve-metadata=identifier,entitlements,flags --generate-entitlement-der \"$TARGET_BUILD_DIR\"/\"$EXECUTABLE_FOLDER_PATH\"/mist/libsteam_api.dylib\n\n cp \"$MIST_PATH\"/mist/mist \"$TARGET_BUILD_DIR\"/\"$EXECUTABLE_FOLDER_PATH\"/mist/\n codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --timestamp -o runtime --preserve-metadata=identifier,entitlements,flags --generate-entitlement-der \"$TARGET_BUILD_DIR\"/\"$EXECUTABLE_FOLDER_PATH\"/mist/mist\nfi\n"; }; /* End PBXShellScriptBuildPhase section */ diff --git a/pkg/apple/Steam.xcconfig b/pkg/apple/Steam.xcconfig index fa5132cc6a..353ed91f94 100644 --- a/pkg/apple/Steam.xcconfig +++ b/pkg/apple/Steam.xcconfig @@ -3,11 +3,8 @@ // RetroArch_Metal // -#include "BaseConfig.xcconfig" - OTHER_CFLAGS = $(inherited) -DHAVE_MAIN -DHAVE_STEAM -DHAVE_MIST -DHAVE_PRESENCE HEADER_SEARCH_PATHS = $(inherited) $(MIST_PATH)/include OTHER_LDFLAGS = $(inherited) -L$(MIST_PATH) -lmist DEVELOPMENT_TEAM=UK699V5ZS8 -CODE_SIGN_STYLE = Automatic