diff options
author | Brad King <brad.king@kitware.com> | 2015-02-04 20:09:18 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-02-04 20:11:10 (GMT) |
commit | ecaee7caca4e3d4528e643736c0620e785e84153 (patch) | |
tree | 28965cd478baa0ca7afd8cbe585cf0ed314c5fc2 /Modules/CPack.cmake | |
parent | eef9a476179dd91c69d30f937e742ea484436fc6 (diff) | |
download | CMake-ecaee7caca4e3d4528e643736c0620e785e84153.zip CMake-ecaee7caca4e3d4528e643736c0620e785e84153.tar.gz CMake-ecaee7caca4e3d4528e643736c0620e785e84153.tar.bz2 |
CPack: Fix NSIS default 64-bit Windows install directory (#14211)
When targeting Windows with a 64-bit architecture, use "$PROGRAMFILES64"
to get the Program Files folder. Use CMAKE_SIZEOF_VOID_P to check for
the architecture size instead of CMAKE_CL_64 because the latter is not
defined for all compilers.
Inspired-by: Hugh Sorby <h.sorby@auckland.ac.nz>
Inspired-by: İsmail Dönmez <ismail@donmez.ws>
Diffstat (limited to 'Modules/CPack.cmake')
-rw-r--r-- | Modules/CPack.cmake | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Modules/CPack.cmake b/Modules/CPack.cmake index 35259c4..ce1536e 100644 --- a/Modules/CPack.cmake +++ b/Modules/CPack.cmake @@ -352,8 +352,8 @@ if(CPACK_NSIS_MODIFY_PATH) endif() set(__cpack_system_name ${CMAKE_SYSTEM_NAME}) -if(${__cpack_system_name} MATCHES Windows) - if(CMAKE_CL_64) +if(__cpack_system_name MATCHES "Windows") + if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(__cpack_system_name win64) else() set(__cpack_system_name win32) @@ -363,7 +363,12 @@ cpack_set_if_not_set(CPACK_SYSTEM_NAME "${__cpack_system_name}") # Root dir: default value should be the string literal "$PROGRAMFILES" # for backwards compatibility. Projects may set this value to anything. -set(__cpack_root_default "$PROGRAMFILES") +# When creating 64 bit binaries we set the default value to "$PROGRAMFILES64" +if("x${__cpack_system_name}" STREQUAL "xwin64") + set(__cpack_root_default "$PROGRAMFILES64") +else() + set(__cpack_root_default "$PROGRAMFILES") +endif() cpack_set_if_not_set(CPACK_NSIS_INSTALL_ROOT "${__cpack_root_default}") # <project>-<major>.<minor>.<patch>-<release>-<platform>.<pkgtype> |