From 80536ba7bd8d6be9f5ddd1de9e025270a322a70e Mon Sep 17 00:00:00 2001 From: vvaintroub Date: Thu, 11 Feb 2010 19:23:11 +0100 Subject: [PATCH] Fix CMake 2.6 errors --- packaging/WiX/CMakeLists.txt | 16 ++++++++++++---- packaging/WiX/create_msi.cmake.in | 8 +++++--- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/packaging/WiX/CMakeLists.txt b/packaging/WiX/CMakeLists.txt index 1d1a82f7b1c..81852697fb8 100644 --- a/packaging/WiX/CMakeLists.txt +++ b/packaging/WiX/CMakeLists.txt @@ -1,18 +1,26 @@ + +IF(NOT WIN32) + RETURN() +ENDIF() + FIND_PATH(WIX_DIR heat.exe $ENV{WIX_DIR}/bin $ENV{ProgramFiles}/wix/bin - "$ENV{ProgramFiles}/Windows Installer XML v3.0/bin" + "$ENV{ProgramFiles}/Windows Installer XML v3/bin" "$ENV{ProgramFiles}/Windows Installer XML v3.5/bin" ) IF(NOT WIX_DIR) - MESSAGE(FATAL_ERROR "Cannot find wix") + IF(NOT _WIX_DIR_CHECKED) + SET(_WIX_DIR_CHECKED 1 CACHE INTERNAL "") + MESSAGE(STATUS "Cannot find wix 3, installer project will not be generated") + ENDIF() + RETURN() ENDIF() FIND_PROGRAM(HEAT_EXECUTABLE heat ${WIX_DIR}) FIND_PROGRAM(CANDLE_EXECUTABLE candle ${WIX_DIR}) FIND_PROGRAM(LIGHT_EXECUTABLE light ${WIX_DIR}) - CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/create_msi.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/create_msi.cmake @@ -21,7 +29,7 @@ IF(CMAKE_GENERATOR MATCHES "Visual Studio") SET(CONFIG_PARAM "-DCMAKE_INSTALL_CONFIG_NAME=${CMAKE_CFG_INTDIR}") ENDIF() ADD_CUSTOM_TARGET( - WIX_Installer + MSI COMMAND set VS_UNICODE_OUTPUT= COMMAND ${CMAKE_COMMAND} ${CONFIG_PARAM} -P ${CMAKE_CURRENT_BINARY_DIR}/create_msi.cmake ) diff --git a/packaging/WiX/create_msi.cmake.in b/packaging/WiX/create_msi.cmake.in index 34aa53fdc91..15cdc3e4315 100644 --- a/packaging/WiX/create_msi.cmake.in +++ b/packaging/WiX/create_msi.cmake.in @@ -24,9 +24,11 @@ FOREACH(comp ${CPACK_COMPONENTS_ALL}) EXECUTE_PROCESS( COMMAND ${CMAKE_COMMAND} ${CONFIG_PARAM} -DCMAKE_INSTALL_COMPONENT=${comp} -DCMAKE_INSTALL_PREFIX= -P ${CMAKE_BINARY_DIR}/cmake_install.cmake + OUTPUT_QUIET ) ENDFOREACH() +SET(INC_VAR 0) MACRO(MAKE_WIX_IDENTIFIER str varname) STRING(REPLACE "/" "." ${varname} "${str}") STRING(REGEX REPLACE "[^a-zA-Z_0-9.]" "_" ${varname} "${${varname}}") @@ -35,9 +37,9 @@ MACRO(MAKE_WIX_IDENTIFIER str varname) # We have to cut down the length to 70 chars, since we add 2 char prefix # pretty often IF(len GREATER 70) - STRING(RANDOM r) - STRING(SUBSTRING "${${varname}}" 0 65 shortstr) - SET(${varname} "${shortstr}${r}") + STRING(SUBSTRING "${${varname}}" 0 67 shortstr) + MATH(EXPR INC_VAR ${INC_VAR}+1) + SET(${varname} "${shortstr}${INC_VAR}") ENDIF() ENDMACRO()