blob: cff5031ec9b23c4bafd969f1989198197a871bda [file] [log] [blame]
Petr Hosek2bbb6ad2017-07-28 03:39:38 +00001function(find_compiler_rt_library name dest)
2 set(dest "" PARENT_SCOPE)
3 set(CLANG_COMMAND ${CMAKE_CXX_COMPILER} ${SANITIZER_COMMON_CFLAGS}
4 "--rtlib=compiler-rt" "--print-libgcc-file-name")
5 if (CMAKE_CXX_COMPILER_ID MATCHES Clang AND CMAKE_CXX_COMPILER_TARGET)
6 list(APPEND CLANG_COMMAND "--target=${CMAKE_CXX_COMPILER_TARGET}")
7 endif()
8 execute_process(
9 COMMAND ${CLANG_COMMAND}
10 RESULT_VARIABLE HAD_ERROR
11 OUTPUT_VARIABLE LIBRARY_FILE
12 )
13 string(STRIP "${LIBRARY_FILE}" LIBRARY_FILE)
14 string(REPLACE "builtins" "${name}" LIBRARY_FILE "${LIBRARY_FILE}")
15 if (NOT HAD_ERROR AND EXISTS "${LIBRARY_FILE}")
16 message(STATUS "Found compiler-rt ${name} library: ${LIBRARY_FILE}")
17 set(${dest} "${LIBRARY_FILE}" PARENT_SCOPE)
18 else()
19 message(STATUS "Failed to find compiler-rt ${name} library")
20 endif()
21endfunction()