name: tcl$(TkSourceTag)_$(Date:yyyyMMdd)$(Rev:.rr) variables: IntDir: '$(Build.BinariesDirectory)\obj' ExternalsDir: '$(Build.BinariesDirectory)\externals' OutDir: '$(Build.ArtifactStagingDirectory)' Configuration: 'Release' # MUST BE SET AT QUEUE TIME # SigningCertificate: 'Python Software Foundation' # SourcesRepo: 'https://github.com/python/cpython-source-deps' # TclSourceTag: 'tcl-core-8.6.12.0' # TkSourceTag: 'tk-8.6.12.0' # TixSourceTag: 'tix-8.4.3.6' jobs: - job: Build_TclTk displayName: 'Tcl/Tk' pool: name: 'Windows Release' #vmImage: windows-latest workspace: clean: all steps: - template: ./find-tools.yml - powershell: | git clone $(SourcesRepo) -b $(TclSourceTag) --depth 1 "$(ExternalsDir)\$(TclSourceTag)" displayName: 'Check out Tcl sources' - powershell: | git clone $(SourcesRepo) -b $(TkSourceTag) --depth 1 "$(ExternalsDir)\$(TkSourceTag)" displayName: 'Check out Tk sources' - powershell: | git clone $(SourcesRepo) -b $(TixSourceTag) --depth 1 "$(ExternalsDir)\$(TixSourceTag)" displayName: 'Check out Tix sources' # This msbuild.rsp file will be used by the build to forcibly override these variables - powershell: | del -Force -EA 0 msbuild.rsp "/p:IntDir=$(IntDir)\" >> msbuild.rsp "/p:ExternalsDir=$(ExternalsDir)\" >> msbuild.rsp "/p:tclDir=$(ExternalsDir)\$(TclSourceTag)\" >> msbuild.rsp "/p:tkDir=$(ExternalsDir)\$(TkSourceTag)\" >> msbuild.rsp "/p:tixDir=$(ExternalsDir)\$(TixSourceTag)\" >> msbuild.rsp displayName: 'Generate msbuild.rsp' - powershell: | & "$(msbuild)" PCbuild\tcl.vcxproj "@msbuild.rsp" /p:Platform=Win32 /p:tcltkDir="$(OutDir)\win32" & "$(msbuild)" PCbuild\tk.vcxproj "@msbuild.rsp" /p:Platform=Win32 /p:tcltkDir="$(OutDir)\win32" & "$(msbuild)" PCbuild\tix.vcxproj "@msbuild.rsp" /p:Platform=Win32 /p:tcltkDir="$(OutDir)\win32" displayName: 'Build for win32' - powershell: | & "$(msbuild)" PCbuild\tcl.vcxproj "@msbuild.rsp" /p:Platform=x64 /p:tcltkDir="$(OutDir)\amd64" & "$(msbuild)" PCbuild\tk.vcxproj "@msbuild.rsp" /p:Platform=x64 /p:tcltkDir="$(OutDir)\amd64" & "$(msbuild)" PCbuild\tix.vcxproj "@msbuild.rsp" /p:Platform=x64 /p:tcltkDir="$(OutDir)\amd64" displayName: 'Build for amd64' - powershell: | & "$(msbuild)" PCbuild\tcl.vcxproj "@msbuild.rsp" /p:Platform=ARM64 /p:tcltkDir="$(OutDir)\arm64" & "$(msbuild)" PCbuild\tk.vcxproj "@msbuild.rsp" /p:Platform=ARM64 /p:tcltkDir="$(OutDir)\arm64" & "$(msbuild)" PCbuild\tix.vcxproj "@msbuild.rsp" /p:Platform=ARM64 /p:tcltkDir="$(OutDir)\arm64" displayName: 'Build for arm64' - publish: '$(OutDir)' artifact: 'tcltk' displayName: 'Publishing tcltk'