Fix sample ref-types/wasm-c-api build error with wat2wasm low version (#1702)

Fix build error in sample ref-types and wasm-c-api caused by the
version of wat2wasm: refine makefile to auto detect the wat2wasm
version and add the compile flag accordingly.
This commit is contained in:
Wenyong Huang
2022-11-15 13:51:03 +08:00
committed by GitHub
parent c718e76dea
commit 375a2c9a49
4 changed files with 23 additions and 5 deletions

View File

@ -102,8 +102,17 @@ find_program(WAT2WASM
if(NOT WAT2WASM)
message(SEND_ERROR "can not find wat2wasm")
else ()
execute_process(COMMAND ${WAT2WASM} --version
OUTPUT_VARIABLE WAT2WASM_VERSION_OUTPUT)
string(STRIP ${WAT2WASM_VERSION_OUTPUT} WAT2WASM_VERSION)
message("-- Found wat2wasm ${WAT2WASM_VERSION}")
endif()
if (${WAT2WASM_VERSION} VERSION_LESS 1.0.26)
set(WAT2WASM_FLAGS "--enable-reference-types")
endif ()
include (${SHARED_DIR}/utils/uncommon/shared_uncommon.cmake)
add_executable(hello src/hello.c ${UNCOMMON_SHARED_SOURCE})
@ -122,7 +131,7 @@ endif()
# wat to wasm
file(GLOB WAT_FILE src/hello.wat)
add_custom_target(hello_wasm ALL
COMMAND ${WAT2WASM} ${WAT_FILE} --enable-reference-types -o ${PROJECT_BINARY_DIR}/hello.wasm
COMMAND ${WAT2WASM} ${WAT_FILE} ${WAT2WASM_FLAGS} -o ${PROJECT_BINARY_DIR}/hello.wasm
DEPENDS ${WAT_FILE}
BYPRODUCTS ${PROJECT_BINARY_DIR}/hello.wasm
VERBATIM