diff options
-rw-r--r-- | CMakeLists.txt | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index e5b5ea5..190119f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,9 +39,15 @@ if (NOT ${U_CMAKE_BUILD_TYPE} MATCHES DEBUG) CHECK_CXX_COMPILER_FLAG("-flto" HAS_LTO_FLAG) if (HAS_LTO_FLAG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto") - set(CMAKE_AR gcc-ar) - set(CMAKE_RANLIB gcc-ranlib) + find_program(LTO_AR NAMES "${CMAKE_C_COMPILER}-ar" gcc-ar) + find_program(LTO_RANLIB NAMES "${CMAKE_C_COMPILER}-ranlib" gcc-ranlib) + if (LTO_AR AND LTO_RANLIB) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto") + set(CMAKE_AR "${LTO_AR}") + set(CMAKE_RANLIB "${LTO_RANLIB}") + else() + message(STATUS "gcc-ar or gcc-ranlib not found, disabling LTO") + endif() endif() endif() |