From d93df1ce9ca09c149ad90c5f7fe817a7ceba2db7 Mon Sep 17 00:00:00 2001 From: mahee96 <47920326+mahee96@users.noreply.github.com> Date: Sun, 22 Feb 2026 23:46:21 +0530 Subject: [PATCH] bug-fix: Cargo project build in em_proxy, minimuxer weren't declaring the artifacts as outputs causing them to be missed being generated during manual clean and re-run --- Dependencies/em_proxy.xcodeproj/project.pbxproj | 7 ++++++- Dependencies/minimuxer.xcodeproj/project.pbxproj | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Dependencies/em_proxy.xcodeproj/project.pbxproj b/Dependencies/em_proxy.xcodeproj/project.pbxproj index ce10d54b..9f912777 100644 --- a/Dependencies/em_proxy.xcodeproj/project.pbxproj +++ b/Dependencies/em_proxy.xcodeproj/project.pbxproj @@ -22,8 +22,9 @@ name = "Cargo project build"; outputFiles = ( "$(OBJECT_FILE_DIR)/$(CARGO_XCODE_TARGET_ARCH)-$(EXECUTABLE_NAME)", + "$(TARGET_BUILD_DIR)/$(FULL_PRODUCT_NAME)", ); - script = "# generated with cargo-xcode 1.5.0\n# modified to use prebuilt binaries\n\nset -eu;\n\npwd\nBUILT_SRC=\"./em_proxy/$LIB_FILE_NAME.a\"\necho \"Generating Static lib for arch ${CARGO_XCODE_TARGET_ARCH:-unknown}: $BUILT_SRC\"\nmkdir -p \"$(dirname \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\")\"\ncp -f \"$BUILT_SRC\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\nmkdir -p \"$(dirname \"$SCRIPT_OUTPUT_FILE_0\")\"\ncp -f \"$BUILT_SRC\" \"$SCRIPT_OUTPUT_FILE_0\"\necho \"Successfully copied $BUILT_SRC to $SCRIPT_OUTPUT_FILE_0\"\n\n# xcode generates dep file, but for its own path, so append our rename to it\n#DEP_FILE_SRC=\"minimuxer/target/${CARGO_XCODE_TARGET_TRIPLE}/release/${CARGO_XCODE_CARGO_DEP_FILE_NAME}\"\n#if [ -f \"$DEP_FILE_SRC\" ]; then\n# DEP_FILE_DST=\"${DERIVED_FILE_DIR}/${CARGO_XCODE_TARGET_ARCH}-${EXECUTABLE_NAME}.d\"\n# cp -f \"$DEP_FILE_SRC\" \"$DEP_FILE_DST\"\n# echo >> \"$DEP_FILE_DST\" \"$SCRIPT_OUTPUT_FILE_0: $BUILT_SRC\"\n#fi\n\n# lipo script needs to know all the platform-specific files that have been built\n# archs is in the file name, so that paths don't stay around after archs change\n# must match input for LipoScript\n#FILE_LIST=\"${DERIVED_FILE_DIR}/${ARCHS}-${EXECUTABLE_NAME}.xcfilelist\"\n#touch \"$FILE_LIST\"\n#if ! egrep -q \"$SCRIPT_OUTPUT_FILE_0\" \"$FILE_LIST\" ; then\n# echo >> \"$FILE_LIST\" \"$SCRIPT_OUTPUT_FILE_0\"\n#fi\n"; + script = "# generated with cargo-xcode 1.5.0\n# modified to use prebuilt binaries\n\nset -eu;\n\nBUILT_SRC=\"./em_proxy/$LIB_FILE_NAME.a\"\necho Generating Static lib: $BUILT_SRC\nln -f -- \"$BUILT_SRC\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\" || cp \"$BUILT_SRC\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\necho \"$BUILT_SRC -> $TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n\n# xcode generates dep file, but for its own path, so append our rename to it\n#DEP_FILE_SRC=\"minimuxer/target/${CARGO_XCODE_TARGET_TRIPLE}/release/${CARGO_XCODE_CARGO_DEP_FILE_NAME}\"\n#if [ -f \"$DEP_FILE_SRC\" ]; then\n# DEP_FILE_DST=\"${DERIVED_FILE_DIR}/${CARGO_XCODE_TARGET_ARCH}-${EXECUTABLE_NAME}.d\"\n# cp -f \"$DEP_FILE_SRC\" \"$DEP_FILE_DST\"\n# echo >> \"$DEP_FILE_DST\" \"$SCRIPT_OUTPUT_FILE_0: $BUILT_SRC\"\n#fi\n\n# lipo script needs to know all the platform-specific files that have been built\n# archs is in the file name, so that paths don't stay around after archs change\n# must match input for LipoScript\n#FILE_LIST=\"${DERIVED_FILE_DIR}/${ARCHS}-${EXECUTABLE_NAME}.xcfilelist\"\n#touch \"$FILE_LIST\"\n#if ! egrep -q \"$SCRIPT_OUTPUT_FILE_0\" \"$FILE_LIST\" ; then\n# echo >> \"$FILE_LIST\" \"$SCRIPT_OUTPUT_FILE_0\"\n#fi\n"; }; /* End PBXBuildRule section */ @@ -146,9 +147,11 @@ LIB_FILE_NAME = ""; "LIB_FILE_NAME[sdk=iphoneos*]" = "libem_proxy-ios"; "LIB_FILE_NAME[sdk=iphonesimulator*]" = "libem_proxy-sim"; + MACOSX_DEPLOYMENT_TARGET = 11.5; PRODUCT_NAME = em_proxy_static; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; + TVOS_DEPLOYMENT_TARGET = 11.5; }; name = Release; }; @@ -212,9 +215,11 @@ LIB_FILE_NAME = ""; "LIB_FILE_NAME[sdk=iphoneos*]" = "libem_proxy-ios"; "LIB_FILE_NAME[sdk=iphonesimulator*]" = "libem_proxy-sim"; + MACOSX_DEPLOYMENT_TARGET = 11.5; PRODUCT_NAME = em_proxy_static; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; + TVOS_DEPLOYMENT_TARGET = 11.5; }; name = Debug; }; diff --git a/Dependencies/minimuxer.xcodeproj/project.pbxproj b/Dependencies/minimuxer.xcodeproj/project.pbxproj index dc8a6718..c3d61389 100644 --- a/Dependencies/minimuxer.xcodeproj/project.pbxproj +++ b/Dependencies/minimuxer.xcodeproj/project.pbxproj @@ -23,8 +23,9 @@ name = "Cargo project build"; outputFiles = ( "$(OBJECT_FILE_DIR)/$(CARGO_XCODE_TARGET_ARCH)-$(EXECUTABLE_NAME)", + "$(TARGET_BUILD_DIR)/$(FULL_PRODUCT_NAME)", ); - script = "# generated with cargo-xcode 1.5.0\n# modified to use prebuilt binaries\n\nset -eu;\n\npwd\nBUILT_SRC=\"./minimuxer/${LIB_FILE_NAME}.a\"\necho \"Generating Static lib for arch ${CARGO_XCODE_TARGET_ARCH:-unknown}: $BUILT_SRC\"\nmkdir -p \"$(dirname \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\")\"\ncp -f \"$BUILT_SRC\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\nmkdir -p \"$(dirname \"$SCRIPT_OUTPUT_FILE_0\")\"\ncp -f \"$BUILT_SRC\" \"$SCRIPT_OUTPUT_FILE_0\"\necho \"Successfully copied $BUILT_SRC to $SCRIPT_OUTPUT_FILE_0\"\n\n# xcode generates dep file, but for its own path, so append our rename to it\n#DEP_FILE_SRC=\"minimuxer/target/${CARGO_XCODE_TARGET_TRIPLE}/release/${CARGO_XCODE_CARGO_DEP_FILE_NAME}\"\n#if [ -f \"$DEP_FILE_SRC\" ]; then\n# DEP_FILE_DST=\"${DERIVED_FILE_DIR}/${CARGO_XCODE_TARGET_ARCH}-${EXECUTABLE_NAME}.d\"\n# cp -f \"$DEP_FILE_SRC\" \"$DEP_FILE_DST\"\n# echo >> \"$DEP_FILE_DST\" \"$SCRIPT_OUTPUT_FILE_0: $BUILT_SRC\"\n#fi\n\n# lipo script needs to know all the platform-specific files that have been built\n# archs is in the file name, so that paths don't stay around after archs change\n# must match input for LipoScript\n#FILE_LIST=\"${DERIVED_FILE_DIR}/${ARCHS}-${EXECUTABLE_NAME}.xcfilelist\"\n#touch \"$FILE_LIST\"\n#if ! egrep -q \"$SCRIPT_OUTPUT_FILE_0\" \"$FILE_LIST\" ; then\n# echo >> \"$FILE_LIST\" \"$SCRIPT_OUTPUT_FILE_0\"\n#fi\n"; + script = "# generated with cargo-xcode 1.5.0\n# modified to use prebuilt binaries\n\nset -eu;\n\nBUILT_SRC=\"./minimuxer/${LIB_FILE_NAME}.a\"\necho Generating Static lib: $BUILT_SRC\nln -f -- \"$BUILT_SRC\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\" || cp \"$BUILT_SRC\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\necho \"$BUILT_SRC -> $TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n\n# xcode generates dep file, but for its own path, so append our rename to it\n#DEP_FILE_SRC=\"minimuxer/target/${CARGO_XCODE_TARGET_TRIPLE}/release/${CARGO_XCODE_CARGO_DEP_FILE_NAME}\"\n#if [ -f \"$DEP_FILE_SRC\" ]; then\n# DEP_FILE_DST=\"${DERIVED_FILE_DIR}/${CARGO_XCODE_TARGET_ARCH}-${EXECUTABLE_NAME}.d\"\n# cp -f \"$DEP_FILE_SRC\" \"$DEP_FILE_DST\"\n# echo >> \"$DEP_FILE_DST\" \"$SCRIPT_OUTPUT_FILE_0: $BUILT_SRC\"\n#fi\n\n# lipo script needs to know all the platform-specific files that have been built\n# archs is in the file name, so that paths don't stay around after archs change\n# must match input for LipoScript\n#FILE_LIST=\"${DERIVED_FILE_DIR}/${ARCHS}-${EXECUTABLE_NAME}.xcfilelist\"\n#touch \"$FILE_LIST\"\n#if ! egrep -q \"$SCRIPT_OUTPUT_FILE_0\" \"$FILE_LIST\" ; then\n# echo >> \"$FILE_LIST\" \"$SCRIPT_OUTPUT_FILE_0\"\n#fi\n"; }; /* End PBXBuildRule section */ @@ -162,9 +163,11 @@ LIB_FILE_NAME = ""; "LIB_FILE_NAME[sdk=iphoneos*]" = "libminimuxer-ios"; "LIB_FILE_NAME[sdk=iphonesimulator*]" = "libminimuxer-sim"; + MACOSX_DEPLOYMENT_TARGET = 11.5; PRODUCT_NAME = minimuxer_static; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; + TVOS_DEPLOYMENT_TARGET = 11.5; }; name = Debug; }; @@ -179,9 +182,11 @@ LIB_FILE_NAME = ""; "LIB_FILE_NAME[sdk=iphoneos*]" = "libminimuxer-ios"; "LIB_FILE_NAME[sdk=iphonesimulator*]" = "libminimuxer-sim"; + MACOSX_DEPLOYMENT_TARGET = 11.5; PRODUCT_NAME = minimuxer_static; SKIP_INSTALL = YES; SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; + TVOS_DEPLOYMENT_TARGET = 11.5; }; name = Release; };