]> git.street.me.uk Git - andy/viking.git/blobdiff - win32/installer.bat
Make generation of the copyright year in the code automatic.
[andy/viking.git] / win32 / installer.bat
index a200e1b207788cf2891b6c881d1276d5887f3d4d..699019adf27dc05894759a832a68f5658ba8cc2f 100644 (file)
@@ -1,17 +1,13 @@
 @echo OFF\r
 @echo OFF\r
+:: License: CC0\r
 ::\r
 :: TODO return an error code when not completed as expected\r
 ::\r
 echo STARTING INSTALLER PROCESS...\r
 \r
 ::\r
 :: TODO return an error code when not completed as expected\r
 ::\r
 echo STARTING INSTALLER PROCESS...\r
 \r
-:: For windres + strip\r
+:: For strip\r
 set PATH=%PATH%;%SystemDrive%\MinGW\bin\r
 \r
 set PATH=%PATH%;%SystemDrive%\MinGW\bin\r
 \r
-echo Create Icon\r
-pushd installer\pixmaps\r
-windres.exe viking_icon.rc -o viking_icon.o\r
-popd\r
-\r
 echo Remove debugging symbols\r
 pushd ..\src\r
 strip.exe -g viking.exe\r
 echo Remove debugging symbols\r
 pushd ..\src\r
 strip.exe -g viking.exe\r
@@ -37,10 +33,16 @@ echo Copying Viking
 %MYCOPY% cache\ChangeLog.txt %DESTINATION%\r
 :: ATM this relies on being generated by an external system\r
 %MYCOPY% ..\help\C\viking.pdf %DESTINATION%\r
 %MYCOPY% cache\ChangeLog.txt %DESTINATION%\r
 :: ATM this relies on being generated by an external system\r
 %MYCOPY% ..\help\C\viking.pdf %DESTINATION%\r
+:: Python cache converter tool\r
+%MYCOPY% ..\tools\viking-cache.py %DESTINATION%\r
 \r
 \r
+echo Copying Extension Configuration Data\r
+mkdir %DESTINATION%\data\r
+%MYCOPY% ..\data\*.xml %DESTINATION%\data\r
+%MYCOPY% ..\data\latlontz.txt %DESTINATION%\data\r
 \r
 echo Copying Libraries\r
 \r
 echo Copying Libraries\r
