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

Artem Belevich via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 22 15:53:22 PDT 2016


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.




More information about the llvm-commits mailing list