Переглянути джерело

CMakeFindPackageMode: fix 32/64bit detection if 'file' is a symlink

Yury G. Kudryashov 13 роки тому
батько
коміт
0b8638821e
1 змінених файлів з 2 додано та 1 видалено
  1. 2 1
      Modules/CMakeFindPackageMode.cmake

+ 2 - 1
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)
+        execute_process(COMMAND "${FILE_ABSPATH}" "${FILE_ABSPATH}" OUTPUT_VARIABLE fileOutput ERROR_QUIET)
         if("${fileOutput}" MATCHES "64-bit")
           set(CMAKE_SIZEOF_VOID_P 8)
         endif()