aboutsummaryrefslogtreecommitdiffstats
path: root/coin/instructions
diff options
context:
space:
mode:
Diffstat (limited to 'coin/instructions')
-rw-r--r--coin/instructions/coin_bic_tests.yaml32
-rw-r--r--coin/instructions/coin_qt_build_docs.yaml33
-rw-r--r--coin/instructions/coin_qt_build_template.yaml8
-rw-r--r--coin/instructions/coin_qt_configure.yaml49
-rw-r--r--coin/instructions/prepare_configure_executable.yaml37
5 files changed, 159 insertions, 0 deletions
diff --git a/coin/instructions/coin_bic_tests.yaml b/coin/instructions/coin_bic_tests.yaml
new file mode 100644
index 00000000..bfdb3012
--- /dev/null
+++ b/coin/instructions/coin_bic_tests.yaml
@@ -0,0 +1,32 @@
+type: Group
+instructions:
+ - type: EnvironmentVariable
+ variableName: QT_MODULE_TO_TEST
+ variableValue: "qt=QtConcurrent,QtCore,QtDBus,QtDesigner,QtGui,QtHelp,QtNetwork,QtOpenGL,QtPrintSupport,QtQml,QtQuick,QtQuickTest,QtSql,QtSvg,QtTest,QtWidgets,QtXml;{{.SourceDir}}/qtbase"
+ - type: EnvironmentVariable
+ variableName: QTDIR
+ variableValue: "{{.InstallDir}}"
+ - type: PrependToEnvironmentVariable
+ variableName: PATH
+ variableValue: "{{.InstallDir}}/bin:"
+ - type: ChangeDirectory
+ directory: "{{.SourceDir}}/qtqa/tests/postbuild/bic"
+ - type: ExecuteCommand
+ command: ["{{.InstallDir}}/bin/qmake"]
+ maxTimeInSeconds: 3600
+ maxTimeBetweenOutput: 300
+ userMessageOnFailure: "Failed to execute qmake for bic tests"
+ - type: ExecuteCommand
+ command: ["make", "check", "-j1"]
+ maxTimeInSeconds: 7200
+ maxTimeBetweenOutput: 300
+ userMessageOnFailure: "Failed to execute bic tests"
+enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: features
+ contains_value: Packaging
+ - condition: property
+ property: target.os
+ equals_value: Linux
diff --git a/coin/instructions/coin_qt_build_docs.yaml b/coin/instructions/coin_qt_build_docs.yaml
new file mode 100644
index 00000000..6f554816
--- /dev/null
+++ b/coin/instructions/coin_qt_build_docs.yaml
@@ -0,0 +1,33 @@
+type: Group
+instructions:
+ - type: ExecuteCommand
+ command: "{{.Env.ENV_PREFIX}} cmake --build . --target qtbase/src/plugins/platforms/all qtbase/src/plugins/sqldrivers/all qttools/all --parallel -v"
+ maxTimeInSeconds: 12000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: >
+ Failed to build sources.
+ - type: ExecuteCommand
+ command: "{{.Env.ENV_PREFIX}} cmake --build . --target docs -v"
+ maxTimeInSeconds: 12000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: >
+ Failed to generate docs.
+ - type: ExecuteCommand
+ command: "cp -r {{.BuildDir}}/qtbase/doc/config {{.BuildDir}}/doc"
+ maxTimeInSeconds: 12000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: "Failed to copy qtbase/doc/config to documentation directory."
+ - type: ExecuteCommand
+ command: "cp -r {{.BuildDir}}/qtbase/doc/global {{.BuildDir}}/doc"
+ maxTimeInSeconds: 12000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: "Failed to copy qtbase/doc/global to documentation directory."
+ - type: UploadArtifact
+ archiveDirectory: '{{.BuildDir}}/doc'
+ transferType: UploadModuleDocumentation
+ maxTimeInSeconds: 1800
+ maxTimeBetweenOutput: 1800
+enable_if:
+ condition: property
+ property: features
+ contains_value: "Documentation"
diff --git a/coin/instructions/coin_qt_build_template.yaml b/coin/instructions/coin_qt_build_template.yaml
new file mode 100644
index 00000000..b263ea8e
--- /dev/null
+++ b/coin/instructions/coin_qt_build_template.yaml
@@ -0,0 +1,8 @@
+type: Group
+instructions:
+ - !include "{{qt/qt5}}/coin_qt_configure.yaml"
+ - !include "{{qt/qt5}}/coin_qt_build_docs.yaml"
+disable_if:
+ condition: property
+ property: features
+ contains_value: "TargetBuildOnly"
diff --git a/coin/instructions/coin_qt_configure.yaml b/coin/instructions/coin_qt_configure.yaml
new file mode 100644
index 00000000..c1650256
--- /dev/null
+++ b/coin/instructions/coin_qt_configure.yaml
@@ -0,0 +1,49 @@
+type: Group
+instructions:
+ - !include "{{qt/qtbase}}/prepare_building_env.yaml"
+ - type: MakeDirectory
+ directory: .git
+ - type: SetBuildDirectory
+ directory: "{{.SourceDir}}"
+ - type: ChangeDirectory
+ directory: "{{.BuildDir}}"
+
+ - !include "{{qt/qt5}}/prepare_configure_executable.yaml"
+
+ - type: EnvironmentVariable
+ variableName: COIN_CONFIGURE_ARGS
+ variableValue: "{{.Env.CONFIGURE_ARGS}}"
+ - type: EnvironmentVariable
+ variableName: COIN_CMAKE_ARGS
+ # Use unix separators even on Windows, to avoid escaping issues in the configure script.
+ variableValue: "{{.Env.CMAKE_ARGS}} {{.Env.COMMON_CMAKE_ARGS}} -DCMAKE_INSTALL_PREFIX:PATH={{unixPathSeparators .InstallDir}}"
+ - type: EnvironmentVariable
+ variableName: CONFIGURE_ENV_PREFIX
+ variableValue: "{{.Env.ENV_PREFIX}}"
+
+ - type: ExecuteCommand
+ # There is no SourceDir on purpose, because configure is called directly from qtbase,
+ # so the script knows it's own source dir.
+ # TODO: Consider removing these instructions, and using the ones in qtbase/call_configure_qtbase.yaml
+ # once all dependencies are propagated.
+ command: "{{.Env.CONFIGURE_ENV_PREFIX}} {{.Env.CONFIGURE_EXECUTABLE}} {{.Env.COIN_CONFIGURE_ARGS}} -- {{.Env.COIN_CMAKE_ARGS}}"
+ executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
+ maxTimeInSeconds: 6000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: >
+ Failed to call cmake.
+ enable_if:
+ condition: property
+ property: features
+ contains_value: UseConfigure
+ - type: ExecuteCommand
+ command: "{{.Env.CONFIGURE_ENV_PREFIX}} {{.Env.CONFIGURE_EXECUTABLE}} {{.SourceDir}} {{.Env.COIN_CONFIGURE_ARGS}} {{.Env.COIN_CMAKE_ARGS}}"
+ executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
+ maxTimeInSeconds: 6000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: >
+ Failed to call cmake.
+ disable_if:
+ condition: property
+ property: features
+ contains_value: UseConfigure
diff --git a/coin/instructions/prepare_configure_executable.yaml b/coin/instructions/prepare_configure_executable.yaml
new file mode 100644
index 00000000..50474cc5
--- /dev/null
+++ b/coin/instructions/prepare_configure_executable.yaml
@@ -0,0 +1,37 @@
+# Call either cmake or configure depending on whether the
+# UseConfigure platform configuration feature is set.
+# We should remove the cmake branch, once all platform configurations
+# are ported to use configure.
+# TODO: Remove this file, and reference the one in qtbase, once all
+# all dependencies are propagated.
+type: Group
+instructions:
+ - type: Group
+ enable_if:
+ condition: property
+ property: features
+ contains_value: UseConfigure
+ instructions:
+ - type: EnvironmentVariable
+ variableName: CONFIGURE_EXECUTABLE
+ variableValue: "{{.SourceDir}}/configure"
+ disable_if:
+ condition: property
+ property: host.os
+ equals_value: Windows
+ - type: EnvironmentVariable
+ variableName: CONFIGURE_EXECUTABLE
+ variableValue: "{{.SourceDir}}\\configure.bat"
+ enable_if:
+ condition: property
+ property: host.os
+ equals_value: Windows
+ - type: Group
+ disable_if:
+ condition: property
+ property: features
+ contains_value: UseConfigure
+ instructions:
+ - type: EnvironmentVariable
+ variableName: CONFIGURE_EXECUTABLE
+ variableValue: "cmake"