diff --git a/data/glest_game b/data/glest_game
index bf04854ad..c3ef4617d 160000
--- a/data/glest_game
+++ b/data/glest_game
@@ -1 +1 @@
-Subproject commit bf04854ade7cd0fc51483c857e590acfef4fbc26
+Subproject commit c3ef4617d38e0062ab4835c5d5662a9580f1f095
diff --git a/mk/linux/make-binary-archive.sh b/mk/linux/make-binary-archive.sh
index b1547df6a..bd7fbcfc5 100755
--- a/mk/linux/make-binary-archive.sh
+++ b/mk/linux/make-binary-archive.sh
@@ -6,6 +6,7 @@
# set this to non 0 to skip building the binary
skipbinarybuild=0
+if [ "$1" = "-CI" ]; then skipbinarybuild=1; fi
# Consider setting this for small packages if there's plenty of RAM and CPU available:
#export XZ_OPT="$XZ_OPT -9e"
diff --git a/mk/macosx/build-mg.sh b/mk/macosx/build-mg.sh
index e445ce1ae..a0e4eaf67 100755
--- a/mk/macosx/build-mg.sh
+++ b/mk/macosx/build-mg.sh
@@ -61,6 +61,8 @@ CLANG_BIN_PATH="$(which clang 2>/dev/null)"
CLANGPP_BIN_PATH="$(which clang++ 2>/dev/null)"
GCC_BIN_PATH="/opt/local/bin/gcc"
GCCPP_BIN_PATH="/opt/local/bin/g++"
+CMAKE_BIN_PATH="$(which cmake 2>/dev/null)"
+if [ "$CMAKE_BIN_PATH" = "" ]; then CMAKE_BIN_PATH="/opt/local/bin/cmake"; fi
# ^ install latest (not beta) gcc from "mac ports" and then choose it as default gcc version by "port select ..."
# ( ^ same situation is with wxwidgets )
cd ${SCRIPTDIR}
@@ -193,15 +195,15 @@ if [ "$MAKE_ONLY" -eq "0" ]; then
fi
rm -f ../MegaGlest*.dmg
else
- EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DCPACK_GENERATOR=Bundle -DSINGLE_INSTALL_DIRECTORY=ON -DBUILD_MEGAGLEST_MAP_EDITOR=OFF -DBUILD_MEGAGLEST_MODEL_VIEWER=OFF"
+ EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DCPACK_GENERATOR=Bundle -DWANT_SINGLE_INSTALL_DIRECTORY=ON -DBUILD_MEGAGLEST_MAP_EDITOR=OFF -DBUILD_MEGAGLEST_MODEL_VIEWER=OFF"
rm -f ../megaglest_editor ../megaglest_g3dviewer ../megaglest_tests
fi
echo "Calling cmake with EXTRA_CMAKE_OPTIONS = ${EXTRA_CMAKE_OPTIONS}"
if [ "$USE_XCODE" -eq "1" ]; then
- cmake -GXcode $EXTRA_CMAKE_OPTIONS ../../..
+ $CMAKE_BIN_PATH -GXcode $EXTRA_CMAKE_OPTIONS ../../..
if [ "$?" -ne "0" ]; then echo 'ERROR: CMAKE failed.' >&2; exit 1; fi
else
- cmake —G"Unix Makefiles" $EXTRA_CMAKE_OPTIONS ../../..
+ $CMAKE_BIN_PATH —G"Unix Makefiles" $EXTRA_CMAKE_OPTIONS ../../..
if [ "$?" -ne "0" ]; then echo 'ERROR: CMAKE failed.' >&2; exit 1; fi
fi
fi
diff --git a/mk/macosx/bundle_resources/MegaGlest.sh b/mk/macosx/bundle_resources/MegaGlest.sh
index 80e133b9d..28edec2b7 100755
--- a/mk/macosx/bundle_resources/MegaGlest.sh
+++ b/mk/macosx/bundle_resources/MegaGlest.sh
@@ -14,5 +14,5 @@ else
fi
export PATH="$binary_dir_path:$PATH"
-exec "$binary_dir_path/megaglest"
+exec "$binary_dir_path/megaglest" "$@"
exit "$?"
diff --git a/mk/windoze/.gitignore b/mk/windoze/.gitignore
index 63f7f8f5d..53bf9b3ce 100644
--- a/mk/windoze/.gitignore
+++ b/mk/windoze/.gitignore
@@ -1,4 +1,7 @@
/Release/
+/*/Release/
+/x64/
+/*/x64/
# Windows_build
*.dll
@@ -9,6 +12,8 @@
*.map
*.dmp
*.dat
+*.ipdb
+*.iobj
/lua/
#
@@ -19,8 +24,7 @@
/servers.ini
# Files generated during build
/xml_test_malformed.xml
-/vc2012/x64/
-/vc2012/xml_test_malformed.xml
+/*/xml_test_malformed.xml
# Coverity
/cov-analysis*/
diff --git a/mk/windoze/make-binary-archive32bit.bat b/mk/windoze/make-binary-archive32bit.bat
new file mode 100644
index 000000000..c10f4097a
--- /dev/null
+++ b/mk/windoze/make-binary-archive32bit.bat
@@ -0,0 +1,76 @@
+@echo off
+
+rem change to the directory of this batch file
+ECHO --------------------------------
+ECHO Changing to build folder [%~dp0] p1 [%1] p2 [%2]
+rem pause
+cd /d "%~dp0"
+
+ECHO Checking for windows binaries...
+
+SET MG_BINARY_NAME=megaglest.exe
+SET MG_BINARY_PATH=..\..\data\glest_game\
+rem if exist "megaglestx64.exe" SET MG_BINARY_NAME=megaglestx64.exe
+ECHO Calling .\%MG_BINARY_PATH%%MG_BINARY_NAME% --version
+
+set mg_version=
+set mg_WIN32_ARCH=win32-i386
+set mg_WIN64_ARCH=win64-x86_64
+set mg_arch=%mg_WIN32_ARCH%
+for /f "tokens=* delims= " %%i in ('.\%MG_BINARY_PATH%%MG_BINARY_NAME% --version') do call :mgver %%i
+echo after #1 for loop
+goto got_ver
+
+:mgver
+rem echo mgver [%1%] mg_version is [%mg_version%]
+if "%mg_version%." == "." goto set_mg_ver
+
+rem echo in mgver ARCH [%mg_arch%] 1[%1] 2[%2] 3[%3] 4[%4] 5[%5] 6[%6]
+if "%1." == "[64bit]." set mg_arch=%mg_WIN64_ARCH%
+if "%2." == "[64bit]." set mg_arch=%mg_WIN64_ARCH%
+if "%3." == "[64bit]." set mg_arch=%mg_WIN64_ARCH%
+if "%4." == "[64bit]." set mg_arch=%mg_WIN64_ARCH%
+if "%5." == "[64bit]." set mg_arch=%mg_WIN64_ARCH%
+if "%6." == "[64bit]." set mg_arch=%mg_WIN64_ARCH%
+if "%7." == "[64bit]." set mg_arch=%mg_WIN64_ARCH%
+if "%8." == "[64bit]." set mg_arch=%mg_WIN64_ARCH%
+if "%9." == "[64bit]." set mg_arch=%mg_WIN64_ARCH%
+
+rem echo after #2 mg_arch [%mg_arch%]
+goto :eof
+
+:set_mg_ver
+set mg_version=%2%
+rem echo set_mg_ver 1[%mg_version%]
+
+set mg_version=%mg_version:~1%
+rem echo set_mg_ver 2[%mg_version%]
+
+:exit_mg_ver
+rem exit /B 0
+goto :eof
+
+:got_ver
+rem echo got_ver [%mg_version%]
+rem pause
+
+set RELEASENAME=megaglest-binary-%mg_arch%
+set PACKAGE=%RELEASENAME%-%mg_version%.7z
+
+rem cd /d release-data\
+
+echo creating [%PACKAGE%] ...
+if exist "%PACKAGE%" del "%PACKAGE%"
+set custom_sevenZ_params=
+if not "%SEVENZ_MG_COMPRESS_PARAMS%." == "." set custom_sevenZ_params=%SEVENZ_MG_COMPRESS_PARAMS%
+echo custom_sevenZ_params [%custom_sevenZ_params%] ...
+
+if "%mg_arch%" == "%mg_WIN32_ARCH%" 7z a -mmt -mx=9 %custom_sevenZ_params% -ms=on -mhc=on "release-data\%PACKAGE%" %MG_BINARY_PATH%megaglest.exe %MG_BINARY_PATH%megaglest_g3dviewer.exe %MG_BINARY_PATH%megaglest_editor.exe libvlc.dll libvlccore.dll lua plugins 7z.exe 7z.dll %MG_BINARY_PATH%xml2g.exe openal32.dll %MG_BINARY_PATH%g2xml.exe glest.ini ..\shared\glestkeys.ini ..\shared\servers.ini
+if "%mg_arch%" == "%mg_WIN64_ARCH%" 7z a -mmt -mx=9 %custom_sevenZ_params% -ms=on -mhc=on "release-data\%PACKAGE%" megaglestx64.exe megaglest_g3dviewerx64.exe megaglest_editorx64.exe 7z.exe 7z.dll xml2gx64.exe openal64.dll g2xmlx64.exe glest.ini ..\shared\glestkeys.ini ..\shared\servers.ini
+
+dir "release-data\%PACKAGE%"
+cd /d "%~dp0"
+
+rem pause execution so we can see the output before the batch file exits
+if not "%1" == "nopause" pause
+
diff --git a/mk/windoze/vc2015/g2xml.vcxproj b/mk/windoze/vc2015/g2xml.vcxproj
index 316c5ba5e..fe218f3cf 100644
--- a/mk/windoze/vc2015/g2xml.vcxproj
+++ b/mk/windoze/vc2015/g2xml.vcxproj
@@ -122,7 +122,7 @@
$(Configuration)\
true
true
- .\..\..\data\glest_game\
+ .\..\..\..\data\glest_game\
.\..\..\data\glest_game\
.\..\..\data\glest_game\
$(Configuration)/$(ProjectName)\
diff --git a/mk/windoze/vc2015/xml2g.vcxproj b/mk/windoze/vc2015/xml2g.vcxproj
new file mode 100644
index 000000000..bb3f27eca
--- /dev/null
+++ b/mk/windoze/vc2015/xml2g.vcxproj
@@ -0,0 +1,369 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release_NO_STREFLOP
+ Win32
+
+
+ Release_NO_STREFLOP
+ x64
+
+
+ Release_WITHOUT_STREFLOP
+ Win32
+
+
+ Release_WITHOUT_STREFLOP
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {3BAC3FE8-1CC4-487D-802A-E0A04B39BB6A}
+ xml2g
+ Win32Proj
+ xml2g
+ 8.1
+
+
+
+ Application
+ Unicode
+ true
+ v140_xp
+
+
+ Application
+ Unicode
+ true
+ v140_xp
+
+
+ Application
+ Unicode
+ true
+ v140_xp
+
+
+ Application
+ Unicode
+ true
+ v140
+
+
+ Application
+ Unicode
+ true
+ v140
+
+
+ Application
+ Unicode
+ true
+ v140
+
+
+ Application
+ Unicode
+ v140
+
+
+ Application
+ Unicode
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ .\..\..\..\data\glest_game\
+ $(Configuration)\
+ true
+ true
+ .\..\..\..\data\glest_game\
+ .\..\..\..\data\glest_game\
+ .\..\..\..\data\glest_game\
+ $(Configuration)/$(ProjectName)\
+ $(Configuration)\
+ $(Configuration)\
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+
+ xml2g
+
+
+ xml2g
+
+
+ xml2g
+
+
+ xml2gx64
+ $(Platform)\$(Configuration)\$(TargetName)\
+ $(SolutionDir)
+
+
+ xml2gx64
+ $(Platform)\$(Configuration)\$(TargetName)\
+ $(SolutionDir)
+
+
+ xml2gx64
+ $(Platform)\$(Configuration)\$(TargetName)\
+ $(SolutionDir)
+
+
+
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreaded
+
+
+ Level3
+ EditAndContinue
+ ..\..\..\source\windows_deps_2015\libxml2-2.7.7\include;%(AdditionalIncludeDirectories)
+ true
+
+
+ true
+ Console
+ MachineX86
+ ..\..\..\source\win32_deps\libxml2-2.7.7\win32\bin.msvc;%(AdditionalLibraryDirectories)
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;wsock32.lib;libxml2_a.lib;%(AdditionalDependencies)
+
+
+
+
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreaded
+
+
+ Level3
+ ProgramDatabase
+ ..\..\..\source\windows_deps_2015\libxml2-2.7.7\include;%(AdditionalIncludeDirectories)
+ true
+
+
+ true
+ Console
+ ..\..\..\source\windows_deps_2015\libxml2-2.7.7\win32\bin.msvc;%(AdditionalLibraryDirectories)
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;wsock32.lib;libxml2_a.lib;%(AdditionalDependencies)
+
+
+
+
+ MaxSpeed
+ true
+ ..\..\..\source\windows_deps_2015\libxml2\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreaded
+ true
+
+
+ Level3
+ ProgramDatabase
+ true
+ StreamingSIMDExtensions2
+
+
+ wsock32.lib;libxml2_a.lib;%(AdditionalDependencies)
+ ..\..\..\source\windows_deps_2015\lib\;%(AdditionalLibraryDirectories)
+ true
+ Console
+ true
+ true
+ MachineX86
+
+
+
+
+ MaxSpeed
+ true
+ ..\..\..\source\windows_deps_2015\libxml2\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreaded
+ true
+
+
+ Level3
+ ProgramDatabase
+ true
+ StreamingSIMDExtensions2
+
+
+ wsock32.lib;libxml2_a.lib;%(AdditionalDependencies)
+ ..\..\..\source\windows_deps_2015\lib\;%(AdditionalLibraryDirectories)
+ true
+ Console
+ true
+ true
+ MachineX86
+
+
+
+
+ MaxSpeed
+ true
+ ..\..\..\source\windows_deps_2015\libxml2-2.7.7\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreaded
+ true
+
+
+ Level3
+ ProgramDatabase
+ true
+ StreamingSIMDExtensions2
+
+
+ wsock32.lib;libxml2_a.lib;%(AdditionalDependencies)
+ ..\..\..\source\windows_deps_2015\lib\;%(AdditionalLibraryDirectories)
+ true
+ Console
+ true
+ true
+ MachineX86
+
+
+
+
+ MaxSpeed
+ true
+ $(ProjectDir)..\..\..\source\windows_deps_2015\libxml2\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreaded
+ true
+
+
+ Level3
+ ProgramDatabase
+ true
+
+
+ 4996
+
+
+ wsock32.lib;libxml2_a.lib;%(AdditionalDependencies)
+ ..\..\..\source\windows_deps_2015\lib\;%(AdditionalLibraryDirectories)
+ true
+ Console
+ true
+ true
+
+
+
+
+ MaxSpeed
+ true
+ ..\..\..\source\windows_deps_2015\libxml2\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreaded
+ true
+
+
+ Level3
+ ProgramDatabase
+ true
+
+
+ 4996
+
+
+ wsock32.lib;libxml2_a.lib;%(AdditionalDependencies)
+ ..\..\..\source\windows_deps_2015\lib\;%(AdditionalLibraryDirectories)
+ true
+ Console
+ true
+ true
+
+
+
+
+ MaxSpeed
+ true
+ ..\..\..\source\windows_deps_2015\libxml2-2.7.7\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreaded
+ true
+
+
+ Level3
+ ProgramDatabase
+ true
+
+
+ 4996
+
+
+ wsock32.lib;libxml2_a.lib;%(AdditionalDependencies)
+ ..\..\..\source\windows_deps_2015\lib\;%(AdditionalLibraryDirectories)
+ true
+ Console
+ true
+ true
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/g3d_viewer/CMakeLists.txt b/source/g3d_viewer/CMakeLists.txt
index 8e3767fc8..c3f3c1f85 100644
--- a/source/g3d_viewer/CMakeLists.txt
+++ b/source/g3d_viewer/CMakeLists.txt
@@ -185,7 +185,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER)
${TARGET_NAME}
DESTINATION ${MEGAGLEST_BIN_INSTALL_PATH})
- IF(EXISTS ${HELP2MAN} AND NOT APPLE)
+ IF(EXISTS ${HELP2MAN} AND NOT "${MEGAGLEST_MANPAGE_INSTALL_PATH}" STREQUAL "" AND NOT APPLE)
MESSAGE(STATUS "**NOTE: Will Install manpage [${TARGET_NAME_MANPAGE}] to [${MEGAGLEST_MANPAGE_INSTALL_PATH}]")
# Installation of the program manpage file
diff --git a/source/glest_game/CMakeLists.txt b/source/glest_game/CMakeLists.txt
index 0b64aa967..b34b859d8 100644
--- a/source/glest_game/CMakeLists.txt
+++ b/source/glest_game/CMakeLists.txt
@@ -299,7 +299,7 @@ IF(BUILD_MEGAGLEST)
${TARGET_NAME}
DESTINATION ${MEGAGLEST_BIN_INSTALL_PATH})
- IF(EXISTS ${HELP2MAN})
+ IF(EXISTS ${HELP2MAN} AND NOT "${MEGAGLEST_MANPAGE_INSTALL_PATH}" STREQUAL "")
MESSAGE(STATUS "**NOTE: Will Install manpage [${TARGET_NAME_MANPAGE}] to [${MEGAGLEST_MANPAGE_INSTALL_PATH}]")
# Installation of the program manpage file
diff --git a/source/glest_map_editor/CMakeLists.txt b/source/glest_map_editor/CMakeLists.txt
index 6437144e2..e1bf4ad08 100644
--- a/source/glest_map_editor/CMakeLists.txt
+++ b/source/glest_map_editor/CMakeLists.txt
@@ -178,7 +178,7 @@ IF(BUILD_MEGAGLEST_MAP_EDITOR)
${TARGET_NAME}
DESTINATION ${MEGAGLEST_BIN_INSTALL_PATH})
- IF(EXISTS ${HELP2MAN} AND NOT APPLE)
+ IF(EXISTS ${HELP2MAN} AND NOT "${MEGAGLEST_MANPAGE_INSTALL_PATH}" STREQUAL "" AND NOT APPLE)
MESSAGE(STATUS "**NOTE: Will Install manpage [${TARGET_NAME_MANPAGE}] to [${MEGAGLEST_MANPAGE_INSTALL_PATH}]")
# Installation of the program manpage file