Index: /OpenSceneGraph/branches/OpenSceneGraph-2.8/CMakeModules/OsgCPack.cmake
===================================================================
--- /OpenSceneGraph/branches/OpenSceneGraph-2.8/CMakeModules/OsgCPack.cmake (revision 9528)
+++ /OpenSceneGraph/branches/OpenSceneGraph-2.8/CMakeModules/OsgCPack.cmake (revision 10009)
@@ -14,7 +14,7 @@
 IF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i686")
     SET(SYSTEM_ARCH "i386")
-ELSE("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i686")
+ELSE()
     SET(SYSTEM_ARCH ${CMAKE_SYSTEM_PROCESSOR})
-ENDIF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i686")
+ENDIF()
 
 # set a default system name - use CMake setting (Linux|Windows|...)
@@ -27,12 +27,12 @@
     IF(CMAKE_CL_64)
         SET(SYSTEM_NAME "win64")
-    ELSE(CMAKE_CL_64)
+    ELSE()
         SET(SYSTEM_NAME "win32")
-    ENDIF(CMAKE_CL_64)
-ENDIF(MSVC)
+    ENDIF()
+ENDIF()
 # Guess the compiler (is this desired for other platforms than windows?)
 IF(NOT DEFINED OSG_CPACK_COMPILER)
     INCLUDE(OsgDetermineCompiler)
-ENDIF(NOT DEFINED OSG_CPACK_COMPILER)
+ENDIF()
 
 # expose the compiler setting to the user
@@ -41,7 +41,7 @@
 IF(OSG_CPACK_COMPILER)
   SET(OSG_CPACK_SYSTEM_SPEC_STRING ${SYSTEM_NAME}-${SYSTEM_ARCH}-${OSG_CPACK_COMPILER})
-ELSE(OSG_CPACK_COMPILER)
+ELSE()
   SET(OSG_CPACK_SYSTEM_SPEC_STRING ${SYSTEM_NAME}-${SYSTEM_ARCH})
-ENDIF(OSG_CPACK_COMPILER)
+ENDIF()
 
 
@@ -50,5 +50,9 @@
 
 # these goes for all platforms. Setting these stops the CPack.cmake script from generating options about other package compression formats (.z .tz, etc.)
-SET(CPACK_GENERATOR "TGZ")
+IF(WIN32)
+    SET(CPACK_GENERATOR "ZIP")
+ELSE()
+    SET(CPACK_GENERATOR "TGZ")
+ENDIF()
 SET(CPACK_SOURCE_GENERATOR "TGZ")
 
@@ -58,13 +62,13 @@
     SET(OSG_CPACK_CONFIGURATION "$(OutDir)")
     SET(PACKAGE_TARGET_PREFIX "Package ")
-ELSE(MSVC_IDE)
+ELSE()
     # on un*x an empty CMAKE_BUILD_TYPE means release
     IF(CMAKE_BUILD_TYPE)
         SET(OSG_CPACK_CONFIGURATION ${CMAKE_BUILD_TYPE})
-    ELSE(CMAKE_BUILD_TYPE)
+    ELSE()
         SET(OSG_CPACK_CONFIGURATION "Release")
-    ENDIF(CMAKE_BUILD_TYPE)
+    ENDIF()
     SET(PACKAGE_TARGET_PREFIX "package_")
-ENDIF(MSVC_IDE)
+ENDIF()
 
 # Get all defined components
@@ -75,5 +79,5 @@
   MESSAGE("When building packages please consider using cmake version 2.6.1 or above")
   SET(CPACK_COMPONENTS_ALL libopenscenegraph libopenthreads openscenegraph libopenscenegraph-dev libopenthreads-dev)
-ENDIF(NOT CPACK_COMPONENTS_ALL)
+ENDIF()
 
 # Create a target that will be used to generate all packages defined below
@@ -87,10 +91,10 @@
     IF(${package} MATCHES -doc)
         SET(OSG_PACKAGE_FILE_NAME ${package_name}-${OPENSCENEGRAPH_VERSION})
