]>
Commit | Line | Data |
---|---|---|
26edf476 | 1 | @echo OFF\r |
ba3695b5 | 2 | :: License: CC0\r |
59a4fc6d RN |
3 | ::\r |
4 | :: TODO return an error code when not completed as expected\r | |
5 | ::\r | |
26edf476 RN |
6 | echo STARTING INSTALLER PROCESS...\r |
7 | \r | |
d07deb3f | 8 | :: For strip\r |
59a4fc6d RN |
9 | set PATH=%PATH%;%SystemDrive%\MinGW\bin\r |
10 | \r | |
26edf476 RN |
11 | echo Remove debugging symbols\r |
12 | pushd ..\src\r | |
13 | strip.exe -g viking.exe\r | |
14 | popd\r | |
15 | \r | |
16 | set MYCOPY=copy /y\r | |
17 | set DESTINATION=installer\bin\r | |
18 | echo Copying locale files into layout required by NSIS\r | |
19 | dir ..\po\*.gmo /B > gmolist.txt\r | |
20 | :: Create directories like de\LC_MESSAGES\r | |
59a4fc6d RN |
21 | for /f %%i in (gmolist.txt) do mkdir %DESTINATION%\locale\%%~ni\LC_MESSAGES\r |
22 | for /f %%i in (gmolist.txt) do %MYCOPY% ..\po\%%i %DESTINATION%\locale\%%~ni\LC_MESSAGES\viking.mo\r | |
26edf476 RN |
23 | del gmolist.txt\r |
24 | \r | |
ae6e6631 | 25 | echo Copying Viking\r |
26edf476 RN |
26 | %MYCOPY% ..\src\viking.exe %DESTINATION%\r |
27 | %MYCOPY% installer\pixmaps\viking_icon.ico %DESTINATION%\r | |
28 | %MYCOPY% ..\COPYING %DESTINATION%\COPYING_GPL.txt\r | |
59a4fc6d RN |
29 | %MYCOPY% ..\AUTHORS %DESTINATION%\AUTHORS.txt\r |
30 | %MYCOPY% ..\NEWS %DESTINATION%\NEWS.txt\r | |
31 | %MYCOPY% ..\README %DESTINATION%\README.txt\r | |
32 | :: ATM this relies on being generated by an external system\r | |
33 | %MYCOPY% cache\ChangeLog.txt %DESTINATION%\r | |
34 | :: ATM this relies on being generated by an external system\r | |
35 | %MYCOPY% ..\help\C\viking.pdf %DESTINATION%\r | |
be33ea12 RN |
36 | :: Python cache converter tool\r |
37 | %MYCOPY% ..\tools\viking-cache.py %DESTINATION%\r | |
59a4fc6d | 38 | \r |
ab2d70a6 RN |
39 | echo Copying Extension Configuration Data\r |
40 | mkdir %DESTINATION%\data\r | |
41 | %MYCOPY% ..\data\*.xml %DESTINATION%\data\r | |
fe559ece | 42 | %MYCOPY% ..\data\latlontz.txt %DESTINATION%\data\r |
59a4fc6d | 43 | \r |
ae6e6631 | 44 | echo Copying Libraries\r |
c5d5f114 | 45 | set MINGW=%SystemDrive%\MinGW |
59a4fc6d RN |
46 | if not exist "%MINGW%" (\r |
47 | echo Required %MINGW% does not exist\r | |
48 | goto Tidy\r | |
49 | )\r | |
50 | \r | |
51 | set MINGW_BIN=%MINGW%\Bin\r | |
52 | \r | |
7097c6b4 | 53 | REM Curl 7.17+ has quite a few dependencies for SSL support |
59a4fc6d RN |
54 | set LIBCURL=%MINGW_BIN%\libcurl.dll\r |
55 | if exist "%LIBCURL%" (\r | |
56 | %MYCOPY% "%LIBCURL%" %DESTINATION%\r | |
7097c6b4 RN |
57 | %MYCOPY% "%MINGW_BIN%\libeay32.dll" %DESTINATION% |
58 | %MYCOPY% "%MINGW_BIN%\librtmp.dll" %DESTINATION% | |
59 | %MYCOPY% "%MINGW_BIN%\libssh2.dll" %DESTINATION% | |
60 | %MYCOPY% "%MINGW_BIN%\libidn-11.dll" %DESTINATION% | |
61 | %MYCOPY% "%MINGW_BIN%\ssleay32.dll" %DESTINATION% | |
62 | :: %MYCOPY% "%MINGW_BIN%\zlib1.dll" %DESTINATION% | |
59a4fc6d | 63 | %MYCOPY% "%MINGW%\COPYING_curl.txt" %DESTINATION%\r |
ae6e6631 RN |
64 | ) else (\r |
65 | echo %LIBCURL% does not exist\r | |
66 | goto Tidy\r | |
67 | )\r | |
59a4fc6d RN |
68 | set LIBEXIF=%MINGW_BIN%\libexif-12.dll\r |
69 | if exist "%LIBEXIF%" (\r | |
70 | %MYCOPY% "%LIBEXIF%" %DESTINATION%\r | |
ae6e6631 | 71 | ) else (\r |
59a4fc6d | 72 | echo Required %LIBEXIF% does not exist\r |
ae6e6631 RN |
73 | goto Tidy\r |
74 | )\r | |
003cc4e3 RN |
75 | set LIBBZ2=%MINGW_BIN%\libbz2-2.dll\r |
76 | if exist "%LIBBZ2%" (\r | |
77 | %MYCOPY% "%LIBBZ2%" %DESTINATION%\r | |
78 | %MYCOPY% "%MINGW_BIN%\libgcc_s_dw2-1.dll" %DESTINATION%\r | |
79 | ) else (\r | |
80 | echo Required %LIBBZ2% does not exist\r | |
81 | goto Tidy\r | |
82 | )\r | |
498efdef RN |
83 | set LIBMAGIC=%MINGW_BIN%\magic1.dll\r |
84 | if exist "%LIBMAGIC%" (\r | |
85 | %MYCOPY% "%LIBMAGIC%" %DESTINATION%\r | |
86 | %MYCOPY% "%MINGW_BIN%\regex2.dll" %DESTINATION%\r | |
87 | %MYCOPY% "%MINGW%\share\misc\magic.mgc" %DESTINATION%\r | |
88 | ) else (\r | |
89 | echo Required %LIBMAGIC% does not exist\r | |
90 | goto Tidy\r | |
91 | )\r | |
9412daf4 RN |
92 | set LIBSQL3=%MINGW_BIN%\sqlite3.dll\r |
93 | if exist "%LIBSQL3%" (\r | |
94 | %MYCOPY% "%LIBSQL3%" %DESTINATION%\r | |
95 | ) else (\r | |
96 | echo Required %LIBSQL3% does not exist\r | |
97 | goto Tidy\r | |
98 | )\r | |
59a4fc6d RN |
99 | \r |
100 | :: TODO Maybe embed http://gtk-win.sourceforge.net/home/index.php/Main/EmbeddingGTK directly in NSIS?\r | |
101 | :: Best to use the same GTK version as we built against in prepare.bat!!\r | |
102 | echo =+=+=\r | |
103 | echo Checking gtk runtime\r | |
104 | echo =+=+=\r | |
105 | set GTK_RUNTIME=gtk2-runtime-2.24.10-2012-10-10-ash.exe\r | |
106 | pushd cache\r | |
107 | if not exist %GTK_RUNTIME% (\r | |
108 | set PATH=%PATH%;%ProgramFiles%\GnuWin32\bin\r | |
109 | wget http://downloads.sourceforge.net/gtk-win/%GTK_RUNTIME%\r | |
110 | )\r | |
111 | if not exist %GTK_RUNTIME% (\r | |
112 | echo Required GTK Runtime does not exist\r | |
113 | goto Tidy\r | |
114 | )\r | |
115 | :: Install GTK into temporary location so we can repackage it\r | |
116 | :: Destination path appears to have to be an absolute kind\r | |
117 | popd\r | |
118 | cd > tmp.tmp\r | |
119 | set /p PWD=<tmp.tmp\r | |
120 | del tmp.tmp\r | |
121 | cache\%GTK_RUNTIME% /sideeffects=no /setpath=no /dllpath=root /translations=no /compatdlls=yes /S /D=%PWD%\%DESTINATION%\r | |
122 | \r | |
f570ee2b RN |
123 | echo Copying GPSBabel Installer |
124 | mkdir %DESTINATION%\Optional | |
125 | %MYCOPY% cache\GPSBabel-1.5.1-Setup.exe %DESTINATION%\Optional | |
126 | if ERRORLEVEL 1 goto Error | |
127 | ||
26edf476 | 128 | ::\r |
ae6e6631 | 129 | echo Copying Translations\r |
26edf476 | 130 | %MYCOPY% installer\translations\*nsh %DESTINATION%\r |
f570ee2b | 131 | if ERRORLEVEL 1 goto Error |
59a4fc6d | 132 | \r |
ae6e6631 | 133 | echo Running NSIS (command line version)\r |
26edf476 | 134 | pushd installer\r |
ae6e6631 RN |
135 | if exist "%ProgramFiles%\NSIS" (\r |
136 | "%ProgramFiles%\NSIS\makensis.exe" viking-installer.nsi\r | |
137 | ) else (\r | |
138 | echo NSIS Not installed in known location\r | |
139 | )\r | |
26edf476 RN |
140 | popd\r |
141 | \r | |
f570ee2b RN |
142 | goto Tidy |
143 | ||
144 | :Error | |
145 | echo Exitting due to error: %ERRORLEVEL% | |
146 | ||
ae6e6631 | 147 | :Tidy\r |
f570ee2b | 148 | echo Tidy Up |
ae6e6631 | 149 | rmdir /S /Q %DESTINATION%\r |