DetermineLinkerId.cmake 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. include(${CMAKE_ROOT}/Modules/Internal/CMakeDetermineLinkerId.cmake)
  2. set(tools
  3. aix7.3-ld
  4. debian12-ld.bfd
  5. debian12-ld.gold
  6. debian12-ld.lld
  7. debian12-ld.mold
  8. fedora39-ld.bfd
  9. fedora39-ld.gold
  10. fedora39-ld.lld
  11. fedora39-ld.mold
  12. msvc14.36-link
  13. sunos5.11-ld
  14. xcode15.1-ld
  15. )
  16. foreach(tool IN LISTS tools)
  17. block()
  18. include(${CMAKE_CURRENT_LIST_DIR}/ld-v/${tool}.cmake OPTIONAL)
  19. cmake_determine_linker_id(C ${CMAKE_CURRENT_LIST_DIR}/ld-v/${tool}.bash)
  20. file(STRINGS ${CMAKE_CURRENT_LIST_DIR}/ld-v/${tool}.txt results)
  21. foreach(result IN LISTS results)
  22. if(result MATCHES "^([A-Z_]+)='([^']*)'")
  23. set(expect_var "${CMAKE_MATCH_1}")
  24. set(expect_val "${CMAKE_MATCH_2}")
  25. if(NOT "x${${expect_var}}" STREQUAL "x${expect_val}")
  26. message(SEND_ERROR "${tool} result\n"
  27. " ${expect_var}='${${expect_var}}'\n"
  28. "is not expected\n"
  29. " ${expect_var}='${expect_val}'\n"
  30. )
  31. endif()
  32. endif()
  33. endforeach()
  34. endblock()
  35. endforeach()