<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>rts/build/cmake/Find7zip.cmake</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -200,14 +200,20 @@ endif (WIN32)
 Add_Subdirectory(tools/unitsync)
 
 ### make the basefiles (aka sdz's)
+FIND_PACKAGE(7zip REQUIRED)
 file (TO_NATIVE_PATH &quot;${CMAKE_BINARY_DIR}/base&quot; BASE_BUILD_DIR)
 if    (CMAKE_HOST_WIN32)
 	# As TO_NATIVE_PATH fails on windows, we need to do it manually
-	string (REPLACE &quot;/&quot; &quot;\\&quot; BASE_BUILD_DIR &quot;${BASE_BUILD_DIR}&quot;)
-	add_custom_target(gamedata ALL COMMAND call make_gamedata_arch.bat ${BASE_BUILD_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/installer)
+	string(REPLACE &quot;/&quot; &quot;\\&quot; BASE_BUILD_DIR &quot;${BASE_BUILD_DIR}&quot;)
+	set(BASE_BUILD_COMMAND call make_gamedata_arch.bat)
 else  (CMAKE_HOST_WIN32)
-	add_custom_target(gamedata ALL COMMAND sh make_gamedata_arch.sh ${BASE_BUILD_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/installer)
+	set(BASE_BUILD_COMMAND sh make_gamedata_arch.sh)
 endif (CMAKE_HOST_WIN32)
+add_custom_target(gamedata ALL
+	COMMAND ${BASE_BUILD_COMMAND}
+		${BASE_BUILD_DIR}
+		${7ZIP_BIN}
+	WORKING_DIRECTORY &quot;${CMAKE_CURRENT_SOURCE_DIR}/installer&quot;)
 
 ### install base data files
 install (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/game/ DESTINATION ${DATADIR} PATTERN &quot;.gitignore&quot; EXCLUDE)</diff>
      <filename>CMakeLists.txt</filename>
    </modified>
    <modified>
      <diff>@@ -25,11 +25,15 @@ for %%a in (cd) do set BUILD_DIR=%%~dpa
 rem move to spring source root
 cd %~dp0..
 
-set EXEC_7Z=%~dp07za.exe
-rem set EXEC_7Z=7z
+
+set EXEC_7Z=%2
+IF &quot;%EXEC_7Z%&quot; == &quot;&quot; (
+	rem default:
+	set EXEC_7Z=%~dp07za.exe
+)
 %EXEC_7Z% &gt; NUL 2&gt;&amp;1
 if &quot;%ERRORLEVEL%&quot; == &quot;0&quot; goto ok7z
-echo %EXEC_7Z% not found, please make sure it is in your PATH environment variable.
+echo 7zip executable (7z.exe or 7za.exe) not found, please make sure it is in your PATH environment variable.
 exit /B 1
 :ok7z
 set CMD_7Z=%EXEC_7Z% u -tzip -r</diff>
      <filename>installer/make_gamedata_arch.bat</filename>
    </modified>
    <modified>
      <diff>@@ -10,12 +10,19 @@ then
 	BUILD_DIR=${1}
 fi
 
+if [ $# -ge 2 ]
+then
+	EXEC_7Z=${2}
+else
+	EXEC_7Z=7z
+fi
+
 # Sanity check.
-if ! which 7z &gt; /dev/null; then
+if ! which ${EXEC_7Z} &gt; /dev/null; then
 	echo &quot;Error: Could not find 7z.&quot;
 	exit 1
 fi
-CMD_7Z=&quot;7z u -tzip -r&quot;
+CMD_7Z=&quot;${EXEC_7Z} u -tzip -r&quot;
 
 ORIG_DIR=$(pwd)
 </diff>
      <filename>installer/make_gamedata_arch.sh</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,7 @@ FIND_PATH(ZLIB_INCLUDE_DIR zlib.h)
 SET(ZLIB_NAMES z zlib zdll zlib1)
 FIND_LIBRARY(ZLIB_LIBRARY NAMES ${ZLIB_NAMES} )
 
-# handle the QUIETLY and REQUIRED arguments and set ZLIB_FOUND to TRUE if 
+# handle the QUIETLY and REQUIRED arguments and set ZLIB_FOUND to TRUE if
 # all listed variables are TRUE
 INCLUDE(FindPackageHandleStandardArgs)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZLIB DEFAULT_MSG ZLIB_LIBRARY ZLIB_INCLUDE_DIR)</diff>
      <filename>rts/build/cmake/FindZLIB.cmake</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>79a2fe191d17a38dcbb3dfd8d64a8ced6ec13e08</id>
    </parent>
  </parents>
  <author>
    <name>hoijui</name>
    <email>hoijui.quaero@gmail.com</email>
  </author>
  <url>http://github.com/spring/spring/commit/670cd7cb0903a963129e30bbc00e3a6c6f44aae6</url>
  <id>670cd7cb0903a963129e30bbc00e3a6c6f44aae6</id>
  <committed-date>2009-11-12T02:55:24-08:00</committed-date>
  <authored-date>2009-11-12T02:55:24-08:00</authored-date>
  <message>CMake: add Find7yip.cmake, and fail if 7zip executable is not installed (fixes mantis #1725)</message>
  <tree>aed9dced292bb17b356a525dee8c09c510f6b9ae</tree>
  <committer>
    <name>hoijui</name>
    <email>hoijui.quaero@gmail.com</email>
  </committer>
</commit>