-set MINGW=C:\MinGW\r
+set MINGW=%SystemDrive%\MinGW
 if not exist "%MINGW%" (\r
        echo Required %MINGW% does not exist\r
        goto Tidy\r
 if not exist "%MINGW%" (\r
        echo Required %MINGW% does not exist\r
        goto Tidy\r
@@ -48,11 +50,17 @@ if not exist "%MINGW%" (
 \r
 set MINGW_BIN=%MINGW%\Bin\r
 \r
 \r
 set MINGW_BIN=%MINGW%\Bin\r
 \r
+REM Curl 7.17+ has quite a few dependencies for SSL support
 set LIBCURL=%MINGW_BIN%\libcurl.dll\r
 if exist "%LIBCURL%" (\r
        %MYCOPY% "%LIBCURL%" %DESTINATION%\r
 set LIBCURL=%MINGW_BIN%\libcurl.dll\r
 if exist "%LIBCURL%" (\r
        %MYCOPY% "%LIBCURL%" %DESTINATION%\r
+       %MYCOPY% "%MINGW_BIN%\libeay32.dll" %DESTINATION%
+       %MYCOPY% "%MINGW_BIN%\librtmp.dll" %DESTINATION%
+       %MYCOPY% "%MINGW_BIN%\libssh2.dll" %DESTINATION%
+       %MYCOPY% "%MINGW_BIN%\libidn-11.dll" %DESTINATION%
+       %MYCOPY% "%MINGW_BIN%\ssleay32.dll" %DESTINATION%
+::     %MYCOPY% "%MINGW_BIN%\zlib1.dll" %DESTINATION%
        %MYCOPY% "%MINGW%\COPYING_curl.txt" %DESTINATION%\r
        %MYCOPY% "%MINGW%\COPYING_curl.txt" %DESTINATION%\r
-\r
 ) else (\r
        echo %LIBCURL% does not exist\r
        goto Tidy\r
 ) else (\r
        echo %LIBCURL% does not exist\r
        goto Tidy\r
@@ -64,6 +72,37 @@ if exist "%LIBEXIF%" (
        echo Required %LIBEXIF% does not exist\r
        goto Tidy\r
 )\r
        echo Required %LIBEXIF% does not exist\r
        goto Tidy\r
 )\r
+set LIBBZ2=%MINGW_BIN%\libbz2-2.dll\r
+if exist "%LIBBZ2%" (\r
+       %MYCOPY% "%LIBBZ2%" %DESTINATION%\r
+       %MYCOPY% "%MINGW_BIN%\libgcc_s_dw2-1.dll" %DESTINATION%\r
+) else (\r
+       echo Required %LIBBZ2% does not exist\r
+       goto Tidy\r
+)\r
+set LIBMAGIC=%MINGW_BIN%\magic1.dll\r
+if exist "%LIBMAGIC%" (\r
+       %MYCOPY% "%LIBMAGIC%" %DESTINATION%\r
+       %MYCOPY% "%MINGW_BIN%\regex2.dll" %DESTINATION%\r
+       %MYCOPY% "%MINGW%\share\misc\magic.mgc" %DESTINATION%\r
+) else (\r
+       echo Required %LIBMAGIC% does not exist\r
+       goto Tidy\r
+)\r
+set LIBSQL3=%MINGW_BIN%\sqlite3.dll\r
+if exist "%LIBSQL3%" (\r
+       %MYCOPY% "%LIBSQL3%" %DESTINATION%\r
+) else (\r
+       echo Required %LIBSQL3% does not exist\r
+       goto Tidy\r
+)\r
+set LIBZIP=%MINGW_BIN%\libzip.dll\r
+if exist "%LIBZIP%" (\r
+       %MYCOPY% "%LIBZIP%" %DESTINATION%\r
+) else (\r
+       echo Required %LIBZIP% does not exist\r
+       goto Tidy\r
+)\r
 \r
 :: TODO Maybe embed http://gtk-win.sourceforge.net/home/index.php/Main/EmbeddingGTK directly in NSIS?\r
 :: Best to use the same GTK version as we built against in prepare.bat!!\r
 \r
 :: TODO Maybe embed http://gtk-win.sourceforge.net/home/index.php/Main/EmbeddingGTK directly in NSIS?\r
 :: Best to use the same GTK version as we built against in prepare.bat!!\r
@@ -88,21 +127,15 @@ set /p PWD=<tmp.tmp
 del tmp.tmp\r
 cache\%GTK_RUNTIME% /sideeffects=no /setpath=no /dllpath=root /translations=no /compatdlls=yes /S /D=%PWD%\%DESTINATION%\r
 \r
 del tmp.tmp\r
 cache\%GTK_RUNTIME% /sideeffects=no /setpath=no /dllpath=root /translations=no /compatdlls=yes /S /D=%PWD%\%DESTINATION%\r
 \r
+echo Copying GPSBabel Installer
+mkdir %DESTINATION%\Optional
+%MYCOPY% cache\GPSBabel-1.5.2-Setup.exe %DESTINATION%\Optional
+if ERRORLEVEL 1 goto Error
+
 ::\r
 echo Copying Translations\r
 %MYCOPY% installer\translations\*nsh %DESTINATION%\r
 ::\r
 echo Copying Translations\r
 %MYCOPY% installer\translations\*nsh %DESTINATION%\r
-\r
-echo Copying GPSBabel\r
-:: Install it from http://www.gpsbabel.org/download.html\r
-::  Thus GPSBabel should be here\r
-:: NB GPSBabel has standard GPL2 COPYING.txt file so don't need another copy\r
-if exist "%ProgramFiles%\GPSBabel\gpsbabel.exe" (\r
-       %MYCOPY% "%ProgramFiles%\GPSBabel\gpsbabel.exe" %DESTINATION%\r
-       %MYCOPY% "%ProgramFiles%\GPSBabel\libexpat.dll" %DESTINATION%\r
-) else (\r
-       echo GPSBabel missing\r
-       goto Tidy\r
-)\r
+if ERRORLEVEL 1 goto Error
 \r
 echo Running NSIS (command line version)\r
 pushd installer\r
 \r
 echo Running NSIS (command line version)\r
 pushd installer\r
@@ -113,6 +146,11 @@ if exist "%ProgramFiles%\NSIS" (
 )\r
 popd\r
 \r
 )\r
 popd\r
 \r
-echo Tidy Up\r
+goto Tidy
+
+:Error
+echo Exitting due to error: %ERRORLEVEL%
+
 :Tidy\r
 :Tidy\r
+echo Tidy Up
 rmdir /S /Q %DESTINATION%\r
 rmdir /S /Q %DESTINATION%\r