forked from minhngoc25a/freetype2
87 lines
3.3 KiB
YAML
87 lines
3.3 KiB
YAML
# This is a template for building and publishing freetype2 build artifacts using autotools
|
|
parameters:
|
|
- name: buildArgs # Configure flags
|
|
default: ''
|
|
- name: mingw # Mingw requires special enviormental setup
|
|
type: boolean
|
|
default: false
|
|
- name: preCMD # Command(s) executed before calling configure
|
|
default: ''
|
|
- name: srcDIR # Location of freetype2 sources
|
|
default: '.'
|
|
- name: postCMD # Command(s) executed after calling make
|
|
default: ''
|
|
|
|
steps:
|
|
- ${{ if eq(parameters.mingw, true) }}:
|
|
- script: |
|
|
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
|
|
cd $(Build.SourcesDirectory)
|
|
%CD:~0,2%\msys64\usr\bin\bash -lc "./autogen.sh && ./configure"
|
|
displayName: 'Configure'
|
|
env:
|
|
MSYSTEM: $(MINGW_UPPER)
|
|
CHERE_INVOKING: yes
|
|
MINGW_INSTALLS: $(MINGW_LOWER)
|
|
|
|
- script: |
|
|
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
|
|
%CD:~0,2%\msys64\usr\bin\bash -lc "make && make install DESTDIR=$(echo \"$(Build.BinariesDirectory)/install\" | tr '\\' '/')"
|
|
%CD:~0,2%\msys64\usr\bin\bash -lc "cp -R ${{ parameters.srcDIR }} $(echo \"$(Build.BinariesDirectory)/freetype2\" | tr '\\' '/')"
|
|
displayName: 'Build and Package'
|
|
env:
|
|
MSYSTEM: $(MINGW_UPPER)
|
|
CHERE_INVOKING: yes
|
|
MINGW_INSTALLS: $(MINGW_LOWER)
|
|
|
|
# Building Demos in mingw seems broken do to configuration error of it including termios.h in ttdebug.c which doesn't exist in mingw
|
|
#- script: |
|
|
# set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
|
|
# %CD:~0,2%\msys64\usr\bin\bash -lc "cd $(echo \"$(Build.BinariesDirectory)\" | tr '\\' '/') && git clone git://git.sv.nongnu.org/freetype/freetype2-demos.git && cd freetype2-demos && make && mv bin/ $(echo \"$(Build.BinariesDirectory)/install/demos\" | tr '\\' '/')"
|
|
# displayName: 'Build Demos'
|
|
# env:
|
|
# MSYSTEM: $(MINGW_UPPER)
|
|
# CHERE_INVOKING: yes
|
|
# MINGW_INSTALLS: $(MINGW_LOWER)
|
|
|
|
- script: |
|
|
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem"
|
|
%CD:~0,2%\msys64\usr\bin\bash -lc "zip -r $(echo \"$(Build.ArtifactStagingDirectory)/freetype-build.zip\" | tr '\\' '/') $(echo \"$(Build.BinariesDirectory)/install\" | tr '\\' '/')"
|
|
displayName: 'Stage Artifacts'
|
|
|
|
- ${{ if eq(parameters.mingw, false) }}:
|
|
- script: |
|
|
${{ parameters.preCMD }}
|
|
cd ${{ parameters.srcDIR }}
|
|
./autogen.sh
|
|
./configure ${{ parameters.buildArgs }}
|
|
${{ parameters.postCMD }}
|
|
displayName: 'Configure'
|
|
|
|
- script: |
|
|
${{ parameters.preCMD }}
|
|
cd ${{ parameters.srcDIR }}
|
|
make
|
|
make install DESTDIR=$(Build.BinariesDirectory)/install
|
|
${{ parameters.postCMD }}
|
|
displayName: 'Build and Install'
|
|
|
|
- script: |
|
|
cd ${{ parameters.srcDIR }}
|
|
git clone git://git.sv.nongnu.org/freetype/freetype2-demos.git
|
|
cd freetype2-demos
|
|
ln -s ${{ parameters.srcDIR }} ../freetype2
|
|
make
|
|
mv bin/ $(Build.BinariesDirectory)/install/demos
|
|
displayName: 'Build Demos'
|
|
|
|
- script: |
|
|
zip -r $(Build.ArtifactStagingDirectory)/freetype-build.zip $(Build.BinariesDirectory)/install
|
|
displayName: 'Stage Artifacts'
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
displayName: 'Push Build Artifacts'
|
|
inputs:
|
|
pathtoPublish: $(Build.ArtifactStagingDirectory)
|
|
artifactName: $(Agent.JobName)
|