[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[vidalia-svn] r3371: Add some CMake fu for finding a WiX installation and a 'win3 (in vidalia/trunk: . cmake pkg/win32)



Author: edmanm
Date: 2008-12-06 23:42:14 -0500 (Sat, 06 Dec 2008)
New Revision: 3371

Added:
   vidalia/trunk/cmake/FindWiX.cmake
Modified:
   vidalia/trunk/CMakeLists.txt
   vidalia/trunk/pkg/win32/CMakeLists.txt
Log:
Add some CMake fu for finding a WiX installation and a 'win32-installer'
build target, so I don't have to keep manually building the .msi.


Modified: vidalia/trunk/CMakeLists.txt
===================================================================
--- vidalia/trunk/CMakeLists.txt	2008-12-07 04:12:01 UTC (rev 3370)
+++ vidalia/trunk/CMakeLists.txt	2008-12-07 04:42:14 UTC (rev 3371)
@@ -39,6 +39,9 @@
 include(CheckIncludeFileCXX)
 include(CheckTypeSize)
 include(CPack)
+if (WIN32)
+  include(${CMAKE_SOURCE_DIR}/cmake/FindWiX.cmake)
+endif(WIN32)
 
 if(MSVC_IDE)
     set(CMAKE_SUPPRESS_REGENERATION TRUE)

Added: vidalia/trunk/cmake/FindWiX.cmake
===================================================================
--- vidalia/trunk/cmake/FindWiX.cmake	                        (rev 0)
+++ vidalia/trunk/cmake/FindWiX.cmake	2008-12-07 04:42:14 UTC (rev 3371)
@@ -0,0 +1,36 @@
+##
+##  $Id$
+## 
+##  This file is part of Vidalia, and is subject to the license terms in the
+##  LICENSE file, found in the top level directory of this distribution. If 
+##  you did not receive the LICENSE file with this file, you may obtain it
+##  from the Vidalia source package distributed by the Vidalia Project at
+##  http://www.vidalia-project.net/. No part of Vidalia, including this file,
+##  may be copied, modified, propagated, or distributed except according to
+##  the terms described in the LICENSE file.
+##
+
+message(STATUS "Looking for WiX")
+## Search for candle.exe
+find_program(WIX_CANDLE_EXECUTABLE NAMES candle
+  PATHS ${WIX_BINARY_DIR}
+)
+
+## Search for light.exe
+find_program(WIX_LIGHT_EXECUTABLE NAMES light
+  PATHS ${WIX_BINARY_DIR}
+)
+
+if (WIX_CANDLE_EXECUTABLE AND WIX_LIGHT_EXECUTABLE)
+  message(STATUS "Looking for WiX - found")
+
+  ## Set the WiX binary directory variable, but only if it wasn't already
+  ## explicitly defined
+  if (NOT WIX_BINARY_DIR)
+    get_filename_component(WIX_BINARY_DIR ${WIX_LIGHT_EXECUTABLE} ABSOLUTE)
+    get_filename_component(WIX_BINARY_DIR ${WIX_BINARY_DIR} PATH)
+  endif(NOT WIX_BINARY_DIR)
+else (WIX_CANDLE_EXECUTABLE AND WIX_LIGHT_EXECUTABLE)
+  message(STATUS "Looking for WiX - not found.")
+endif(WIX_CANDLE_EXECUTABLE AND WIX_LIGHT_EXECUTABLE)
+


Property changes on: vidalia/trunk/cmake/FindWiX.cmake
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Modified: vidalia/trunk/pkg/win32/CMakeLists.txt
===================================================================
--- vidalia/trunk/pkg/win32/CMakeLists.txt	2008-12-07 04:12:01 UTC (rev 3370)
+++ vidalia/trunk/pkg/win32/CMakeLists.txt	2008-12-07 04:42:14 UTC (rev 3371)
@@ -94,3 +94,18 @@
 #  zh_TW/vidalia_ZH_TW.po  TRADCHINESE   GB18030)
 
 add_custom_target(i18n-win32-installer ALL DEPENDS ${vidalia_NSH})
+
+add_custom_target(win32-installer
+  COMMAND ${WIX_CANDLE_EXECUTABLE} 
+      ${CMAKE_CURRENT_BINARY_DIR}/vidalia.wxs 
+      -o ${CMAKE_CURRENT_BINARY_DIR}/vidalia.wixobj
+  
+  COMMAND ${WIX_LIGHT_EXECUTABLE}
+      ${CMAKE_CURRENT_BINARY_DIR}/vidalia.wixobj
+      -o ${CMAKE_CURRENT_BINARY_DIR}/vidalia-${VERSION}.msi
+      -ext ${WIX_BINARY_DIR}/WixUIExtension.dll
+  
+  DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/vidalia.wxs
+  COMMENT "Building vidalia-${VERSION}.msi"
+)
+