-    ELSE(${package} MATCHES -doc)
+    ELSE()
         SET(OSG_PACKAGE_FILE_NAME ${package_name}-${OPENSCENEGRAPH_VERSION}-${OSG_CPACK_SYSTEM_SPEC_STRING}-${OSG_CPACK_CONFIGURATION})
         IF(NOT DYNAMIC_OPENSCENEGRAPH)
             SET(OSG_PACKAGE_FILE_NAME ${OSG_PACKAGE_FILE_NAME}-static)
-        ENDIF(NOT DYNAMIC_OPENSCENEGRAPH)
-    ENDIF(${package} MATCHES -doc)
+        ENDIF()
+    ENDIF()
 
     CONFIGURE_FILE("${OpenSceneGraph_SOURCE_DIR}/CMakeModules/OsgCPackConfig.cmake.in" "${OpenSceneGraph_BINARY_DIR}/CPackConfig-${package_name}.cmake" IMMEDIATE)
@@ -101,7 +105,14 @@
     IF(MSVC)
         SET(MOVE_COMMAND "move")
-    ELSE(MSVC)
+    ELSE()
         SET(MOVE_COMMAND "mv")
-    ENDIF(MSVC)
+    ENDIF()
+
+    # Set in and out archive filenames. Windows = zip, others = tar.gz
+    IF(WIN32)
+        SET(ARCHIVE_EXT "zip")
+    ELSE()
+        SET(ARCHIVE_EXT "tar.gz")
+    ENDIF()
     
     # Create a target that creates the current package
@@ -110,6 +121,6 @@
     ADD_CUSTOM_COMMAND(TARGET ${PACKAGE_TARGETNAME}
         COMMAND ${CMAKE_CPACK_COMMAND} -C ${OSG_CPACK_CONFIGURATION} --config ${OpenSceneGraph_BINARY_DIR}/CPackConfig-${package_name}.cmake
-        COMMAND "${MOVE_COMMAND}" "${CPACK_PACKAGE_FILE_NAME}.tar.gz" "${OSG_PACKAGE_FILE_NAME}.tar.gz"
-        COMMAND ${CMAKE_COMMAND} -E echo "renamed ${CPACK_PACKAGE_FILE_NAME}.tar.gz -> ${OSG_PACKAGE_FILE_NAME}.tar.gz"
+        COMMAND "${MOVE_COMMAND}" "${CPACK_PACKAGE_FILE_NAME}.${ARCHIVE_EXT}" "${OSG_PACKAGE_FILE_NAME}.${ARCHIVE_EXT}"
+        COMMAND ${CMAKE_COMMAND} -E echo "renamed ${CPACK_PACKAGE_FILE_NAME}.${ARCHIVE_EXT} -> ${OSG_PACKAGE_FILE_NAME}.${ARCHIVE_EXT}"
         COMMENT "Run CPack packaging for ${package_name}..."
     )
@@ -118,6 +129,6 @@
     ADD_CUSTOM_COMMAND(TARGET ${PACKAGE_ALL_TARGETNAME}
         COMMAND ${CMAKE_CPACK_COMMAND} -C ${OSG_CPACK_CONFIGURATION} --config ${OpenSceneGraph_BINARY_DIR}/CPackConfig-${package_name}.cmake
-        COMMAND "${MOVE_COMMAND}" "${CPACK_PACKAGE_FILE_NAME}.tar.gz" "${OSG_PACKAGE_FILE_NAME}.tar.gz"
-        COMMAND ${CMAKE_COMMAND} -E echo "renamed ${CPACK_PACKAGE_FILE_NAME}.tar.gz -> ${OSG_PACKAGE_FILE_NAME}.tar.gz"
+        COMMAND "${MOVE_COMMAND}" "${CPACK_PACKAGE_FILE_NAME}.${ARCHIVE_EXT}" "${OSG_PACKAGE_FILE_NAME}.${ARCHIVE_EXT}"
+        COMMAND ${CMAKE_COMMAND} -E echo "renamed ${CPACK_PACKAGE_FILE_NAME}.${ARCHIVE_EXT} -> ${OSG_PACKAGE_FILE_NAME}.${ARCHIVE_EXT}"
     )
 ENDMACRO(GENERATE_PACKAGING_TARGET)
@@ -131,3 +142,3 @@
     SET(OSG_CPACK_COMPONENT ${package})
     GENERATE_PACKAGING_TARGET(${package})
-ENDFOREACH(package ${CPACK_COMPONENTS_ALL})
+ENDFOREACH()
