From c2ac79b45494efb0dc6a46e54c333b556854a6fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Sat, 7 Sep 2019 12:54:40 +0200 Subject: [PATCH] Use a template for building 32 and 64 bit binaries for windows --- azure-pipelines-windows-template.yml | 40 +++++++++++++++++++ azure-pipelines.yml | 59 +++++++++------------------- 2 files changed, 59 insertions(+), 40 deletions(-) create mode 100644 azure-pipelines-windows-template.yml diff --git a/azure-pipelines-windows-template.yml b/azure-pipelines-windows-template.yml new file mode 100644 index 00000000..ce1a1233 --- /dev/null +++ b/azure-pipelines-windows-template.yml @@ -0,0 +1,40 @@ +jobs: +- job: {{ parameters.name }} + pool: + vmImage: 'vs2017-win2016' + steps: + - template: azure-pipelines-build-number.yml + - script: | + pip install aqtinstall + mkdir C:\Qt + python -m aqt install -O c:\Qt {{ parameters.qt_version }} windows desktop {{ parameters.qt_aqt_spec }} + choco install -y wget + choco install innosetup + wget "https://sourceforge.net/projects/sevenzip/files/7-Zip/18.05/7z1805-src.7z" -P $(Build.SourcesDirectory)\compressed_archive + 7z x $(Build.SourcesDirectory)\compressed_archive\7z1805-src.7z -o$(Build.SourcesDirectory)\compressed_archive\lib7zip + wget "{{ parameters.vc_redist_url }}" -O $(Build.SourcesDirectory)\{{ parameters.vc_redist_file_name }} + displayName: 'Install dependencies' + - script: | + call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\{{ parameters.vc_vars }}" + set PATH=%PATH%;C:\Qt\Qt{{ parameters.qt_version }}\{{ parameters.qt_version }}\{{ parameters.qt_spec }}\bin + set DEFINES_VAR=DEFINES+="BUILD_NUMBER=\\\\\\\"$(Build.BuildNumber)\\\\\\\"" + qmake CONFIG+="7zip" %DEFINES_VAR% + nmake + displayName: 'Build' + - script: | + set PATH=%PATH%;C:\Qt\Qt{{ parameters.qt_version }}\{{ parameters.qt_version }}\{{ parameters.qt_spec }}\bin + cd $(Build.SourcesDirectory)\ci\win + .\create_installer.cmd {{ parameters.arquitecture }} 7z $(Build.BuildNumber) + displayName: 'Create installer' + - task: CopyFiles@2 + inputs: + sourceFolder: $(Build.SourcesDirectory)\ci\win\Output\ + contents: '*' + targetFolder: $(Build.ArtifactStagingDirectory) + - task: PublishPipelineArtifact@1 + inputs: + path: $(Build.ArtifactStagingDirectory) + artifactName: Windows {{ parameters.arquitecture }} $(Build.BuildNumber) 7z Installer + + + diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 9a4d77e4..7ddb0a05 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -64,43 +64,22 @@ jobs: inputs: path: $(Build.ArtifactStagingDirectory) artifactName: Macos $(Build.BuildNumber) dmg -- job: Windows - pool: - vmImage: 'vs2017-win2016' - steps: - - template: azure-pipelines-build-number.yml - - script: | - pip install aqtinstall - mkdir C:\Qt - python -m aqt install -O c:\Qt 5.12.4 windows desktop win64_msvc2017_64 - choco install -y wget - choco install innosetup - wget "https://sourceforge.net/projects/sevenzip/files/7-Zip/18.05/7z1805-src.7z" -P $(Build.SourcesDirectory)\compressed_archive - 7z x $(Build.SourcesDirectory)\compressed_archive\7z1805-src.7z -o$(Build.SourcesDirectory)\compressed_archive\lib7zip - wget "https://go.microsoft.com/fwlink/?LinkId=746572" -O $(Build.SourcesDirectory)\vc_redist.x64.exe -# 32bit https://go.microsoft.com/fwlink/?LinkId=746571 - displayName: 'Install dependencies' - - script: | - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat" - set PATH=%PATH%;C:\Qt\Qt5.12.4\5.12.4\msvc2017_64\bin - set DEFINES_VAR=DEFINES+="BUILD_NUMBER=\\\\\\\"$(Build.BuildNumber)\\\\\\\"" - qmake CONFIG+="7zip" %DEFINES_VAR% - nmake - displayName: 'Build' - - script: | - set PATH=%PATH%;C:\Qt\Qt5.12.4\5.12.4\msvc2017_64\bin - cd $(Build.SourcesDirectory)\ci\win - .\create_installer.cmd x64 7z $(Build.BuildNumber) - displayName: 'Create installer' - - task: CopyFiles@2 - inputs: - sourceFolder: $(Build.SourcesDirectory)\ci\win\Output\ - contents: '*' - targetFolder: $(Build.ArtifactStagingDirectory) - - task: PublishPipelineArtifact@1 - inputs: - path: $(Build.ArtifactStagingDirectory) - artifactName: Windows 64 $(Build.BuildNumber) 7z Installer - - - +- template: azure-pipelines-windows-template.yml + parameters: + name: Windows x64 + arquitecture: x64 + qt_version: 5.12.4 + qt_spec: msvc2017_64 + qt_aqt_spec: win64_msvc2017_64 + vc_redist_url: https://go.microsoft.com/fwlink/?LinkId=746572 + vc_redist_file_name: vc_redist.x64.exe + vc_vars: vcvars64.bat +- template: azure-pipelines-windows-template.yml + name: Windows x86 + arquitecture: x86 + qt_version: 5.12.4 + qt_spec: msvc2017 + qt_aqt_spec: win32_msvc2017 + vc_redist_url: https://go.microsoft.com/fwlink/?LinkId=746571 + vc_redist_file_name: vc_redist.x86.exe + vc_vars: vcvars32.bat \ No newline at end of file