summaryrefslogtreecommitdiff
path: root/Modules/CMakeFindPackageMode.cmake
diff options
context:
space:
mode:
authorAlex Neundorf <neundorf@kde.org>2011-07-18 21:40:45 +0200
committerAlex Neundorf <neundorf@kde.org>2011-08-09 16:32:45 +0200
commitb0e357824c0ddf1a57db7742da3d5f3f90af97d2 (patch)
tree9b993b8e9591af6280032fe4e49f54fe1baaf0e8 /Modules/CMakeFindPackageMode.cmake
parent53edfb206b549f0dd5a014aac054ca82d865bbcd (diff)
downloadcmake-b0e357824c0ddf1a57db7742da3d5f3f90af97d2.tar.gz
Use the file-utility to test for 64bit if there is no /usr/lib64
Alex
Diffstat (limited to 'Modules/CMakeFindPackageMode.cmake')
-rw-r--r--Modules/CMakeFindPackageMode.cmake11
1 files changed, 9 insertions, 2 deletions
diff --git a/Modules/CMakeFindPackageMode.cmake b/Modules/CMakeFindPackageMode.cmake
index bebf3ab0d3..3e5cb49a67 100644
--- a/Modules/CMakeFindPackageMode.cmake
+++ b/Modules/CMakeFindPackageMode.cmake
@@ -45,10 +45,18 @@ if(UNIX)
# try to guess whether we have a 64bit system, if it has not been set
# from the outside
if(NOT CMAKE_SIZEOF_VOID_P)
+ set(CMAKE_SIZEOF_VOID_P 4)
if(EXISTS /usr/lib64)
set(CMAKE_SIZEOF_VOID_P 8)
else()
- set(CMAKE_SIZEOF_VOID_P 4)
+ # use the file utility to check whether itself is 64 bit:
+ find_program(FILE_EXECUTABLE file)
+ if(FILE_EXECUTABLE)
+ execute_process(COMMAND "${FILE_EXECUTABLE}" "${FILE_EXECUTABLE}" OUTPUT_VARIABLE fileOutput ERROR_QUIET)
+ if("${fileOutput}" MATCHES "64-bit")
+ set(CMAKE_SIZEOF_VOID_P 8)
+ endif()
+ endif()
endif()
endif()
@@ -56,7 +64,6 @@ if(UNIX)
if(EXISTS /etc/debian_version)
if(NOT CMAKE_${LANGUAGE}_LANGUAGE_ARCHITECTURE )
file(GLOB filesInLib RELATIVE /lib /lib/*-linux-gnu* )
- list(APPEND filesInLib i386-linux-gnu)
foreach(file ${filesInLib})
if("${file}" MATCHES "${CMAKE_LIBRARY_ARCHITECTURE_REGEX}")
set(CMAKE_${LANGUAGE}_LANGUAGE_ARCHITECTURE ${file})