fixed tabs -> spaces in the changelog
[deb_libcec.git] / support / create-installer.cmd
CommitLineData
09054f70
LOK
1@echo off
2
4d760b54 3rem Check for NSIS
7879fa15
LOK
4IF EXIST "%ProgramFiles%\NSIS\makensis.exe" (
5 set NSIS="%ProgramFiles%\NSIS\makensis.exe"
6) ELSE IF EXIST "%ProgramFiles(x86)%\NSIS\makensis.exe" (
7 set NSIS="%ProgramFiles(x86)%\NSIS\makensis.exe"
8) ELSE GOTO NONSIS
9
4d760b54 10rem Check for the Windows DDK
7879fa15
LOK
11IF NOT EXIST "C:\WinDDK\7600.16385.1" GOTO NODDK
12set DDK="C:\WinDDK\7600.16385.1"
09054f70 13
4d760b54 14rem Check for VC10
09054f70 15IF "%VS100COMNTOOLS%"=="" (
7879fa15 16 set COMPILER10="%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\VCExpress.exe"
09054f70 17) ELSE IF EXIST "%VS100COMNTOOLS%\..\IDE\VCExpress.exe" (
7879fa15 18 set COMPILER10="%VS100COMNTOOLS%\..\IDE\VCExpress.exe"
09054f70 19) ELSE IF EXIST "%VS100COMNTOOLS%\..\IDE\devenv.exe" (
7879fa15 20 set COMPILER10="%VS100COMNTOOLS%\..\IDE\devenv.exe"
4d760b54 21) ELSE GOTO NOSDK10
09054f70 22
4d760b54
LOK
23del /s /f /q ..\build
24mkdir ..\build
8dfe215b 25
566a8c68
LOK
26IF EXIST "..\support\p8-usbcec-driver-installer.exe" (
27 copy "..\support\p8-usbcec-driver-installer.exe" "..\build\."
28) ELSE (
29 call create-driver-installer.cmd
30)
8dfe215b 31
4d760b54
LOK
32mkdir ..\build\x64
33
8dfe215b
LOK
34cd ..\project
35
4d760b54
LOK
36rem Skip to libCEC/x86 when we're running on win32
37if "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" goto libcecx86
f00ff009 38
4d760b54
LOK
39rem Compile libCEC and cec-client x64
40echo. Cleaning libCEC (x64)
f00ff009 41%COMPILER10% libcec.sln /clean "Release|x64"
4d760b54 42echo. Compiling libCEC (x64)
f00ff009 43%COMPILER10% libcec.sln /build "Release|x64" /project libcec
4d760b54 44echo. Compiling cec-client (x64)
f00ff009 45%COMPILER10% libcec.sln /build "Release|x64" /project testclient
7879fa15 46
4d760b54
LOK
47:libcecx86
48rem Compile libCEC and cec-client Win32
49echo. Cleaning libCEC (x86)
50%COMPILER10% libcec.sln /clean "Release|Win32"
51echo. Compiling libCEC (x86)
52%COMPILER10% libcec.sln /build "Release|Win32" /project libcec
53echo. Compiling cec-client (x86)
54%COMPILER10% libcec.sln /build "Release|Win32" /project testclient
55
56rem Check for VC9
7879fa15
LOK
57IF "%VS90COMNTOOLS%"=="" (
58 set COMPILER9="%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\VCExpress.exe"
59) ELSE IF EXIST "%VS90COMNTOOLS%\..\IDE\VCExpress.exe" (
60 set COMPILER9="%VS90COMNTOOLS%\..\IDE\VCExpress.exe"
61) ELSE IF EXIST "%VS90COMNTOOLS%\..\IDE\devenv.exe" (
62 set COMPILER9="%VS90COMNTOOLS%\..\IDE\devenv.exe"
63) ELSE GOTO NOSDK9
64
4d760b54
LOK
65rem Skip to libCEC/x86 when we're running on win32
66if "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" goto libcecsharpx86
f00ff009 67
4d760b54
LOK
68rem Compile LibCecSharp (x64)
69echo. Cleaning LibCecSharp (x64)
f00ff009 70%COMPILER9% LibCecSharp.Net2.sln /clean "Release|x64"
4d760b54
LOK
71echo. Compiling LibCecSharp (x64)
72%COMPILER9% LibCecSharp.sln /build "Release|x64" /project LibCecSharp
73%COMPILER9% LibCecSharp.sln /build "Release|x64" /project CecSharpTester
10c03f2c 74%COMPILER9% LibCecSharp.sln /build "Release|x64" /project cec-config-gui
4d760b54
LOK
75
76copy ..\build\LibCecSharp.dll ..\build\x64\LibCecSharp.dll
77copy ..\build\CecSharpTester.exe ..\build\x64\CecSharpTester.exe
10c03f2c 78copy ..\build\cec-config-gui.exe ..\build\x64\cec-config-gui.exe
4d760b54
LOK
79
80:libcecsharpx86
81rem Compile LibCecSharp (x86)
82echo. Cleaning LibCecSharp (x86)
83%COMPILER9% LibCecSharp.sln /clean "Release|x86"
84echo. Compiling LibCecSharp (x86)
85%COMPILER9% LibCecSharp.sln /build "Release|x86" /project LibCecSharp
86%COMPILER9% LibCecSharp.sln /build "Release|x86" /project CecSharpTester
10c03f2c 87%COMPILER9% LibCecSharp.sln /build "Release|x86" /project cec-config-gui
09054f70 88
7879fa15 89:NOSDK9
4d760b54 90rem Clean things up before creating the installer
8dfe215b
LOK
91del /q /f ..\build\LibCecSharp.pdb
92del /q /f ..\build\CecSharpTester.pdb
10c03f2c
LOK
93del /q /f ..\build\cec-config-gui.pdb
94del /q /f ..\build\cec-config-gui.vshost.exe.manifest
95del /q /f ..\build\cec-config-gui.vshost.exe
4d760b54 96copy ..\build\cec-client.x64.exe ..\build\x64\cec-client.x64.exe
8dfe215b 97del /q /f ..\build\cec-client.x64.exe
4d760b54 98copy ..\build\libcec.x64.dll ..\build\x64\libcec.x64.dll
8dfe215b 99del /q /f ..\build\libcec.x64.dll
4d760b54 100copy ..\build\libcec.x64.lib ..\build\x64\libcec.x64.lib
8dfe215b 101del /q /f ..\build\libcec.x64.lib
4d760b54 102
7c6346eb
LOK
103rem Check for sign-binary.cmd, only present on the Pulse-Eight production build system
104rem Calls signtool.exe and signs the DLLs with Pulse-Eight's code signing key
105IF NOT EXIST "..\support\sign-binary.cmd" GOTO CREATEINSTALLER
106echo. Signing all binaries
107CALL ..\support\sign-binary.cmd ..\build\cec-client.exe
108CALL ..\support\sign-binary.cmd ..\build\CecSharpTester.exe
109CALL ..\support\sign-binary.cmd ..\build\libcec.dll
110CALL ..\support\sign-binary.cmd ..\build\LibCecSharp.dll
10c03f2c 111CALL ..\support\sign-binary.cmd ..\build\cec-config-gui.exe
7c6346eb
LOK
112CALL ..\support\sign-binary.cmd ..\build\x64\cec-client.x64.exe
113CALL ..\support\sign-binary.cmd ..\build\x64\CecSharpTester.exe
114CALL ..\support\sign-binary.cmd ..\build\x64\libcec.x64.dll
115CALL ..\support\sign-binary.cmd ..\build\x64\LibCecSharp.dll
10c03f2c 116CALL ..\support\sign-binary.cmd ..\build\x64\cec-config-gui.exe
7c6346eb
LOK
117
118:CREATEINSTALLER
4d760b54 119echo. Creating the installer
09054f70
LOK
120%NSIS% /V1 /X"SetCompressor /FINAL lzma" "libCEC.nsi"
121
7c6346eb
LOK
122IF NOT EXIST "..\build\libCEC-installer.exe" GOTO :ERRORCREATINGINSTALLER
123
124rem Sign the installer if sign-binary.cmd exists
125IF EXIST "..\support\sign-binary.cmd" (
126 echo. Signing the installer binaries
127 CALL ..\support\sign-binary.cmd ..\build\libCEC-installer.exe
128)
129
4d760b54
LOK
130echo. The installer can be found here: ..\build\libCEC-installer.exe
131
132GOTO EXIT
7879fa15 133
4d760b54
LOK
134:NOSDK10
135echo. Both Visual Studio 2010 and Visual C++ Express 2010 were not found on your system.
7879fa15
LOK
136GOTO EXIT
137
138:NOSIS
4d760b54 139echo. NSIS could not be found on your system.
7879fa15
LOK
140GOTO EXIT
141
142:NODDK
4d760b54 143echo. Windows DDK could not be found on your system
7c6346eb
LOK
144GOTO EXIT
145
146:ERRORCREATINGINSTALLER
147echo. The installer could not be created. The most likely cause is that something went wrong while compiling.
7879fa15 148
f00ff009 149:EXIT
8dfe215b
LOK
150del /q /f ..\build\cec-client.exe
151del /q /f ..\build\CecSharpTester.exe
10c03f2c 152del /q /f ..\build\cec-config-gui.exe
8dfe215b
LOK
153del /q /f ..\build\*.dll
154del /q /f ..\build\*.lib
155del /q /f ..\build\*.exp
156del /s /f /q ..\build\x64
157rmdir ..\build\x64
7c6346eb 158cd ..\support