mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-03-12 08:55:28 +00:00

Support collecting code coverage with wamr-test-suites script by using lcov and genhtml tools, eg.: cd tests/wamr-test-suites ./test_wamr.sh -s spec -b -P -C The default code coverage and html files are generated at: tests/wamr-test-suites/workspace/wamr.lcov tests/wamr-test-suites/workspace/wamr-lcov.zip And update wamr-test-suites scripts to support testing GC spec cases to avoid frequent synchronization conflicts between branch main and dev/gc.
45 lines
1.4 KiB
CMake
45 lines
1.4 KiB
CMake
# Copyright (C) 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
if (APPLE)
|
|
set (HAVE_FLAG_SEARCH_PATHS_FIRST 0)
|
|
set (CMAKE_C_LINK_FLAGS "")
|
|
set (CMAKE_CXX_LINK_FLAGS "")
|
|
endif ()
|
|
|
|
if (NOT DEFINED WASI_SDK_DIR)
|
|
set (WASI_SDK_DIR "/opt/wasi-sdk")
|
|
endif ()
|
|
|
|
set (CMAKE_SYSROOT "${WASI_SYSROOT}")
|
|
set (CMAKE_C_COMPILER "${WASI_SDK_DIR}/bin/clang")
|
|
set (CMAKE_ASM_COMPILER "${WASI_SDK_DIR}/bin/clang")
|
|
set (CMAKE_EXE_LINKER_FLAGS "-target wasm32-wasi-threads")
|
|
|
|
if ("$ENV{COLLECT_CODE_COVERAGE}" STREQUAL "1" OR COLLECT_CODE_COVERAGE EQUAL 1)
|
|
set (CMAKE_C_FLAGS "")
|
|
set (CMAKE_CXX_FLAGS "")
|
|
endif ()
|
|
|
|
function (compile_sample SOURCE_FILE)
|
|
get_filename_component (FILE_NAME ${SOURCE_FILE} NAME_WLE)
|
|
set (WASM_MODULE ${FILE_NAME}.wasm)
|
|
add_executable (${WASM_MODULE} ${SOURCE_FILE} ${ARGN})
|
|
|
|
target_compile_options (${WASM_MODULE} PRIVATE
|
|
-pthread -ftls-model=local-exec)
|
|
|
|
target_link_options (${WASM_MODULE} PRIVATE
|
|
-z stack-size=32768
|
|
LINKER:--export=__heap_base
|
|
LINKER:--export=__data_end
|
|
LINKER:--shared-memory,--max-memory=1966080
|
|
LINKER:--export=wasi_thread_start
|
|
LINKER:--export=malloc
|
|
LINKER:--export=free
|
|
)
|
|
endfunction ()
|
|
|
|
compile_sample(no_pthread.c wasi_thread_start.S)
|
|
compile_sample(thread_termination.c wasi_thread_start.S)
|