|
|
@@ -75,12 +75,14 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
|
|
|
message(CHECK_PASS "done")
|
|
|
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
|
|
"Detecting ${lang} compiler ABI info compiled with the following output:\n${OUTPUT}\n\n")
|
|
|
- file(STRINGS "${BIN}" ABI_STRINGS LIMIT_COUNT 2 REGEX "INFO:[A-Za-z0-9_]+\\[[^]]*\\]")
|
|
|
+ file(STRINGS "${BIN}" ABI_STRINGS LIMIT_COUNT 32 REGEX "INFO:[A-Za-z0-9_]+\\[[^]]*\\]")
|
|
|
+ set(ABI_SIZEOF_DPTR "NOTFOUND")
|
|
|
+ set(ABI_NAME "NOTFOUND")
|
|
|
foreach(info ${ABI_STRINGS})
|
|
|
- if("${info}" MATCHES "INFO:sizeof_dptr\\[0*([^]]*)\\]")
|
|
|
+ if("${info}" MATCHES "INFO:sizeof_dptr\\[0*([^]]*)\\]" AND NOT ABI_SIZEOF_DPTR)
|
|
|
set(ABI_SIZEOF_DPTR "${CMAKE_MATCH_1}")
|
|
|
endif()
|
|
|
- if("${info}" MATCHES "INFO:abi\\[([^]]*)\\]")
|
|
|
+ if("${info}" MATCHES "INFO:abi\\[([^]]*)\\]" AND NOT ABI_NAME)
|
|
|
set(ABI_NAME "${CMAKE_MATCH_1}")
|
|
|
endif()
|
|
|
endforeach()
|