| include(${CMAKE_ROOT}/Modules/Internal/CMakeDetermineLinkerId.cmake) |
| |
| set(tools |
| aix7.3-ld |
| debian12-ld.bfd |
| debian12-ld.gold |
| debian12-ld.lld |
| debian12-ld.mold |
| fedora39-ld.bfd |
| fedora39-ld.gold |
| fedora39-ld.lld |
| fedora39-ld.mold |
| msvc14.36-link |
| sunos5.11-ld |
| xcode15.1-ld |
| ) |
| |
| foreach(tool IN LISTS tools) |
| block() |
| include(${CMAKE_CURRENT_LIST_DIR}/ld-v/${tool}.cmake OPTIONAL) |
| cmake_determine_linker_id(C ${CMAKE_CURRENT_LIST_DIR}/ld-v/${tool}.bash) |
| file(STRINGS ${CMAKE_CURRENT_LIST_DIR}/ld-v/${tool}.txt results) |
| foreach(result IN LISTS results) |
| if(result MATCHES "^([A-Z_]+)='([^']*)'") |
| set(expect_var "${CMAKE_MATCH_1}") |
| set(expect_val "${CMAKE_MATCH_2}") |
| if(NOT "x${${expect_var}}" STREQUAL "x${expect_val}") |
| message(SEND_ERROR "${tool} result\n" |
| " ${expect_var}='${${expect_var}}'\n" |
| "is not expected\n" |
| " ${expect_var}='${expect_val}'\n" |
| ) |
| endif() |
| endif() |
| endforeach() |
| endblock() |
| endforeach() |