]> git.street.me.uk Git - andy/viking.git/blame - win32/installer.bat
Add support for reading waypoint specific URL fields in GPX1.0 files.
[andy/viking.git] / win32 / installer.bat
CommitLineData
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
6echo STARTING INSTALLER PROCESS...\r
7\r
59a4fc6d
RN
8:: For windres + strip\r
9set PATH=%PATH%;%SystemDrive%\MinGW\bin\r
10\r
26edf476
RN
11echo Create Icon\r
12pushd installer\pixmaps\r
13windres.exe viking_icon.rc -o viking_icon.o\r
14popd\r
15\r
16echo Remove debugging symbols\r
17pushd ..\src\r
18strip.exe -g viking.exe\r
19popd\r
20\r
21set MYCOPY=copy /y\r
22set DESTINATION=installer\bin\r
23echo Copying locale files into layout required by NSIS\r
24dir ..\po\*.gmo /B > gmolist.txt\r
25:: Create directories like de\LC_MESSAGES\r
59a4fc6d
RN
26for /f %%i in (gmolist.txt) do mkdir %DESTINATION%\locale\%%~ni\LC_MESSAGES\r
27for /f %%i in (gmolist.txt) do %MYCOPY% ..\po\%%i %DESTINATION%\locale\%%~ni\LC_MESSAGES\viking.mo\r
26edf476
RN
28del gmolist.txt\r
29\r
ae6e6631 30echo Copying Viking\r
26edf476
RN
31%MYCOPY% ..\src\viking.exe %DESTINATION%\r
32%MYCOPY% installer\pixmaps\viking_icon.ico %DESTINATION%\r
33%MYCOPY% ..\COPYING %DESTINATION%\COPYING_GPL.txt\r
59a4fc6d
RN
34%MYCOPY% ..\AUTHORS %DESTINATION%\AUTHORS.txt\r
35%MYCOPY% ..\NEWS %DESTINATION%\NEWS.txt\r
36%MYCOPY% ..\README %DESTINATION%\README.txt\r
37:: ATM this relies on being generated by an external system\r
38%MYCOPY% cache\ChangeLog.txt %DESTINATION%\r
39:: ATM this relies on being generated by an external system\r
40%MYCOPY% ..\help\C\viking.pdf %DESTINATION%\r
41\r
42\r
ae6e6631 43echo Copying Libraries\r
59a4fc6d
RN
44set MINGW=C:\MinGW\r
45if not exist "%MINGW%" (\r
46 echo Required %MINGW% does not exist\r
47 goto Tidy\r
48)\r
49\r
50set MINGW_BIN=%MINGW%\Bin\r
51\r
52set LIBCURL=%MINGW_BIN%\libcurl.dll\r
53if exist "%LIBCURL%" (\r
54 %MYCOPY% "%LIBCURL%" %DESTINATION%\r
55 %MYCOPY% "%MINGW%\COPYING_curl.txt" %DESTINATION%\r
56\r
ae6e6631
RN
57) else (\r
58 echo %LIBCURL% does not exist\r
59 goto Tidy\r
60)\r
59a4fc6d
RN
61set LIBEXIF=%MINGW_BIN%\libexif-12.dll\r
62if exist "%LIBEXIF%" (\r
63 %MYCOPY% "%LIBEXIF%" %DESTINATION%\r
ae6e6631 64) else (\r
59a4fc6d 65 echo Required %LIBEXIF% does not exist\r
ae6e6631
RN
66 goto Tidy\r
67)\r
003cc4e3
RN
68set LIBBZ2=%MINGW_BIN%\libbz2-2.dll\r
69if exist "%LIBBZ2%" (\r
70 %MYCOPY% "%LIBBZ2%" %DESTINATION%\r
71 %MYCOPY% "%MINGW_BIN%\libgcc_s_dw2-1.dll" %DESTINATION%\r
72) else (\r
73 echo Required %LIBBZ2% does not exist\r
74 goto Tidy\r
75)\r
498efdef
RN
76set LIBMAGIC=%MINGW_BIN%\magic1.dll\r
77if exist "%LIBMAGIC%" (\r
78 %MYCOPY% "%LIBMAGIC%" %DESTINATION%\r
79 %MYCOPY% "%MINGW_BIN%\regex2.dll" %DESTINATION%\r
80 %MYCOPY% "%MINGW%\share\misc\magic.mgc" %DESTINATION%\r
81) else (\r
82 echo Required %LIBMAGIC% does not exist\r
83 goto Tidy\r
84)\r
9412daf4
RN
85set LIBSQL3=%MINGW_BIN%\sqlite3.dll\r
86if exist "%LIBSQL3%" (\r
87 %MYCOPY% "%LIBSQL3%" %DESTINATION%\r
88) else (\r
89 echo Required %LIBSQL3% does not exist\r
90 goto Tidy\r
91)\r
59a4fc6d
RN
92\r
93:: TODO Maybe embed http://gtk-win.sourceforge.net/home/index.php/Main/EmbeddingGTK directly in NSIS?\r
94:: Best to use the same GTK version as we built against in prepare.bat!!\r
95echo =+=+=\r
96echo Checking gtk runtime\r
97echo =+=+=\r
98set GTK_RUNTIME=gtk2-runtime-2.24.10-2012-10-10-ash.exe\r
99pushd cache\r
100if not exist %GTK_RUNTIME% (\r
101 set PATH=%PATH%;%ProgramFiles%\GnuWin32\bin\r
102 wget http://downloads.sourceforge.net/gtk-win/%GTK_RUNTIME%\r
103)\r
104if not exist %GTK_RUNTIME% (\r
105 echo Required GTK Runtime does not exist\r
106 goto Tidy\r
107)\r
108:: Install GTK into temporary location so we can repackage it\r
109:: Destination path appears to have to be an absolute kind\r
110popd\r
111cd > tmp.tmp\r
112set /p PWD=<tmp.tmp\r
113del tmp.tmp\r
114cache\%GTK_RUNTIME% /sideeffects=no /setpath=no /dllpath=root /translations=no /compatdlls=yes /S /D=%PWD%\%DESTINATION%\r
115\r
26edf476 116::\r
ae6e6631 117echo Copying Translations\r
26edf476
RN
118%MYCOPY% installer\translations\*nsh %DESTINATION%\r
119\r
59a4fc6d
RN
120echo Copying GPSBabel\r
121:: Install it from http://www.gpsbabel.org/download.html\r
122:: Thus GPSBabel should be here\r
123:: NB GPSBabel has standard GPL2 COPYING.txt file so don't need another copy\r
124if exist "%ProgramFiles%\GPSBabel\gpsbabel.exe" (\r
125 %MYCOPY% "%ProgramFiles%\GPSBabel\gpsbabel.exe" %DESTINATION%\r
126 %MYCOPY% "%ProgramFiles%\GPSBabel\libexpat.dll" %DESTINATION%\r
127) else (\r
128 echo GPSBabel missing\r
129 goto Tidy\r
130)\r
131\r
ae6e6631 132echo Running NSIS (command line version)\r
26edf476 133pushd installer\r
ae6e6631
RN
134if exist "%ProgramFiles%\NSIS" (\r
135 "%ProgramFiles%\NSIS\makensis.exe" viking-installer.nsi\r
136) else (\r
137 echo NSIS Not installed in known location\r
138)\r
26edf476
RN
139popd\r
140\r
ae6e6631
RN
141echo Tidy Up\r
142:Tidy\r
143rmdir /S /Q %DESTINATION%\r