[PATCH] D19423: [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:59:11 PDT 2016
This revision was automatically updated to reflect the committed changes.
Closed by commit rL267243: [test-suite] Added llvm_target_prefix() command to set unique target prefix. (authored by tra).
Changed prior to commit:
http://reviews.llvm.org/D19423?vs=54716&id=54745#toc
Repository:
rL LLVM
http://reviews.llvm.org/D19423
Files:
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
Index: test-suite/trunk/SingleSource/Regression/C++/CMakeLists.txt
===================================================================
--- test-suite/trunk/SingleSource/Regression/C++/CMakeLists.txt
+++ test-suite/trunk/SingleSource/Regression/C++/CMakeLists.txt
@@ -1,3 +1,4 @@
+llvm_target_prefix("regression-cxx")
list(APPEND LDFLAGS -lstdc++)
llvm_singlesource()
Index: test-suite/trunk/SingleSource/Regression/C/CMakeLists.txt
===================================================================
--- test-suite/trunk/SingleSource/Regression/C/CMakeLists.txt
+++ test-suite/trunk/SingleSource/Regression/C/CMakeLists.txt
@@ -1,3 +1,4 @@
+llvm_target_prefix("regression-c")
if(ARCH STREQUAL "x86")
if(DEFINED USE_REFERENCE_OUTPUT)
set(EXEC_XFAILS casts)
Index: test-suite/trunk/SingleSource/Benchmarks/Shootout-C++/CMakeLists.txt
===================================================================
--- test-suite/trunk/SingleSource/Benchmarks/Shootout-C++/CMakeLists.txt
+++ test-suite/trunk/SingleSource/Benchmarks/Shootout-C++/CMakeLists.txt
@@ -1,3 +1,4 @@
+llvm_target_prefix("shootout-cxx")
list(APPEND CXXFLAGS -Wno-deprecated)
list(APPEND CPPFLAGS -Wno-deprecated)
set(FP_TOLERANCE 0.00000001)
Index: test-suite/trunk/SingleSource/Benchmarks/Shootout/CMakeLists.txt
===================================================================
--- test-suite/trunk/SingleSource/Benchmarks/Shootout/CMakeLists.txt
+++ test-suite/trunk/SingleSource/Benchmarks/Shootout/CMakeLists.txt
@@ -1,3 +1,4 @@
+llvm_target_prefix("shootout")
list(APPEND LDFLAGS -lm)
if(ARCH STREQUAL "XCore")
set(XCORE_TARGET_NEEDS_MEMORY 256)
Index: test-suite/trunk/cmake/modules/SingleMultiSource.cmake
===================================================================
--- test-suite/trunk/cmake/modules/SingleMultiSource.cmake
+++ test-suite/trunk/cmake/modules/SingleMultiSource.cmake
@@ -13,40 +13,37 @@
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)
set(${new_name} ${name} PARENT_SCOPE)
set_property(GLOBAL APPEND PROPERTY registered_executables ${name})
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19423.54745.patch
Type: text/x-patch
Size: 3932 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160422/c8be06d0/attachment.bin>
More information about the llvm-commits
mailing list