-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.bat
140 lines (103 loc) · 3.99 KB
/
build.bat
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
@echo off
if "%1%"=="--help" (
echo HISE Build Script Windows
echo ================================================================================
echo build [--help] [--noaax]
echo.
echo This script can be used to build a project using the command line tool of HISE.
echo Options:
echo --help: shows this info
echo --noaax: deactivates AAX export. Use this for projects that can't use AAX format
echo.
echo Requirements:
echo 1. You need to compile HISE and store the path to HISE.exe as `hise_path`
echo 2. You need to have the HISE SDK set correctly: `HISE set_hise_folder -p:PATH`
echo 3. You need to have the following tools installed: git, InnoSetup
echo.
echo Requirements for building AAX
echo If you want to build the AAX version, you need the Pace wraptool 4 and have
echo two additional batch files, aaxconfig.bat and aaxsign.bat in the project root
echo.
echo ================================================================================
goto :end
)
REM STAGE 1: Configuration ==========================================================
REM set this to 0 to skip the installer
set buildInstaller=1
REM set this to 1 in order to build AAX
set buildAAX=0
REM set this to the plugin architecture
set buildArch=-a:x64
REM set this to the HISE binary. This must be the build from within the HISE source code folder!
set hise_path="D:\Development\HISE modules\projects\standalone\Builds\VisualStudio2022\x64\Release with Faust\App\HISE.exe"
REM set this to the plugin type (-t:instrument or -t:effect)
set project_type=-t:instrument
REM set this to the architecture -p:VST3 / -p:VST2 / -p:VST23AU
set plugin_format=-p:VST3
REM Set this to the exact value as the ProjectName in your project_info.xml
set plugin_name="VCSL Hise Edition"
REM Set this to 1 if you want to build the standalone app
set buildStandalone=0
REM Set this to the XML preset you want to load
set plugin_project_path="XmlPresetBackups/VCSL.xml"
REM STAGE 2: Building ==========================================================
set installer_command="C:\Program Files (x86)\Inno Setup 6\ISCC.exe"
if "%1%"=="--noaax" set buildAAX=0
:VariableCheck
echo Checking Environment variables
REM ====================================================================================
if %buildAAX%==1 (
echo Building AAX plugins is enabled.
echo Checking AAX Configuration before compiling
call aaxconfig.bat
)
if not defined hise_path (
set hise_path="D:\Development\HISE modules\projects\standalone\Builds\VisualStudio2017\x64\CI\App\HISE.exe"
)
REM Don't check the installer if not required...
if "%buildInstaller%"==0 (
goto :BuildProject
)
if not defined installer_command (
echo ERROR: The path to the Innosetup tool is not set: `installer_command`
exit /b 1
)
:BuildProject
echo Building Binaries...
REM ====================================================================================
echo Setting project folder
%hise_path% set_project_folder "-p:%~dp0"
%hise_path% clean --all
if %buildAAX%==1 (
echo Exporting %plugin_name% AAX Plugins
%hise_path% clean
%hise_path% export_ci %plugin_project_path% -ipp %project_type% -p:AAX %buildArch%
call Binaries/batchCompile.bat
)
if %buildStandalone%==1 (
echo Exporting %plugin_name% Standalone
%hise_path% clean
%hise_path% export_ci %plugin_project_path% -ipp -t:standalone %buildArch%
call Binaries/batchCompile.bat
)
echo Exporting %plugin_name% VST Plugin
%hise_path% clean
%hise_path% export_ci %plugin_project_path% -ipp %project_type% %plugin_format% %buildArch%
call Binaries/batchCompile.bat
:CopyFiles
echo Copying files
REM ====================================================================================
:SignAAX
echo Signing AAX plugins
REM ====================================================================================
if %buildAAX%==1 (
call aaxsign.bat
)
:BuildInstaller
echo Building installer
REM ====================================================================================
if %buildInstaller%==0 (
echo Skipping Installer
goto :EOF
)
:end