diff --git a/macos/Podfile b/macos/Podfile index cc852b7c..4b863b7f 100644 --- a/macos/Podfile +++ b/macos/Podfile @@ -38,10 +38,45 @@ end post_install do |installer| append_ignored_attributes_suppression = lambda do |build_settings| other_cflags = build_settings['OTHER_CFLAGS'] || '$(inherited)' - return if other_cflags.include?('-Wno-ignored-attributes') + other_cxxflags = build_settings['OTHER_CPLUSPLUSFLAGS'] || '$(inherited)' + updated = false - build_settings['OTHER_CFLAGS'] = - "#{other_cflags} -Wno-ignored-attributes" + unless other_cflags.include?('-Wno-ignored-attributes') + build_settings['OTHER_CFLAGS'] = + "#{other_cflags} -Wno-ignored-attributes" + updated = true + end + + unless other_cxxflags.include?('-Wno-ignored-attributes') + build_settings['OTHER_CPLUSPLUSFLAGS'] = + "#{other_cxxflags} -Wno-ignored-attributes" + updated = true + end + + updated + end + + append_deprecation_suppression = lambda do |build_settings| + other_cflags = build_settings['OTHER_CFLAGS'] || '$(inherited)' + other_cxxflags = build_settings['OTHER_CPLUSPLUSFLAGS'] || '$(inherited)' + + unless other_cflags.include?('-Wno-deprecated-declarations') + build_settings['OTHER_CFLAGS'] = + "#{other_cflags} -Wno-deprecated-declarations" + end + + unless other_cxxflags.include?('-Wno-deprecated-declarations') + build_settings['OTHER_CPLUSPLUSFLAGS'] = + "#{other_cxxflags} -Wno-deprecated-declarations" + end + end + + append_linker_warning_suppression = lambda do |build_settings| + other_ldflags = build_settings['OTHER_LDFLAGS'] || '$(inherited)' + return if other_ldflags.include?('-Wl,-w') + + build_settings['OTHER_LDFLAGS'] = + "#{other_ldflags} -Wl,-w" end normalize_system_framework_refs = lambda do |project| @@ -56,10 +91,16 @@ post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_macos_build_settings(target) - next unless target.name == 'mobile_scanner' - target.build_configurations.each do |config| + config.build_settings['MACOSX_DEPLOYMENT_TARGET'] = '11.5' + + next unless ['mobile_scanner', 'patrol', 'CocoaAsyncSocket', 'Pods-Runner', 'Pods-RunnerTests'].include?(target.name) + append_ignored_attributes_suppression.call(config.build_settings) + append_deprecation_suppression.call(config.build_settings) + append_linker_warning_suppression.call(config.build_settings) + config.build_settings['GCC_WARN_INHIBIT_ALL_WARNINGS'] = 'YES' + config.build_settings['SWIFT_SUPPRESS_WARNINGS'] = 'YES' end end @@ -69,6 +110,7 @@ post_install do |installer| target.build_configurations.each do |config| append_ignored_attributes_suppression.call(config.build_settings) + append_linker_warning_suppression.call(config.build_settings) end end aggregate_target.user_project.save diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index 445d185b..d996252d 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -376,6 +376,7 @@ }; 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -435,6 +436,7 @@ }; A1B2C3074F0A000100000001 /* Generate Missing Framework dSYMs */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -536,6 +538,14 @@ "$(inherited)", "-Wno-ignored-attributes", ); + OTHER_CPLUSPLUSFLAGS = ( + "$(inherited)", + "-Wno-ignored-attributes", + ); + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl,-w", + ); PRODUCT_BUNDLE_IDENTIFIER = plus.svc.xworkmate.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -556,6 +566,14 @@ "$(inherited)", "-Wno-ignored-attributes", ); + OTHER_CPLUSPLUSFLAGS = ( + "$(inherited)", + "-Wno-ignored-attributes", + ); + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl,-w", + ); PRODUCT_BUNDLE_IDENTIFIER = plus.svc.xworkmate.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -576,6 +594,14 @@ "$(inherited)", "-Wno-ignored-attributes", ); + OTHER_CPLUSPLUSFLAGS = ( + "$(inherited)", + "-Wno-ignored-attributes", + ); + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl,-w", + ); PRODUCT_BUNDLE_IDENTIFIER = plus.svc.xworkmate.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -665,6 +691,14 @@ "$(inherited)", "-Wno-ignored-attributes", ); + OTHER_CPLUSPLUSFLAGS = ( + "$(inherited)", + "-Wno-ignored-attributes", + ); + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl,-w", + ); PROVISIONING_PROFILE_SPECIFIER = ""; RUNTIME_EXCEPTION_ALLOW_JIT = YES; SWIFT_VERSION = 5.0; @@ -819,6 +853,14 @@ "$(inherited)", "-Wno-ignored-attributes", ); + OTHER_CPLUSPLUSFLAGS = ( + "$(inherited)", + "-Wno-ignored-attributes", + ); + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl,-w", + ); PROVISIONING_PROFILE_SPECIFIER = ""; RUNTIME_EXCEPTION_ALLOW_JIT = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -851,6 +893,14 @@ "$(inherited)", "-Wno-ignored-attributes", ); + OTHER_CPLUSPLUSFLAGS = ( + "$(inherited)", + "-Wno-ignored-attributes", + ); + OTHER_LDFLAGS = ( + "$(inherited)", + "-Wl,-w", + ); PROVISIONING_PROFILE_SPECIFIER = ""; RUNTIME_EXCEPTION_ALLOW_JIT = YES; SWIFT_VERSION = 5.0; diff --git a/scripts/macos_generate_missing_dsyms.sh b/scripts/macos_generate_missing_dsyms.sh index 13e50ca9..a4f34cd1 100644 --- a/scripts/macos_generate_missing_dsyms.sh +++ b/scripts/macos_generate_missing_dsyms.sh @@ -38,5 +38,12 @@ for framework in "${frameworks_dir}"/*.framework; do echo "Generating missing dSYM for ${framework_name}" rm -rf "${dsym_path}" - xcrun dsymutil "${binary_path}" -o "${dsym_path}" + uuid_output="$(xcrun dwarfdump --uuid "${binary_path}" 2>/dev/null || true)" + if [[ -z "${uuid_output}" ]]; then + continue + fi + + if ! xcrun dsymutil "${binary_path}" -o "${dsym_path}" >/dev/null 2>&1; then + rm -rf "${dsym_path}" + fi done