CMakeLists.txt 981 B

123456789101112131415161718192021222324252627282930
  1. # Copyright (C) 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  2. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  3. cmake_minimum_required (VERSION 3.14)
  4. project (wasi_threads_wasm)
  5. set (CMAKE_BUILD_TYPE Debug) # Otherwise no debug symbols (addr2line)
  6. function (compile_sample SOURCE_FILE)
  7. get_filename_component (FILE_NAME ${SOURCE_FILE} NAME_WLE)
  8. set (WASM_MODULE ${FILE_NAME}.wasm)
  9. add_executable (${WASM_MODULE} ${SOURCE_FILE} ${ARGN})
  10. target_compile_options (${WASM_MODULE} PRIVATE
  11. -pthread -ftls-model=local-exec)
  12. target_link_options (${WASM_MODULE} PRIVATE
  13. -z stack-size=32768
  14. LINKER:--export=__heap_base
  15. LINKER:--export=__data_end
  16. LINKER:--shared-memory,--max-memory=1966080
  17. LINKER:--export=wasi_thread_start
  18. LINKER:--export=malloc
  19. LINKER:--export=free
  20. )
  21. install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${WASM_MODULE} DESTINATION wasm-apps)
  22. endfunction ()
  23. compile_sample(no_pthread.c wasi_thread_start.S)