aboutsummaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
authorSimo Fält <simo.falt@qt.io>2021-11-25 16:08:21 +0200
committerSimo Fält <simo.falt@qt.io>2021-12-01 14:48:55 +0000
commite94154f02bf8f93e812dcc4edb633b9fd03331b0 (patch)
tree8c8e8c1874447340ad1783ec92dfaf60c0d908cd /coin
parentac4431fcc71f01cde9bd1fd885d42960b869c924 (diff)
Build macOS universal binary
Pick-to: 6.2 Pick-to: 6.2.2 Change-Id: I0a889258ec4f89ca3a26c8bf2ee76f0d5c676a7a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'coin')
-rw-r--r--coin/instructions/common_environment.yaml9
-rw-r--r--coin/instructions/execute_build_instructions.yaml26
2 files changed, 32 insertions, 3 deletions
diff --git a/coin/instructions/common_environment.yaml b/coin/instructions/common_environment.yaml
index 27fe4a27a..27fd61fb8 100644
--- a/coin/instructions/common_environment.yaml
+++ b/coin/instructions/common_environment.yaml
@@ -156,3 +156,12 @@ instructions:
- type: EnvironmentVariable
variableName: LLVM_INSTALL_DIR
variableValue: "{{.Env.LLVM_DYNAMIC_LIBS_100}}"
+ disable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: target.arch
+ equals_value: X86_64-ARM64 # When target arch is universal binary, we can use the default libclang
+ - condition: property
+ property: host.os
+ equals_value: MacOS
diff --git a/coin/instructions/execute_build_instructions.yaml b/coin/instructions/execute_build_instructions.yaml
index e1a082bb6..71ed80172 100644
--- a/coin/instructions/execute_build_instructions.yaml
+++ b/coin/instructions/execute_build_instructions.yaml
@@ -15,9 +15,29 @@ instructions:
maxTimeInSeconds: 14400
maxTimeBetweenOutput: 1200
enable_if:
- condition: property
- property: host.os
- equals_value: MacOS
+ condition: and
+ conditions:
+ - condition: property
+ property: target.arch
+ equals_value: X86_64
+ - condition: property
+ property: host.os
+ equals_value: MacOS
+ userMessageOnFailure: >
+ Failed to execute build instructions on osx
+ - type: ExecuteCommand
+ command: "python3 -u coin_build_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} {{.Env.CI_USE_SCCACHE}} --instdir=/Users/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch=X86_64-ARM64 --phase=ALL"
+ maxTimeInSeconds: 14400
+ maxTimeBetweenOutput: 1200
+ enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: target.arch
+ equals_value: X86_64-ARM64
+ - condition: property
+ property: host.os
+ equals_value: MacOS
userMessageOnFailure: >
Failed to execute build instructions on osx
- type: ExecuteCommand