Просмотр исходного кода

Update MSI to depend on VC2013 runtimes, install a few extra required dlls and configs

Paul 11 лет назад
Родитель
Сommit
7c2454bb86
2 измененных файлов с 77 добавлено и 1 удалено
  1. 24 1
      CMakeLists.txt
  2. 53 0
      wix.template.in

+ 24 - 1
CMakeLists.txt

@@ -172,9 +172,33 @@ endif()
 
 
 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/output)
 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/output)
 
 
+SET(CPACK_COMPONENTS_ALL q-gears)
+
 if(WIN32)
 if(WIN32)
 	# On Windows generate MSI packages
 	# On Windows generate MSI packages
 	SET(CPACK_GENERATOR "WIX")
 	SET(CPACK_GENERATOR "WIX")
+	
+	set(CPACK_WIX_TEMPLATE "${CMAKE_CURRENT_SOURCE_DIR}/wix.template.in")
+
+	# If empty assume release
+	if (CMAKE_BUILD_TYPE STREQUAL "")
+		install(FILES ${PROJECT_SOURCE_DIR}/output/resources.cfg DESTINATION ./)
+		install(FILES ${PROJECT_SOURCE_DIR}/output/plugins.cfg DESTINATION ./)
+		install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/release/OgreMain.dll DESTINATION ./)
+		install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/release/RenderSystem_GL.dll DESTINATION ./)
+		install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/release/OGREOVERLAY.DLL DESTINATION ./)
+		install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/release/OIS.DLL DESTINATION ./)
+	else()
+		install(FILES ${PROJECT_SOURCE_DIR}/output/resources_d.cfg DESTINATION ./)
+		install(FILES ${PROJECT_SOURCE_DIR}/output/plugins_d.cfg DESTINATION ./)
+		install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/debug/OgreMain_d.dll DESTINATION ./)
+		install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/debug/RenderSystem_GL_d.dll DESTINATION ./)
+		install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/debug/OGREOVERLAY_D.DLL DESTINATION ./)
+		install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/debug/OIS_D.DLL DESTINATION ./)
+
+		# BOOST_SYSTEM-VC120-MT-GD-1_55.DLL
+	endif()
+	
 else()
 else()
 	# On Linux generate DEB packages
 	# On Linux generate DEB packages
 	SET(CPACK_GENERATOR "DEB")
 	SET(CPACK_GENERATOR "DEB")
@@ -193,7 +217,6 @@ SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A Free Final Fantasy VII Engine")
 SET(CPACK_WIX_UPGRADE_GUID 8fbb893f-5622-4f6d-a7f6-c221f7be5d52)
 SET(CPACK_WIX_UPGRADE_GUID 8fbb893f-5622-4f6d-a7f6-c221f7be5d52)
 
 
 # TODO: Set MSI banner image, copyright info etc, also include startmenu/desktop shortcuts
 # TODO: Set MSI banner image, copyright info etc, also include startmenu/desktop shortcuts
-# TODO: For MSI we also need to include OGRE dlls etc
 
 
 # Setup DEB package properties
 # Setup DEB package properties
 SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Chris Rizzitello <sithlord48@gmail.com>")
 SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Chris Rizzitello <sithlord48@gmail.com>")

+ 53 - 0
wix.template.in

@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?include "cpack_variables.wxi"?>
+
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
+    xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
+    RequiredVersion="3.6.3303.0">
+
+    <Product Id="$(var.CPACK_WIX_PRODUCT_GUID)"
+        Name="QGears"
+        Language="1033"
+        Version="$(var.CPACK_PACKAGE_VERSION)"
+        Manufacturer="$(var.CPACK_PACKAGE_VENDOR)"
+        UpgradeCode="$(var.CPACK_WIX_UPGRADE_GUID)">
+
+        <Package InstallerVersion="301" Compressed="yes"/>
+
+		<DirectoryRef Id="TARGETDIR">
+            <Merge Id="VC10CRT" Language="0" DiskId="1" SourceFile="$(env.ProgramFiles(x86))\Common Files\Merge Modules\Microsoft_VC110_CRT_x86.msm" />
+        </DirectoryRef>	
+        <Feature Id="runtimes" Title="3rd party runtime libraries" Level="1" Description='3rd party libraries necessary for operation' Display='expand'>
+            <MergeRef Id='VC10CRT' />
+       </Feature>
+
+        <Media Id="1" Cabinet="media1.cab" EmbedCab="yes"/>
+
+        <MajorUpgrade
+            Schedule="afterInstallInitialize"
+            AllowSameVersionUpgrades="yes"
+            DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit."/>
+
+        <WixVariable Id="WixUILicenseRtf" Value="$(var.CPACK_WIX_LICENSE_RTF)"/>
+        <Property Id="WIXUI_INSTALLDIR" Value="INSTALL_ROOT"/>
+
+        <?ifdef CPACK_WIX_PRODUCT_ICON?>
+        <Property Id="ARPPRODUCTICON">ProductIcon.ico</Property>
+        <Icon Id="ProductIcon.ico" SourceFile="$(var.CPACK_WIX_PRODUCT_ICON)"/>
+        <?endif?>
+
+        <?ifdef CPACK_WIX_UI_BANNER?>
+        <WixVariable Id="WixUIBannerBmp" Value="$(var.CPACK_WIX_UI_BANNER)"/>
+        <?endif?>
+
+        <?ifdef CPACK_WIX_UI_DIALOG?>
+        <WixVariable Id="WixUIDialogBmp" Value="$(var.CPACK_WIX_UI_DIALOG)"/>
+        <?endif?>
+
+        <FeatureRef Id="ProductFeature"/>
+
+        <UIRef Id="WixUI_InstallDir" />
+
+    </Product>
+</Wix>