DetermineLinkerId.cmake 1.0 KB

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