[compiler-rt] r310944 - [compiler-rt CMake] NFC: Minor CMake refactoring.
George Karpenkov via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 15 11:35:02 PDT 2017
Author: george.karpenkov
Date: Tue Aug 15 11:35:02 2017
New Revision: 310944
URL: http://llvm.org/viewvc/llvm-project?rev=310944&view=rev
Log:
[compiler-rt CMake] NFC: Minor CMake refactoring.
Change macro to a function, and use a generic variable instead of
branching for handling multi-output build with
CMAKE_CONFIGURATION_TYPES.
Differential Revision: https://reviews.llvm.org/D36725
Modified:
compiler-rt/trunk/cmake/Modules/CompilerRTCompile.cmake
Modified: compiler-rt/trunk/cmake/Modules/CompilerRTCompile.cmake
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/cmake/Modules/CompilerRTCompile.cmake?rev=310944&r1=310943&r2=310944&view=diff
==============================================================================
--- compiler-rt/trunk/cmake/Modules/CompilerRTCompile.cmake (original)
+++ compiler-rt/trunk/cmake/Modules/CompilerRTCompile.cmake Tue Aug 15 11:35:02 2017
@@ -27,7 +27,7 @@ endfunction()
# Compile a sanitizer test with a freshly built clang
# for a given architecture, adding the result to the object list.
# - obj_list: output list of objects, populated by path
-# of the generated object file.
+# of a generated object file.
# - source: source file of a test.
# - arch: architecture to compile for.
# sanitizer_test_compile(<obj_list> <source> <arch>
@@ -36,16 +36,12 @@ endfunction()
# DEPS <list of dependencies>
# CFLAGS <list of flags>
# )
-macro(sanitizer_test_compile obj_list source arch)
+function(sanitizer_test_compile obj_list source arch)
cmake_parse_arguments(TEST
"" "" "KIND;COMPILE_DEPS;DEPS;CFLAGS" ${ARGN})
get_filename_component(basename ${source} NAME)
- if(CMAKE_CONFIGURATION_TYPES)
- set(output_obj
- "${CMAKE_CFG_INTDIR}/${obj_list}.${basename}.${arch}${TEST_KIND}.o")
- else()
- set(output_obj "${obj_list}.${basename}.${arch}${TEST_KIND}.o")
- endif()
+ set(output_obj
+ "${CMAKE_CFG_RESOLVED_INTDIR}${obj_list}.${basename}.${arch}${TEST_KIND}.o")
# Write out architecture-specific flags into TARGET_CFLAGS variable.
get_target_flags_for_arch(${arch} TARGET_CFLAGS)
@@ -57,7 +53,8 @@ macro(sanitizer_test_compile obj_list so
CFLAGS ${TEST_CFLAGS} ${TARGET_CFLAGS}
DEPS ${TEST_COMPILE_DEPS})
list(APPEND ${obj_list} ${output_obj})
-endmacro()
+ set("${obj_list}" "${${obj_list}}" PARENT_SCOPE)
+endfunction()
# Compile a source into an object file with COMPILER_RT_TEST_COMPILER using
# a provided compile flags and dependenices.
More information about the llvm-commits
mailing list