4 :: TODO return an error code when not completed as expected
\r
6 echo STARTING INSTALLER PROCESS...
\r
8 :: For windres + strip
\r
9 set PATH=%PATH%;%SystemDrive%\MinGW\bin
\r
12 pushd installer\pixmaps
\r
13 windres.exe viking_icon.rc -o viking_icon.o
\r
16 echo Remove debugging symbols
\r
18 strip.exe -g viking.exe
\r
22 set DESTINATION=installer\bin
\r
23 echo Copying locale files into layout required by NSIS
\r
24 dir ..\po\*.gmo /B > gmolist.txt
\r
25 :: Create directories like de\LC_MESSAGES
\r
26 for /f %%i in (gmolist.txt) do mkdir %DESTINATION%\locale\%%~ni\LC_MESSAGES
\r
27 for /f %%i in (gmolist.txt) do %MYCOPY% ..\po\%%i %DESTINATION%\locale\%%~ni\LC_MESSAGES\viking.mo
\r
31 %MYCOPY% ..\src\viking.exe %DESTINATION%
\r
32 %MYCOPY% installer\pixmaps\viking_icon.ico %DESTINATION%
\r
33 %MYCOPY% ..\COPYING %DESTINATION%\COPYING_GPL.txt
\r
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
43 echo Copying Libraries
\r
45 if not exist "%MINGW%" (
\r
46 echo Required %MINGW% does not exist
\r
50 set MINGW_BIN=%MINGW%\Bin
\r
52 set LIBCURL=%MINGW_BIN%\libcurl.dll
\r
53 if exist "%LIBCURL%" (
\r
54 %MYCOPY% "%LIBCURL%" %DESTINATION%
\r
55 %MYCOPY% "%MINGW%\COPYING_curl.txt" %DESTINATION%
\r
58 echo %LIBCURL% does not exist
\r
61 set LIBEXIF=%MINGW_BIN%\libexif-12.dll
\r
62 if exist "%LIBEXIF%" (
\r
63 %MYCOPY% "%LIBEXIF%" %DESTINATION%
\r
65 echo Required %LIBEXIF% does not exist
\r
68 set LIBBZ2=%MINGW_BIN%\libbz2-2.dll
\r
69 if exist "%LIBBZ2%" (
\r
70 %MYCOPY% "%LIBBZ2%" %DESTINATION%
\r
71 %MYCOPY% "%MINGW_BIN%\libgcc_s_dw2-1.dll" %DESTINATION%
\r
73 echo Required %LIBBZ2% does not exist
\r
76 set LIBMAGIC=%MINGW_BIN%\magic1.dll
\r
77 if 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
82 echo Required %LIBMAGIC% does not exist
\r
85 set LIBSQL3=%MINGW_BIN%\sqlite3.dll
\r
86 if exist "%LIBSQL3%" (
\r
87 %MYCOPY% "%LIBSQL3%" %DESTINATION%
\r
89 echo Required %LIBSQL3% does not exist
\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
96 echo Checking gtk runtime
\r
98 set GTK_RUNTIME=gtk2-runtime-2.24.10-2012-10-10-ash.exe
\r
100 if not exist %GTK_RUNTIME% (
\r
101 set PATH=%PATH%;%ProgramFiles%\GnuWin32\bin
\r
102 wget http://downloads.sourceforge.net/gtk-win/%GTK_RUNTIME%
\r
104 if not exist %GTK_RUNTIME% (
\r
105 echo Required GTK Runtime does not exist
\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
112 set /p PWD=<tmp.tmp
\r
114 cache\%GTK_RUNTIME% /sideeffects=no /setpath=no /dllpath=root /translations=no /compatdlls=yes /S /D=%PWD%\%DESTINATION%
\r
117 echo Copying Translations
\r
118 %MYCOPY% installer\translations\*nsh %DESTINATION%
\r
120 echo 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
124 if exist "%ProgramFiles%\GPSBabel\gpsbabel.exe" (
\r
125 %MYCOPY% "%ProgramFiles%\GPSBabel\gpsbabel.exe" %DESTINATION%
\r
126 %MYCOPY% "%ProgramFiles%\GPSBabel\libexpat.dll" %DESTINATION%
\r
128 echo GPSBabel missing
\r
132 echo Running NSIS (command line version)
\r
134 if exist "%ProgramFiles%\NSIS" (
\r
135 "%ProgramFiles%\NSIS\makensis.exe" viking-installer.nsi
\r
137 echo NSIS Not installed in known location
\r
143 rmdir /S /Q %DESTINATION%
\r