summaryrefslogtreecommitdiffstats
path: root/coin/instructions/cmake_cross_compilation_module_build_instructions.yaml
blob: a62ab0f48e5d9fd5ad67aac15f604322d8512638 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
type: Group
instructions:
  - type: EnvironmentVariable
    variableName: CMAKE_BUILD_TIMEOUT
    variableValue: "6000"
    enable_if:
      condition: runtime
      env_var: CMAKE_BUILD_TIMEOUT
      equals_value: null
  - type: EnvironmentVariable
    variableName: CMAKE_BUILD_OUTPUT_TIMEOUT
    variableValue: "1200"
    enable_if:
      condition: runtime
      env_var: CMAKE_BUILD_OUTPUT_TIMEOUT
      equals_value: null
  - type: MakeDirectory
    directory: .git
  - type: MakeDirectory
    directory: build
  - type: ChangeDirectory
    directory: "{{.BuildDir}}/build"
  - type: MakeDirectory
    directory: target
  - type: Group
    instructions:
      - type: MakeDirectory
        directory: host
      - type: SetBuildDirectory
        directory: "{{.SourceDir}}/build/host"
      - type: ChangeDirectory
        directory: "{{.BuildDir}}"

      - type: EnvironmentVariable
        variableName: COIN_CONFIGURE_ARGS
        variableValue: "{{.Env.NON_QTBASE_CONFIGURE_ARGS}}"
      - type: EnvironmentVariable
        variableName: COIN_CMAKE_ARGS
        variableValue: "{{.Env.NON_QTBASE_CMAKE_ARGS}} {{.Env.COMMON_NON_QTBASE_CMAKE_ARGS}}"
      - type: EnvironmentVariable
        variableName: CONFIGURE_ENV_PREFIX
        variableValue: "{{.Env.ENV_PREFIX}}"
      - !include "{{qt/qtbase}}/prepare_install_dir_suffix_host.yaml"
      - !include "{{qt/qtbase}}/call_configure_module.yaml"

      - type: ExecuteCommand
        command: "{{.Env.CONFIGURE_ENV_PREFIX}} cmake --build . --parallel -v"
        maxTimeInSeconds: "{{.Env.CMAKE_BUILD_TIMEOUT}}"
        maxTimeBetweenOutput: "{{.Env.CMAKE_BUILD_OUTPUT_TIMEOUT}}"
        userMessageOnFailure: >
          Failed to build sources.
      - type: EnvironmentVariable
        variableName: COIN_CMAKE_INSTALL_DIR
        variableValue: "{{.InstallDir}}{{.Env.CI_PATH_SEP}}host"
      - type: EnvironmentVariable
        variableName: COIN_CMAKE_INSTALL_LIBEXEC_DIR
        variableValue: "{{.Env.COIN_CMAKE_INSTALL_DIR}}{{.Env.CI_PATH_SEP}}libexec"
        disable_if:
          condition: and
          conditions:
            - condition: property
              property: host.os
              equals_value: Windows
            - condition: and
              conditions:
                - condition: property
                  property: target.os
                  not_equals_value: QNX
                - condition: property
                  property: target.osVersion
                  not_in_values: [WebAssembly, Android_ANY]
      - type: EnvironmentVariable
        variableName: COIN_CMAKE_INSTALL_LIBEXEC_DIR
        variableValue: "{{.InstallDir}}{{.Env.CI_PATH_SEP}}host{{.Env.CI_PATH_SEP}}bin"
        enable_if:
          condition: and
          conditions:
            - condition: property
              property: host.os
              equals_value: Windows
            - condition: and
              conditions:
                - condition: property
                  property: target.os
                  not_equals_value: QNX
                - condition: property
                  property: target.osVersion
                  not_in_values: [WebAssembly, Android_ANY]
      - !include "{{qt/qtbase}}/call_host_install.yaml"
      - type: EnvironmentVariable
        variableName: DESTDIR
        variableValue: "{{.InstallRoot}}"
      - !include "{{qt/qtbase}}/call_host_install.yaml"
    enable_if:
      condition: property
      property: platformDependency
      equals_value: null
  - type: EnvironmentVariable
    variableName: DESTDIR
    variableValue: ""
  - type: SetBuildDirectory
    directory: "{{.SourceDir}}/build/target"
  - type: ChangeDirectory
    directory: "{{.BuildDir}}"

  - type: EnvironmentVariable
    variableName: COIN_CONFIGURE_ARGS
    variableValue: "{{.Env.NON_QTBASE_TARGET_CONFIGURE_ARGS}}"
  - type: EnvironmentVariable
    variableName: COIN_CMAKE_ARGS
    variableValue: "{{.Env.NON_QTBASE_TARGET_CMAKE_ARGS}} {{.Env.COMMON_NON_QTBASE_TARGET_CMAKE_ARGS}}"
  - type: EnvironmentVariable
    variableName: CONFIGURE_ENV_PREFIX
    variableValue: "{{.Env.TARGET_ENV_PREFIX}}"
  - !include "{{qt/qtbase}}/prepare_install_dir_suffix_target.yaml"
  - !include "{{qt/qtbase}}/call_configure_module.yaml"

  - type: ExecuteCommand
    command: "{{.Env.CONFIGURE_ENV_PREFIX}} cmake --build . --parallel -v"
    maxTimeInSeconds: "{{.Env.CMAKE_BUILD_TIMEOUT}}"
    maxTimeBetweenOutput: "{{.Env.CMAKE_BUILD_OUTPUT_TIMEOUT}}"
    userMessageOnFailure: >
      Failed to build sources.
  - type: EnvironmentVariable
    variableName: COIN_CMAKE_INSTALL_DIR
    variableValue: "{{.InstallDir}}{{.Env.CI_PATH_SEP}}target"
  - type: EnvironmentVariable
    variableName: COIN_CMAKE_INSTALL_LIBEXEC_DIR
    variableValue: "{{.Env.COIN_CMAKE_INSTALL_DIR}}{{.Env.CI_PATH_SEP}}libexec"
    disable_if:
      condition: and
      conditions:
        - condition: property
          property: host.os
          equals_value: Windows
        - condition: and
          conditions:
            - condition: property
              property: target.os
              not_equals_value: QNX
            - condition: property
              property: target.osVersion
              not_in_values: [WebAssembly, Android_ANY]
  - type: EnvironmentVariable
    variableName: COIN_CMAKE_INSTALL_LIBEXEC_DIR
    variableValue: "{{.InstallDir}}{{.Env.CI_PATH_SEP}}target{{.Env.CI_PATH_SEP}}bin"
    enable_if:
      condition: and
      conditions:
        - condition: property
          property: host.os
          equals_value: Windows
        - condition: and
          conditions:
            - condition: property
              property: target.os
              not_equals_value: QNX
            - condition: property
              property: target.osVersion
              not_in_values: [WebAssembly, Android_ANY]
  - !include "{{qt/qtbase}}/call_target_install.yaml"
  - type: EnvironmentVariable
    variableName: DESTDIR
    variableValue: "{{.InstallRoot}}"
  - !include "{{qt/qtbase}}/call_target_install.yaml"
  - type: EnvironmentVariable
    variableName: DESTDIR
    variableValue: ""
  - type: UploadArtifact
    archiveDirectory: "{{.InstallRoot}}/{{.AgentWorkingDir}}"
    transferType: UploadModuleBuildArtifact
    maxTimeInSeconds: 1200
    maxTimeBetweenOutput: 1200
  - type: EnvironmentVariable
    variableName: COIN_CONFIG_TYPE
    variableValue: "Target"
  - !include "{{qt/qtbase}}/cmake_build_standalone_examples_target.yaml"
  - !include "{{qt/qtbase}}/qmake/get_qmake_location_target.yaml"
  - !include "{{qt/qtbase}}/qmake_examples/build_qmake_examples_instructions.yaml"