From 0b62196e783cf70172767e83a9ec7c60a100cc70 Mon Sep 17 00:00:00 2001 From: Kylmakalle Date: Thu, 1 May 2025 22:23:30 +0300 Subject: [PATCH] Resolve Swiftgram build variables --- build-system/Make/ProjectGeneration.py | 3 ++- build-system/XcodeParse/Sources/main.swift | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/build-system/Make/ProjectGeneration.py b/build-system/Make/ProjectGeneration.py index 212e99ca8d..69c1168718 100644 --- a/build-system/Make/ProjectGeneration.py +++ b/build-system/Make/ProjectGeneration.py @@ -52,7 +52,8 @@ def generate_xcodeproj(build_environment: BuildEnvironment, disable_extensions, file.write('build ' + argument + '\n') call_executable(bazel_generate_arguments) - + if app_target_spec == "Telegram:Telegram": # MARK: Swiftgram + app_target_spec = "Telegram/Swiftgram" xcodeproj_path = '{}.xcodeproj'.format(app_target_spec.replace(':', '/')) return xcodeproj_path diff --git a/build-system/XcodeParse/Sources/main.swift b/build-system/XcodeParse/Sources/main.swift index 4dba653ce6..492760b172 100644 --- a/build-system/XcodeParse/Sources/main.swift +++ b/build-system/XcodeParse/Sources/main.swift @@ -79,12 +79,22 @@ struct XcodeParse: ParsableCommand { } var rawVariables: [String: String] = [:] - let requiredBuildSettings: [String] = ["SRCROOT", "PROJECT_DIR", "BAZEL_OUT"] + let requiredBuildSettings: [String] = ["SRCROOT", "PROJECT_DIR", "BAZEL_OUT", /* MARK: Swifgram */ "BAZEL_EXTERNAL", "BAZEL_OUTPUT_BASE", "_BAZEL_OUTPUT_BASE:standardizepath" ] for buildConfiguration in xcodeproj.pbxproj.buildConfigurations { if buildConfiguration.name == "Debug" { - for name in requiredBuildSettings { + for setting in requiredBuildSettings { + let components = setting.split(separator: ":", maxSplits: 1, omittingEmptySubsequences: false) + let name = String(components[0]) + let modifier = components.count > 1 ? String(components[1]) : nil + if let value = buildConfiguration.buildSettings[name]?.stringValue { - rawVariables[name] = value + var finalValue = value + + if modifier == "standardizepath" { + finalValue = (value as NSString).standardizingPath + } + + rawVariables[setting] = finalValue } } }