From 0f94f61805d53fc19b97291b7cfd400e4c4e513a Mon Sep 17 00:00:00 2001 From: redfish Date: Wed, 31 Aug 2016 22:21:22 -0400 Subject: [PATCH] cmake: handle dists which prefix gcc binaries wth arch triplet Issue #1026 --- CMakeLists.txt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ff159086..e280826c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -417,8 +417,18 @@ else() endif() # 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) - set(CMAKE_AR "gcc-ar") - set(CMAKE_RANLIB "gcc-ranlib") + # When invoking cmake on distributions on which gcc's binaries are prefix + # 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()