Commit | Line | Data |
---|---|---|
09054f70 LOK |
1 | @echo off |
2 | ||
948ee14e LOK |
3 | set EXITCODE=1 |
4 | ||
4d760b54 | 5 | rem Check for NSIS |
7879fa15 LOK |
6 | IF EXIST "%ProgramFiles%\NSIS\makensis.exe" ( |
7 | set NSIS="%ProgramFiles%\NSIS\makensis.exe" | |
8 | ) ELSE IF EXIST "%ProgramFiles(x86)%\NSIS\makensis.exe" ( | |
9 | set NSIS="%ProgramFiles(x86)%\NSIS\makensis.exe" | |
10 | ) ELSE GOTO NONSIS | |
11 | ||
58f3d0a9 LOK |
12 | rem Check for VC11 |
13 | IF "%VS110COMNTOOLS%"=="" ( | |
14 | set COMPILER11="%ProgramFiles%\Microsoft Visual Studio 11.0\Common7\IDE\VCExpress.exe" | |
15 | ) ELSE IF EXIST "%VS110COMNTOOLS%\..\IDE\VCExpress.exe" ( | |
16 | set COMPILER11="%VS110COMNTOOLS%\..\IDE\VCExpress.exe" | |
17 | ) ELSE IF EXIST "%VS110COMNTOOLS%\..\IDE\devenv.exe" ( | |
18 | set COMPILER11="%VS110COMNTOOLS%\..\IDE\devenv.exe" | |
b4196266 | 19 | ) ELSE GOTO NOSDK11 |
09054f70 | 20 | |
4d760b54 LOK |
21 | del /s /f /q ..\build |
22 | mkdir ..\build | |
8dfe215b | 23 | |
566a8c68 LOK |
24 | IF EXIST "..\support\p8-usbcec-driver-installer.exe" ( |
25 | copy "..\support\p8-usbcec-driver-installer.exe" "..\build\." | |
26 | ) ELSE ( | |
44f8f041 LOK |
27 | rem Check for the Windows DDK |
28 | IF NOT EXIST "C:\WinDDK\7600.16385.1" GOTO NODDK | |
29 | set DDK="C:\WinDDK\7600.16385.1" | |
30 | ||
566a8c68 LOK |
31 | call create-driver-installer.cmd |
32 | ) | |
8dfe215b | 33 | |
4d760b54 LOK |
34 | mkdir ..\build\x64 |
35 | ||
8dfe215b LOK |
36 | cd ..\project |
37 | ||
4d760b54 LOK |
38 | rem Skip to libCEC/x86 when we're running on win32 |
39 | if "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" goto libcecx86 | |
f00ff009 | 40 | |
4d760b54 LOK |
41 | rem Compile libCEC and cec-client x64 |
42 | echo. Cleaning libCEC (x64) | |
58f3d0a9 | 43 | %COMPILER11% libcec.sln /clean "Release|x64" |
4d760b54 | 44 | echo. Compiling libCEC (x64) |
58f3d0a9 | 45 | %COMPILER11% libcec.sln /build "Release|x64" |
7879fa15 | 46 | |
4d760b54 LOK |
47 | :libcecx86 |
48 | rem Compile libCEC and cec-client Win32 | |
49 | echo. Cleaning libCEC (x86) | |
58f3d0a9 | 50 | %COMPILER11% libcec.sln /clean "Release|x86" |
4d760b54 | 51 | echo. Compiling libCEC (x86) |
58f3d0a9 | 52 | %COMPILER11% libcec.sln /build "Release|x86" |
4d760b54 | 53 | |
4d760b54 | 54 | rem Clean things up before creating the installer |
8dfe215b LOK |
55 | del /q /f ..\build\LibCecSharp.pdb |
56 | del /q /f ..\build\CecSharpTester.pdb | |
f017f3c4 LOK |
57 | del /q /f ..\build\cec-tray.pdb |
58 | del /q /f ..\build\cec-tray.vshost.exe.manifest | |
59 | del /q /f ..\build\cec-.vshost.exe | |
58f3d0a9 LOK |
60 | del /q /f ..\build\x64\LibCecSharp.pdb |
61 | del /q /f ..\build\x64\CecSharpTester.pdb | |
62 | del /q /f ..\build\x64\cec-tray.pdb | |
63 | del /q /f ..\build\x64\cec-tray.vshost.exe.manifest | |
64 | del /q /f ..\build\x64\cec-.vshost.exe | |
4d760b54 | 65 | |
7c6346eb LOK |
66 | rem Check for sign-binary.cmd, only present on the Pulse-Eight production build system |
67 | rem Calls signtool.exe and signs the DLLs with Pulse-Eight's code signing key | |
d05a1e9c | 68 | IF NOT EXIST "..\support\private\sign-binary.cmd" GOTO CREATEINSTALLER |
7c6346eb | 69 | echo. Signing all binaries |
d05a1e9c LOK |
70 | CALL ..\support\private\sign-binary.cmd ..\build\cec-client.exe |
71 | CALL ..\support\private\sign-binary.cmd ..\build\CecSharpTester.exe | |
72 | CALL ..\support\private\sign-binary.cmd ..\build\libcec.dll | |
73 | CALL ..\support\private\sign-binary.cmd ..\build\LibCecSharp.dll | |
f017f3c4 | 74 | CALL ..\support\private\sign-binary.cmd ..\build\cec-tray.exe |
58f3d0a9 | 75 | CALL ..\support\private\sign-binary.cmd ..\build\x64\cec-client.exe |
d05a1e9c | 76 | CALL ..\support\private\sign-binary.cmd ..\build\x64\CecSharpTester.exe |
58f3d0a9 | 77 | CALL ..\support\private\sign-binary.cmd ..\build\x64\libcec.dll |
d05a1e9c | 78 | CALL ..\support\private\sign-binary.cmd ..\build\x64\LibCecSharp.dll |
f017f3c4 | 79 | CALL ..\support\private\sign-binary.cmd ..\build\x64\cec-tray.exe |
7c6346eb LOK |
80 | |
81 | :CREATEINSTALLER | |
4d760b54 | 82 | echo. Creating the installer |
b4196266 | 83 | cd ..\build\x64 |
eb7d0f1e LOK |
84 | copy libcec.dll libcec.x64.dll |
85 | copy cec-client.exe cec-client.x64.exe | |
b4196266 | 86 | cd ..\..\project |
09054f70 LOK |
87 | %NSIS% /V1 /X"SetCompressor /FINAL lzma" "libCEC.nsi" |
88 | ||
7c6346eb LOK |
89 | IF NOT EXIST "..\build\libCEC-installer.exe" GOTO :ERRORCREATINGINSTALLER |
90 | ||
91 | rem Sign the installer if sign-binary.cmd exists | |
d05a1e9c | 92 | IF EXIST "..\support\private\sign-binary.cmd" ( |
7c6346eb | 93 | echo. Signing the installer binaries |
d05a1e9c | 94 | CALL ..\support\private\sign-binary.cmd ..\build\libCEC-installer.exe |
7c6346eb LOK |
95 | ) |
96 | ||
924a6975 LOK |
97 | IF "%1%"=="" ( |
98 | echo. The installer can be found here: ..\build\libCEC-installer.exe | |
99 | ) ELSE ( | |
100 | move ..\build\libCEC-installer.exe ..\build\libCEC-%1%-installer.exe | |
101 | echo. The installer can be found here: ..\build\libCEC-%1%-installer.exe | |
102 | ) | |
4d760b54 | 103 | |
948ee14e | 104 | set EXITCODE=0 |
4d760b54 | 105 | GOTO EXIT |
7879fa15 | 106 | |
b4196266 LOK |
107 | :NOSDK11 |
108 | echo. Visual Studio 2012 was not found on your system. | |
7879fa15 LOK |
109 | GOTO EXIT |
110 | ||
111 | :NOSIS | |
4d760b54 | 112 | echo. NSIS could not be found on your system. |
7879fa15 LOK |
113 | GOTO EXIT |
114 | ||
115 | :NODDK | |
4d760b54 | 116 | echo. Windows DDK could not be found on your system |
7c6346eb LOK |
117 | GOTO EXIT |
118 | ||
119 | :ERRORCREATINGINSTALLER | |
120 | echo. The installer could not be created. The most likely cause is that something went wrong while compiling. | |
7879fa15 | 121 | |
f00ff009 | 122 | :EXIT |
8dfe215b LOK |
123 | del /q /f ..\build\cec-client.exe |
124 | del /q /f ..\build\CecSharpTester.exe | |
f017f3c4 | 125 | del /q /f ..\build\cec-tray.exe |
8dfe215b LOK |
126 | del /q /f ..\build\*.dll |
127 | del /q /f ..\build\*.lib | |
128 | del /q /f ..\build\*.exp | |
9884e9ff | 129 | del /q /f ..\build\*.xml |
b4196266 | 130 | del /q /f ..\build\*.metagen |
8dfe215b LOK |
131 | del /s /f /q ..\build\x64 |
132 | rmdir ..\build\x64 | |
44f8f041 LOK |
133 | cd ..\support |
134 | ||
3c9f1fb4 LOK |
135 | IF "%1%"=="" ( |
136 | echo. exitcode = %EXITCODE% | |
137 | ) ELSE ( | |
138 | exit %EXITCODE% | |
139 | ) | |
140 |