-
Notifications
You must be signed in to change notification settings - Fork 14
/
azure-pipelines.yml
119 lines (88 loc) · 3.82 KB
/
azure-pipelines.yml
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
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger:
- master
jobs:
- job: Windows
pool:
vmImage: windows-2019
steps:
- task: DownloadSecureFile@1
inputs:
secureFile: 'idasdk70-win.7z'
- task: DownloadSecureFile@1
inputs:
secureFile: 'qt-win.7z'
- checkout: self
submodules: true
- powershell: |
cd $(Agent.TempDirectory)
Import-Module BitsTransfer
Invoke-WebRequest -Uri https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-win.zip -OutFile ninja-win.zip
7z x "$(Agent.TempDirectory)\\qt-win.7z" '-oqt563'
7z x "$(Agent.TempDirectory)\\idasdk70-win.7z" '-oidasdk70'
7z x ninja-win.zip '-o$(Build.SourcesDirectory)'
displayName: Install dependencies
- task: BatchScript@1
inputs:
filename: C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars64.bat
modifyEnvironment: true
- powershell: |
mkdir "$(Build.ArtifactStagingDirectory)\\no-py"
$env:PATH="$(Build.SourcesDirectory);$env:PATH"
$cl=Get-Command cl|Select-Object -ExpandProperty Definition
mkdir build64-no-py
cd build64-no-py
cmake .. "-DCMAKE_PREFIX_PATH=$(Agent.TempDirectory)\\qt563" -DPYTHON_SUPPORT=OFF -DIDA_BINARY_64=True -DIDA_EA_64=True "-DIDA_SDK=$(Agent.TempDirectory)\\idasdk70" -G Ninja -DCMAKE_CXX_COMPILER:FILEPATH=$cl -DCMAKE_C_COMPILER:FILEPATH=$cl -DCMAKE_BUILD_TYPE=RelWithDebInfo
ninja
copy palette\\src\\ida\\ida_palette64.dll $(Build.ArtifactStagingDirectory)\\no-py
cd ..
mkdir build32-no-py
cd build32-no-py
cmake .. "-DCMAKE_PREFIX_PATH=$(Agent.TempDirectory)\\qt563" -DPYTHON_SUPPORT=OFF -DIDA_BINARY_64=True -DIDA_EA_64=False "-DIDA_SDK=$(Agent.TempDirectory)\\idasdk70" -G Ninja -DCMAKE_CXX_COMPILER:FILEPATH=$cl -DCMAKE_C_COMPILER:FILEPATH=$cl -DCMAKE_BUILD_TYPE=RelWithDebInfo
ninja
copy palette\\src\\ida\\ida_palette.dll $(Build.ArtifactStagingDirectory)\\no-py
displayName: Build
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'win-7.x-both'
- job: MacOSX
pool:
vmImage: macOS-12
steps:
- task: DownloadSecureFile@1
inputs:
secureFile: 'idasdk70-mac.zip'
- task: DownloadSecureFile@1
inputs:
secureFile: 'idalib-7.0-mac.zip'
- task: DownloadSecureFile@1
inputs:
secureFile: 'qt5.6.0.txz'
- checkout: self
submodules: true
- script: |
brew install cmake ninja
cd $(Build.SourcesDirectory)
unzip $(Agent.TempDirectory)/idasdk70-mac.zip -d idasdk70
unzip $(Agent.TempDirectory)/idalib-7.0-mac.zip -d idalib-7.0
tar xvf $(Agent.TempDirectory)/qt5.6.0.txz || exit 100
mkdir $(Build.ArtifactStagingDirectory)
mkdir ../build64
cd ../build64
cmake $(Build.SourcesDirectory) -DPYTHON_SUPPORT=OFF -DCMAKE_PREFIX_PATH=$PWD/../qt560/clang_64 -DIDA_SDK=$PWD/../idasdk70 -DIDA_BINARY_64=True -DIDA_EA_64=True -GNinja -DIDA_INSTALL_DIR=$PWD/../idalib-7.0/MacOS -DCMAKE_BUILD_TYPE=RelWithDebInfo
ninja
cp palette/src/ida/ida_palette64.dylib $(Build.ArtifactStagingDirectory)
mkdir ../build32
cd ../build32
cmake $(Build.SourcesDirectory) -DPYTHON_SUPPORT=OFF -DCMAKE_PREFIX_PATH=$PWD/../qt560/clang_64 -DIDA_SDK=$PWD/../idasdk70 -DIDA_BINARY_64=True -DIDA_EA_64=False -GNinja -DIDA_INSTALL_DIR=$PWD/../idalib-7.0/MacOS -DCMAKE_BUILD_TYPE=RelWithDebInfo
ninja
cp palette/src/ida/ida_palette.dylib $(Build.ArtifactStagingDirectory)
displayName: 'Build'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'mac-7.x-both'