| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- # Copyright (C) 2019 Intel Corporation. All rights reserved.
- # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- cmake_minimum_required (VERSION 3.14)
- project(wasm_modules)
- if(NOT SOCKET_WASI_CMAKE)
- message(FATAL_ERROR "Require SOCKET_WASI_CMAKE")
- endif()
- option(WASM_TO_AOT "transfer wasm to aot" OFF)
- if(WASM_TO_AOT AND NOT WAMRC_PATH)
- message(FATAL_ERROR "Require WAMRC_PATH when WASM_TO_AOT is ON")
- endif()
- #
- # c -> wasm
- include(${SOCKET_WASI_CMAKE})
- add_executable(send_recv ${CMAKE_CURRENT_LIST_DIR}/send_recv.c)
- set_target_properties(send_recv PROPERTIES SUFFIX .wasm)
- target_include_directories(send_recv PUBLIC ${CMAKE_CURRENT_LIST_DIR}/inc)
- target_link_libraries(send_recv socket_wasi_ext)
- target_link_options(send_recv PRIVATE
- LINKER:--export=__heap_base
- LINKER:--export=__data_end
- LINKER:--shared-memory,--max-memory=196608
- LINKER:--no-check-features
- LINKER:--allow-undefined
- )
- if(WASM_TO_AOT)
- # wasm -> aot
- add_custom_target(send_recv_aot ALL
- COMMAND pwd && ${WAMRC_PATH} --invoke-c-api-import --enable-multi-thread -o ./send_recv.aot ./send_recv.wasm
- DEPENDS send_recv
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- )
- endif()
- #
- # install
- if(WASM_TO_AOT)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/send_recv.aot DESTINATION . )
- else()
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/send_recv.wasm DESTINATION . )
- endif()
|