From 86480f6168fd47113fdf13a1cea15157eb9b4126 Mon Sep 17 00:00:00 2001 From: SaeHie Park Date: Tue, 13 Oct 2015 09:45:44 +0900 Subject: [PATCH] Rename gcc-ar, gcc-ranlib only when LTO is enabled in CMakefile.txt JerryScript-DCO-1.0-Signed-off-by: SaeHie Park saehie.park@samsung.com --- CMakeLists.txt | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e0dd3e008..3cc1bb83c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,15 +34,6 @@ project (Jerry CXX C ASM) if(${GNU_CXX_VERSION} VERSION_LESS 4.7.0) message(FATAL_ERROR "g++ compiler version 4.7.0 or higher required") endif() - - # Use gcc-ar and gcc-ranlib to support LTO - get_filename_component(PATH_TO_GCC ${CMAKE_C_COMPILER} REALPATH) - get_filename_component(DIRECTORY_GCC ${PATH_TO_GCC} DIRECTORY) - get_filename_component(FILE_NAME_GCC ${PATH_TO_GCC} NAME) - string(REPLACE "gcc" "gcc-ar" CMAKE_AR ${FILE_NAME_GCC}) - string(REPLACE "gcc" "gcc-ranlib" CMAKE_RANLIB ${FILE_NAME_GCC}) - set(CMAKE_AR ${DIRECTORY_GCC}/${CMAKE_AR}) - set(CMAKE_RANLIB ${DIRECTORY_GCC}/${CMAKE_RANLIB}) endif() # Imported and third-party targets prefix @@ -98,6 +89,19 @@ project (Jerry CXX C ASM) message(FATAL_ERROR "Platform '${PLATFORM}' is not supported") endif() + if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + if("${ENABLE_LTO}" STREQUAL "ON") + # Use gcc-ar and gcc-ranlib to support LTO + get_filename_component(PATH_TO_GCC ${CMAKE_C_COMPILER} REALPATH) + get_filename_component(DIRECTORY_GCC ${PATH_TO_GCC} DIRECTORY) + get_filename_component(FILE_NAME_GCC ${PATH_TO_GCC} NAME) + string(REPLACE "gcc" "gcc-ar" CMAKE_AR ${FILE_NAME_GCC}) + string(REPLACE "gcc" "gcc-ranlib" CMAKE_RANLIB ${FILE_NAME_GCC}) + set(CMAKE_AR ${DIRECTORY_GCC}/${CMAKE_AR}) + set(CMAKE_RANLIB ${DIRECTORY_GCC}/${CMAKE_RANLIB}) + endif() + endif() + # Intermediate files # Script to run on MCU set(MCU_SCRIPT_GENERATED_HEADER ${CMAKE_BINARY_DIR}/generated.h)