-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathLLVM-MSVC setup.iss
76 lines (60 loc) · 2.63 KB
/
LLVM-MSVC setup.iss
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
#dim Version[4]
#expr ParseVersion("bin\clang-cl.exe", Version[0], Version[1], Version[2], Version[3])
#define MyAppVersion Str(Version[0]) + "." + Str(Version[1]) + "." + Str(Version[2]) + "." + Str(Version[3])
#define MyAppName "llvm-msvc"
#define MyAppExeName "llvm-msvc_X86_64.exe"
[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppId={#MyAppName}
DefaultDirName="{src}\llvm-msvc_X86_64"
Compression=lzma2
SolidCompression=yes
DisableReadyPage=no
DisableReadyMemo=no
DisableStartupPrompt=yes
DisableFinishedPage=yes
DisableDirPage=no
Uninstallable=yes
OutputDir=Output\
OutputBaseFilename=llvm-msvc_X86_64_installer
PrivilegesRequired=admin
SetupIconFile = BELABS.ico
[Files]
;bin
Source: "bin\*.*"; DestDir: "{app}\bin\"; Flags: ignoreversion
;lib
Source: "lib\*"; DestDir: "{app}\lib"; Flags: ignoreversion recursesubdirs
;template
Source: "InstallTemplate.bat"; DestDir: "{app}\template\"; Flags: ignoreversion
Source: "UnInstallTemplate.bat"; DestDir: "{app}\template\"; Flags: ignoreversion
Source: "LLVM-MSVC\*"; DestDir: "{app}\template\LLVM-MSVC"; Flags: ignoreversion recursesubdirs
Source: "LLVM-MSVC_v140\*"; DestDir: "{app}\template\LLVM-MSVC_v140"; Flags: ignoreversion recursesubdirs
Source: "LLVM-MSVC_v140_xp\*"; DestDir: "{app}\template\LLVM-MSVC_v140_xp"; Flags: ignoreversion recursesubdirs
Source: "LLVM-MSVC_v141\*"; DestDir: "{app}\template\LLVM-MSVC_v141"; Flags: ignoreversion recursesubdirs
Source: "LLVM-MSVC_v141_xp\*"; DestDir: "{app}\template\LLVM-MSVC_v141_xp"; Flags: ignoreversion recursesubdirs
Source: "LLVM-MSVC_v142\*"; DestDir: "{app}\template\LLVM-MSVC_v142"; Flags: ignoreversion recursesubdirs
Source: "LLVM-MSVC_v143\*"; DestDir: "{app}\template\LLVM-MSVC_v143"; Flags: ignoreversion recursesubdirs
Source: "LLVM-MSVC_KernelMode\*"; DestDir: "{app}\template\LLVM-MSVC_KernelMode"; Flags: ignoreversion recursesubdirs
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
[Registry]
Root: HKLM; Subkey: "SOFTWARE\LLVM\LLVM-MSVC"; ValueType: "string"; ValueData: "{app}"
[Run]
Filename: {app}\template\InstallTemplate.bat; Flags: shellexec runhidden nowait;
[Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
ReturnCode: Integer;
begin
if CurUninstallStep = usUninstall then begin
Exec(ExpandConstant('{app}\template\UnInstallTemplate.bat'), '', '', SW_HIDE, ewWaitUntilTerminated, ReturnCode);
RegDeleteKeyIncludingSubkeys(HKEY_LOCAL_MACHINE, 'Software\LLVM\LLVM-MSVC');
DelTree(ExpandConstant('{app}\bin'), True, True, True);
DelTree(ExpandConstant('{app}\lib'), True, True, True);
end;
end;
function InitializeSetup(): Boolean;
begin
Result := true;
end;