11# Copyright (C) 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
22# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
33
4- if (APPLE )
5- set (HAVE_FLAG_SEARCH_PATHS_FIRST 0)
6- set (CMAKE_C_LINK_FLAGS "" )
7- set (CMAKE_CXX_LINK_FLAGS "" )
8- endif ()
4+ cmake_minimum_required (VERSION 3.14)
5+ project (wasi_threads_wasm)
96
10- if (NOT DEFINED WASI_SDK_DIR)
11- set (WASI_SDK_DIR "/opt/wasi-sdk" )
12- endif ()
13-
14- if (DEFINED WASI_SYSROOT)
15- set (CMAKE_SYSROOT "${WASI_SYSROOT} " )
16- endif ()
17-
18- set (CMAKE_C_COMPILER "${WASI_SDK_DIR} /bin/clang" )
19- set (CMAKE_ASM_COMPILER "${WASI_SDK_DIR} /bin/clang" )
20- set (CMAKE_EXE_LINKER_FLAGS "-target wasm32-wasi-threads" )
21-
22- if ("$ENV{COLLECT_CODE_COVERAGE} " STREQUAL "1" OR COLLECT_CODE_COVERAGE EQUAL 1)
23- set (CMAKE_C_FLAGS "" )
24- set (CMAKE_CXX_FLAGS "" )
25- endif ()
7+ set (CMAKE_BUILD_TYPE Debug) # Otherwise no debug symbols (addr2line)
268
279function (compile_sample SOURCE_FILE)
2810 get_filename_component (FILE_NAME ${SOURCE_FILE} NAME_WLE)
2911 set (WASM_MODULE ${FILE_NAME} .wasm)
3012 add_executable (${WASM_MODULE} ${SOURCE_FILE} ${ARGN} )
13+ set_target_properties (${WASM_MODULE} PROPERTIES SUFFIX .wasm)
3114
3215 target_compile_options (${WASM_MODULE} PRIVATE
3316 -pthread -ftls-model=local-exec)
@@ -41,6 +24,8 @@ function (compile_sample SOURCE_FILE)
4124 LINKER:--export=malloc
4225 LINKER:--export=free
4326 )
27+
28+ install (FILES ${CMAKE_CURRENT_BINARY_DIR} /${WASM_MODULE} DESTINATION wasm-apps)
4429endfunction ()
4530
46- compile_sample(no_pthread.c wasi_thread_start.S)
31+ compile_sample(no_pthread.c wasi_thread_start.S)
0 commit comments