https://github.com/Kitware/CMake
Revision 47abe5f2251f5e31c2da428cd8d92ba56844856c authored by Axel Huebl on 20 August 2020, 00:12:23 UTC, committed by Brad King on 20 August 2020, 10:52:45 UTC
Fix a regression with MPI and CUDA<10.2 that did let `-pthread` flags
slip to nvcc again.  In commit b725a19072 (FindMPI: Deny -fexceptions
from NVCC, 2020-07-02, v3.18.0-rc4~12^2) we accidentally forgot to use
the variable containing the replacement result.

Fixes: #21108
1 parent 09e8de7
Raw File
Tip revision: 47abe5f2251f5e31c2da428cd8d92ba56844856c authored by Axel Huebl on 20 August 2020, 00:12:23 UTC
FindMPI: Fix regression in pthread guard
Tip revision: 47abe5f
CMakeLists.txt
cmake_minimum_required(VERSION 2.8)

project(ArgumentExpansion)

function (argument_tester expected expected_len)
    list(LENGTH ARGN argn_len)
    list(LENGTH ${expected} expected_received_len)

    if (NOT ${expected_received_len} EQUAL ${expected_len})
        message(STATUS "Unexpected: Expanding expected values isn't working")
    endif ()

    if (${argn_len} EQUAL ${expected_len})
        set(i 0)
        while (i LESS ${argn_len})
            list(GET ARGN ${i} argn_value)
            list(GET ${expected} ${i} expected_value)

            if (NOT "${argn_value}" STREQUAL "${expected_value}")
                message(STATUS "Unexpected: Argument ${i} doesn't match")
                message(STATUS "    Expected: ${expected_value}")
                message(STATUS "    Received: ${argn_value}")
            endif ()

            math(EXPR i "${i} + 1")
        endwhile ()
    else ()
        message(STATUS "Unexpected: Lengths of arguments don't match")
        message(STATUS "    Expected: ${expected_len}")
        message(STATUS "    Received: ${argn_len}")
    endif ()
endfunction ()

set(empty_test)
message(STATUS "Test: Empty arguments")
argument_tester(empty_test 0 ${empty_test})

set(single_arg_test
    "single arg")
message(STATUS "Test: Single argument")
argument_tester(single_arg_test 1 ${single_arg_test})

set(multiple_arg_test
    "first arg"
    "second arg")
message(STATUS "Test: Multiple arguments")
argument_tester(multiple_arg_test 2 ${multiple_arg_test})

set(nested_list_arg_test
    "${multiple_arg_test}"
    "first arg"
    "second arg")
message(STATUS "Test: Nested list argument flattens")
argument_tester(nested_list_arg_test 4 ${nested_list_arg_test})

set(semicolon_arg_test
    "pre\;post")
set(semicolon_arg_test_flat "pre;post")
message(STATUS "Test: Semicolon argument flattens")
argument_tester(semicolon_arg_test_flat 2 ${semicolon_arg_test})
back to top