cmake: handle dists which prefix gcc binaries wth arch triplet

Issue #1026
This commit is contained in:
redfish 2016-08-31 22:21:22 -04:00
parent c3ba844f03
commit 0f94f61805

View File

@ -417,8 +417,18 @@ else()
endif() endif()
# Since gcc 4.9 the LTO format is non-standard (slim), so we need the gcc-specific ar and ranlib binaries # Since gcc 4.9 the LTO format is non-standard (slim), so we need the gcc-specific ar and ranlib binaries
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9.0) AND NOT OPENBSD) if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9.0) AND NOT OPENBSD)
set(CMAKE_AR "gcc-ar") # When invoking cmake on distributions on which gcc's binaries are prefix
set(CMAKE_RANLIB "gcc-ranlib") # with an arch-specific triplet, the user has to either specify
# -DCHOST=... or -DCMAKE_AR=... and -DCMAKE_RANLIB=...
if (DEFINED CHOST)
set(CHOST_PREFIX "${CHOST}-")
endif()
if (NOT DEFINED CMAKE_AR)
set(CMAKE_AR "${CHOST_PREFIX}gcc-ar")
endif()
if (NOT DEFINED CMAKE_RANLIB)
set(CMAKE_RANLIB "${CHOST_PREFIX}gcc-ranlib")
endif()
endif() endif()
endif() endif()