diff options
Diffstat (limited to 'compiler-rt/lib')
| -rw-r--r-- | compiler-rt/lib/asan/tests/CMakeLists.txt | 34 | ||||
| -rw-r--r-- | compiler-rt/lib/interception/tests/CMakeLists.txt | 17 | ||||
| -rw-r--r-- | compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt | 17 | 
3 files changed, 60 insertions, 8 deletions
diff --git a/compiler-rt/lib/asan/tests/CMakeLists.txt b/compiler-rt/lib/asan/tests/CMakeLists.txt index e842c83de83..8089d51efe6 100644 --- a/compiler-rt/lib/asan/tests/CMakeLists.txt +++ b/compiler-rt/lib/asan/tests/CMakeLists.txt @@ -129,7 +129,11 @@ append_list_if(ANDROID atomic ASAN_UNITTEST_NOINST_LIBS)  # options in ${ARGN}, and add it to the object list.  macro(asan_compile obj_list source arch kind)    get_filename_component(basename ${source} NAME) -  set(output_obj "${CMAKE_CFG_INTDIR}/${obj_list}.${basename}.${arch}${kind}.o") +  if(CMAKE_CONFIGURATION_TYPES) +    set(output_obj "${CMAKE_CFG_INTDIR}/${obj_list}.${basename}.${arch}${kind}.o") +  else() +    set(output_obj "${obj_list}.${basename}.${arch}${kind}.o") +  endif()    get_target_flags_for_arch(${arch} TARGET_CFLAGS)    set(COMPILE_DEPS ${ASAN_UNITTEST_HEADERS} ${ASAN_BLACKLIST_FILE})    if(NOT COMPILER_RT_STANDALONE_BUILD) @@ -152,7 +156,17 @@ macro(add_asan_test test_suite test_name arch kind)    endif()    if(TEST_WITH_TEST_RUNTIME)      list(APPEND TEST_DEPS ${ASAN_TEST_RUNTIME}) -    list(APPEND TEST_OBJECTS $<TARGET_FILE:${ASAN_TEST_RUNTIME}>) +    if(CMAKE_CONFIGURATION_TYPES) +     set(configuration_path "${CMAKE_CFG_INTDIR}/") +    else() +     set(configuration_path "") +    endif() +    if(NOT MSVC) +      set(asan_test_runtime_path ${configuration_path}lib${ASAN_TEST_RUNTIME}.a) +    else() +      set(asan_test_runtime_path ${configuration_path}${ASAN_TEST_RUNTIME}.lib) +    endif() +    list(APPEND TEST_OBJECTS ${asan_test_runtime_path})    endif()    add_compiler_rt_test(${test_suite} ${test_name}                         SUBDIR ${TEST_SUBDIR} @@ -231,7 +245,13 @@ macro(add_asan_tests_for_arch_and_kind arch kind)    endif()    # Create the 'default' folder where ASAN tests are produced. -  file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/default/${CMAKE_CFG_INTDIR}") +  if(CMAKE_CONFIGURATION_TYPES) +    foreach(build_mode ${CMAKE_CONFIGURATION_TYPES}) +      file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/default/${build_mode}") +    endforeach() +  else() +    file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/default") +  endif()    add_asan_test(AsanUnitTests "Asan-${arch}${kind}-Test"                  ${arch} ${kind} SUBDIR "default" @@ -239,7 +259,13 @@ macro(add_asan_tests_for_arch_and_kind arch kind)                  LINK_FLAGS ${ASAN_UNITTEST_INSTRUMENTED_LINK_FLAGS})    if(COMPILER_RT_ASAN_HAS_STATIC_RUNTIME)      # Create the 'dynamic' folder where ASAN tests are produced. -    file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/dynamic/${CMAKE_CFG_INTDIR}") +    if(CMAKE_CONFIGURATION_TYPES) +      foreach(build_mode ${CMAKE_CONFIGURATION_TYPES}) +        file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/dynamic/${build_mode}") +      endforeach() +    else() +      file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/dynamic") +    endif()      add_asan_test(AsanDynamicUnitTests "Asan-${arch}${kind}-Dynamic-Test"                    ${arch} ${kind} SUBDIR "dynamic" diff --git a/compiler-rt/lib/interception/tests/CMakeLists.txt b/compiler-rt/lib/interception/tests/CMakeLists.txt index 15cba152df6..5ea943f9a82 100644 --- a/compiler-rt/lib/interception/tests/CMakeLists.txt +++ b/compiler-rt/lib/interception/tests/CMakeLists.txt @@ -74,7 +74,16 @@ function(get_interception_lib_for_arch arch lib lib_name)      set(tgt_name "RTInterception.test.${arch}")    endif()    set(${lib} "${tgt_name}" PARENT_SCOPE) -  set(${lib_name} $<TARGET_FILE:${tgt_name}> PARENT_SCOPE) +  if(CMAKE_CONFIGURATION_TYPES) +   set(configuration_path "${CMAKE_CFG_INTDIR}/") +  else() +   set(configuration_path "") +  endif() +  if(NOT MSVC) +    set(${lib_name} "${configuration_path}lib${tgt_name}.a" PARENT_SCOPE) +  else() +    set(${lib_name} "${configuration_path}${tgt_name}.lib" PARENT_SCOPE) +  endif()  endfunction()  # Interception unit tests testsuite. @@ -94,7 +103,11 @@ macro(add_interception_tests_for_arch arch)    set(INTERCEPTION_TEST_OBJECTS)    foreach(source ${INTERCEPTION_TEST_SOURCES})      get_filename_component(basename ${source} NAME) -    set(output_obj "${CMAKE_CFG_INTDIR}/${basename}.${arch}.o") +    if(CMAKE_CONFIGURATION_TYPES) +      set(output_obj "${CMAKE_CFG_INTDIR}/${basename}.${arch}.o") +    else() +      set(output_obj "${basename}.${arch}.o") +    endif()      clang_compile(${output_obj} ${source}                    CFLAGS ${INTERCEPTION_TEST_CFLAGS_COMMON} ${TARGET_FLAGS}                    DEPS ${INTERCEPTION_TEST_COMPILE_DEPS}) diff --git a/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt b/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt index 5c107babe28..2acedd0ef56 100644 --- a/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt +++ b/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt @@ -127,7 +127,16 @@ function(get_sanitizer_common_lib_for_arch arch lib lib_name)      set(tgt_name "RTSanitizerCommon.test.${arch}")    endif()    set(${lib} "${tgt_name}" PARENT_SCOPE) -  set(${lib_name} $<TARGET_FILE:${tgt_name}> PARENT_SCOPE) +  if(CMAKE_CONFIGURATION_TYPES) +   set(configuration_path "${CMAKE_CFG_INTDIR}/") +  else() +   set(configuration_path "") +  endif() +  if(NOT MSVC) +    set(${lib_name} "${configuration_path}lib${tgt_name}.a" PARENT_SCOPE) +  else() +    set(${lib_name} "${configuration_path}${tgt_name}.lib" PARENT_SCOPE) +  endif()  endfunction()  # Sanitizer_common unit tests testsuite. @@ -155,7 +164,11 @@ macro(add_sanitizer_tests_for_arch arch)    set(SANITIZER_TEST_OBJECTS)    foreach(source ${SANITIZER_TEST_SOURCES})      get_filename_component(basename ${source} NAME) -    set(output_obj "${CMAKE_CFG_INTDIR}/${basename}.${arch}.o") +    if(CMAKE_CONFIGURATION_TYPES) +      set(output_obj "${CMAKE_CFG_INTDIR}/${basename}.${arch}.o") +    else() +      set(output_obj "${basename}.${arch}.o") +    endif()      clang_compile(${output_obj} ${source}                    CFLAGS ${SANITIZER_TEST_CFLAGS_COMMON} ${TARGET_FLAGS}                    DEPS ${SANITIZER_TEST_COMPILE_DEPS})  | 

