[cmake-developers] [PATCH] CMakeFindPackageMode.cmake: fix 32/64bit detection if `file' is a symlink

Yury G. Kudryashov urkud.urkud at gmail.com
Thu Feb 23 16:39:39 EST 2012


From: "Yury G. Kudryashov" <urkud.urkud at gmail.com>

---
 Modules/CMakeFindPackageMode.cmake |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/Modules/CMakeFindPackageMode.cmake b/Modules/CMakeFindPackageMode.cmake
index 4296577..bcf3014 100644
--- a/Modules/CMakeFindPackageMode.cmake
+++ b/Modules/CMakeFindPackageMode.cmake
@@ -71,7 +71,8 @@ if(UNIX)
       # 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)
+        get_filename_component(FILE_ABSPATH "${FILE_EXECUTABLE}" ABSOLUTE CACHE)
+        execute_process(COMMAND "${FILE_ABSPATH}" "${FILE_ABSPATH}" OUTPUT_VARIABLE fileOutput ERROR_QUIET)
         if("${fileOutput}" MATCHES "64-bit")
           set(CMAKE_SIZEOF_VOID_P 8)
         endif()
-- 
1.7.8




More information about the cmake-developers mailing list