[test-suite] r267243 - [test-suite] Added llvm_target_prefix() command to set unique target prefix.

Chris Matthews via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 23 14:15:57 PDT 2016


After this commit the test suite fails cmake for me:


CMake Error at cmake/modules/SingleMultiSource.cmake:45 (message):
  Duplicate executable name!Please set unique prefix with
  llvm_target_prefix().
Call Stack (most recent call first):
  cmake/modules/SingleMultiSource.cmake:136 (get_unique_exe_name)
  cmake/modules/SingleMultiSource.cmake:175 (test_suite_add_executable)
  SingleSource/UnitTests/Vector/CMakeLists.txt:21 (llvm_singlesource)


> On Apr 22, 2016, at 3:53 PM, Artem Belevich via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> Author: tra
> Date: Fri Apr 22 17:53:21 2016
> New Revision: 267243
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=267243&view=rev
> Log:
> [test-suite] Added llvm_target_prefix() command to set unique target prefix.
> 
> Differential Revision: http://reviews.llvm.org/D19423
> 
> Modified:
>    test-suite/trunk/SingleSource/Benchmarks/Shootout-C++/CMakeLists.txt
>    test-suite/trunk/SingleSource/Benchmarks/Shootout/CMakeLists.txt
>    test-suite/trunk/SingleSource/Regression/C++/CMakeLists.txt
>    test-suite/trunk/SingleSource/Regression/C/CMakeLists.txt
>    test-suite/trunk/cmake/modules/SingleMultiSource.cmake
> 
> Modified: test-suite/trunk/SingleSource/Benchmarks/Shootout-C++/CMakeLists.txt
> URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/Benchmarks/Shootout-C%2B%2B/CMakeLists.txt?rev=267243&r1=267242&r2=267243&view=diff
> ==============================================================================
> --- test-suite/trunk/SingleSource/Benchmarks/Shootout-C++/CMakeLists.txt (original)
> +++ test-suite/trunk/SingleSource/Benchmarks/Shootout-C++/CMakeLists.txt Fri Apr 22 17:53:21 2016
> @@ -1,3 +1,4 @@
> +llvm_target_prefix("shootout-cxx")
> list(APPEND CXXFLAGS -Wno-deprecated)
> list(APPEND CPPFLAGS -Wno-deprecated)
> set(FP_TOLERANCE 0.00000001)
> 
> Modified: test-suite/trunk/SingleSource/Benchmarks/Shootout/CMakeLists.txt
> URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/Benchmarks/Shootout/CMakeLists.txt?rev=267243&r1=267242&r2=267243&view=diff
> ==============================================================================
> --- test-suite/trunk/SingleSource/Benchmarks/Shootout/CMakeLists.txt (original)
> +++ test-suite/trunk/SingleSource/Benchmarks/Shootout/CMakeLists.txt Fri Apr 22 17:53:21 2016
> @@ -1,3 +1,4 @@
> +llvm_target_prefix("shootout")
> list(APPEND LDFLAGS -lm)
> if(ARCH STREQUAL "XCore")
>   set(XCORE_TARGET_NEEDS_MEMORY 256)
> 
> Modified: test-suite/trunk/SingleSource/Regression/C++/CMakeLists.txt
> URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/Regression/C%2B%2B/CMakeLists.txt?rev=267243&r1=267242&r2=267243&view=diff
> ==============================================================================
> --- test-suite/trunk/SingleSource/Regression/C++/CMakeLists.txt (original)
> +++ test-suite/trunk/SingleSource/Regression/C++/CMakeLists.txt Fri Apr 22 17:53:21 2016
> @@ -1,3 +1,4 @@
> +llvm_target_prefix("regression-cxx")
> list(APPEND LDFLAGS -lstdc++)
> llvm_singlesource()
> 
> 
> Modified: test-suite/trunk/SingleSource/Regression/C/CMakeLists.txt
> URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/Regression/C/CMakeLists.txt?rev=267243&r1=267242&r2=267243&view=diff
> ==============================================================================
> --- test-suite/trunk/SingleSource/Regression/C/CMakeLists.txt (original)
> +++ test-suite/trunk/SingleSource/Regression/C/CMakeLists.txt Fri Apr 22 17:53:21 2016
> @@ -1,3 +1,4 @@
> +llvm_target_prefix("regression-c")
> if(ARCH STREQUAL "x86")
>   if(DEFINED USE_REFERENCE_OUTPUT)
>     set(EXEC_XFAILS casts)
> 
> Modified: test-suite/trunk/cmake/modules/SingleMultiSource.cmake
> URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/cmake/modules/SingleMultiSource.cmake?rev=267243&r1=267242&r2=267243&view=diff
> ==============================================================================
> --- test-suite/trunk/cmake/modules/SingleMultiSource.cmake (original)
> +++ test-suite/trunk/cmake/modules/SingleMultiSource.cmake Fri Apr 22 17:53:21 2016
> @@ -13,18 +13,27 @@
> 
> include(TestFile)
> 
> +
> +# Set unique target prefix within caller's scope.
> +function(llvm_target_prefix prefix)
> +  if(prefix)
> +    set(TARGET_PREFIX "${prefix}-" PARENT_SCOPE)
> +  else()
> +    set(TARGET_PREFIX "" PARENT_SCOPE)
> +  endif()
> +endfunction()
> +
> # Given a source file name after which a test should be named, create a unique
> # name for the test. Usually this is just the source file with the suffix
> -# stripped, but in some cases this ends up causing duplicates so attempt to
> -# make each unique (by adding pathname segments until they become unique).
> -#
> -# FIXME: Swap this with a simpler procedure to just append a numeral
> +# stripped, and ${TARGET_PREFIX} prepended.
> set_property(GLOBAL PROPERTY registered_executables)
> function(get_unique_exe_name new_name main_src)
>   get_property(registered_executables GLOBAL PROPERTY registered_executables)
> 
>   string(REGEX REPLACE ".[cp]+$" "" path ${main_src})
> -  string(REGEX REPLACE ".*/" "" name ${path})
> +  get_filename_component(name ${path} NAME )
> +  set(name "${TARGET_PREFIX}${name}")
> +
>   list(FIND registered_executables ${name} name_idx)
> 
>   if(${name_idx} EQUAL -1)
> @@ -33,20 +42,8 @@ function(get_unique_exe_name new_name ma
>     return()
>   endif()
> 
> -  # There is a clash. Rename the target. Each time around the loop pull in
> -  # a new path component.
> -  foreach(n RANGE 1 4)
> -    string(REGEX REPLACE ".*/([^/]+/${name})" "\\1" name ${path})
> -    string(REGEX REPLACE "/" "-" safe_name ${name})
> -
> -    list(FIND registered_executables ${safe_name} name_idx)
> -    if(${name_idx} EQUAL -1)
> -      set(${new_name} ${safe_name} PARENT_SCOPE)
> -      set_property(GLOBAL APPEND PROPERTY registered_executables ${safe_name})
> -      return()
> -    endif()
> -  endforeach()
> -  message(FATAL_ERROR "Failed to uniquify executable name!")
> +  message(FATAL_ERROR "Duplicate executable name!"
> +    "Please set unique prefix with llvm_target_prefix().")
> endfunction()
> 
> # Add flags to a cmake target property.
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160423/0f9ee441/attachment.html>


More information about the llvm-commits mailing list