[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