[Cmake-commits] [cmake-commits] king committed WindowsPaths.cmake 1.5 1.6
cmake-commits at cmake.org
cmake-commits at cmake.org
Wed Dec 17 09:23:33 EST 2008
Update of /cvsroot/CMake/CMake/Modules/Platform
In directory public:/mounts/ram/cvs-serv18497/Modules/Platform
Modified Files:
WindowsPaths.cmake
Log Message:
ENH: Use 32-bit and 64-bit Program Files folders
On 64-bit Windows there may be two Program Files folders, one for 32-bit
binaries and one for 64-bit binaries. When we compute
CMAKE_SYSTEM_PREFIX_PATH we should put both folders in the path.
Index: WindowsPaths.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/Platform/WindowsPaths.cmake,v
retrieving revision 1.5
retrieving revision 1.6
diff -C 2 -d -r1.5 -r1.6
*** WindowsPaths.cmake 16 Jan 2008 14:51:57 -0000 1.5
--- WindowsPaths.cmake 17 Dec 2008 14:23:30 -0000 1.6
***************
*** 1,14 ****
GET_FILENAME_COMPONENT(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
GET_FILENAME_COMPONENT(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
! # List common installation prefixes. These will be used for all
! # search types.
LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
- # Standard
- "$ENV{ProgramFiles}"
-
- # CMake install location
- "${_CMAKE_INSTALL_DIR}"
-
# Project install destination.
"${CMAKE_INSTALL_PREFIX}"
--- 1,55 ----
+ # Add the program-files folder(s) to the list of installation
+ # prefixes.
+ #
+ # Windows 64-bit Binary:
+ # ENV{ProgramFiles(x86)} = [C:\Program Files (x86)]
+ # ENV{ProgramFiles} = [C:\Program Files]
+ # ENV{ProgramW6432} = <not set>
+ # (executed from cygwin):
+ # ENV{ProgramFiles(x86)} = <not set>
+ # ENV{ProgramFiles} = [C:\Program Files]
+ # ENV{ProgramW6432} = <not set>
+ #
+ # Windows 32-bit Binary:
+ # ENV{ProgramFiles(x86)} = [C:\Program Files (x86)]
+ # ENV{ProgramFiles} = [C:\Program Files (x86)]
+ # ENV{ProgramW6432} = [C:\Program Files]
+ # (executed from cygwin):
+ # ENV{ProgramFiles(x86)} = <not set>
+ # ENV{ProgramFiles} = [C:\Program Files (x86)]
+ # ENV{ProgramW6432} = [C:\Program Files]
+ IF(DEFINED "ENV{ProgramW6432}")
+ # 32-bit binary on 64-bit windows.
+ # The 64-bit program files are in ProgramW6432.
+ LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramW6432}")
+
+ # The 32-bit program files are in ProgramFiles.
+ IF(DEFINED "ENV{ProgramFiles}")
+ LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramFiles}")
+ ENDIF()
+ ELSE()
+ # 64-bit binary, or 32-bit binary on 32-bit windows.
+ IF(DEFINED "ENV{ProgramFiles}")
+ LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramFiles}")
+ ENDIF()
+ IF(DEFINED "ENV{ProgramFiles(x86)}")
+ # 64-bit binary. 32-bit program files are in ProgramFiles(x86).
+ LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramFiles(x86)}")
+ ELSEIF(DEFINED "ENV{SystemDrive}")
+ # Guess the 32-bit program files location.
+ IF(EXISTS "$ENV{SystemDrive}/Program Files (x86)")
+ LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
+ "$ENV{SystemDrive}/Program Files (x86)")
+ ENDIF()
+ ENDIF()
+ ENDIF()
+
+ # Add the CMake install location.
GET_FILENAME_COMPONENT(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
GET_FILENAME_COMPONENT(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
+ LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "${_CMAKE_INSTALL_DIR}")
! # Add other locations.
LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
# Project install destination.
"${CMAKE_INSTALL_PREFIX}"
More information about the Cmake-commits
mailing list