| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- # Copyright (C) 2019 Intel Corporation. All rights reserved.
- # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- cmake_minimum_required(VERSION 3.14)
- project(linking_samples)
- set(CMAKE_BUILD_TYPE Debug)
- list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
- find_package(WASISDK REQUIRED)
- include(CTest)
- enable_testing()
- ################ runtime settings ################
- string (TOLOWER ${CMAKE_HOST_SYSTEM_NAME} WAMR_BUILD_PLATFORM)
- include(CheckPIESupported)
- # AOT and JIT byd default
- if(NOT WAMR_BUILD_AOT)
- set(WAMR_BUILD_AOT 0)
- endif()
- set(WAMR_BUILD_INTERP 1)
- set(WAMR_BUILD_JIT 0)
- # wasm32-wasi
- set(WAMR_BUILD_LIBC_BUILTIN 0)
- set(WAMR_BUILD_LIBC_WASI 1)
- # mvp
- set(WAMR_BUILD_BULK_MEMORY 1)
- set(WAMR_BUILD_REF_TYPES 1)
- set(WAMR_BUILD_SIMD 1)
- set(WAMR_BUILD_TAIL_CALL 1)
- set(WAMR_BUILD_THREAD_MGR 0)
- set(WAMR_BUILD_LIB_WASI_THREADS 0)
- ## below two prevent valgrind from crashing
- #TODO: there is a crash if turn it on
- set(WAMR_DISABLE_HW_BOUND_CHECK 0)
- set(WAMR_DISABLE_STACK_HW_BOUND_CHECK 1)
- set(WAMR_DISABLE_WRITE_GS_BASE 1)
- # vmlib
- set(WAMR_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/../..)
- include(${WAMR_ROOT_DIR}/build-scripts/runtime_lib.cmake)
- add_library(vmlib SHARED ${WAMR_RUNTIME_LIB_SOURCE})
- target_include_directories(vmlib INTERFACE ${WAMR_ROOT_DIR}/core/iwasm/include)
- target_link_libraries(vmlib ${LLVM_AVAILABLE_LIBS} -lm -ldl)
- ################ samples ################
- add_subdirectory(import-memory)
- add_subdirectory(import-table)
- ################ wasm and/or aot ################
- include(ExternalProject)
- ExternalProject_Add(wasm
- SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/wasm"
- CONFIGURE_COMMAND ${CMAKE_COMMAND} -S ${CMAKE_CURRENT_SOURCE_DIR}/wasm -B build
- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
- -DCMAKE_TOOLCHAIN_FILE=${WASISDK_TOOLCHAIN}
- -DWAMR_BUILD_AOT=${WAMR_BUILD_AOT}
- BUILD_COMMAND ${CMAKE_COMMAND} --build build
- INSTALL_COMMAND ${CMAKE_COMMAND} --install build --prefix ${CMAKE_CURRENT_BINARY_DIR}
- EXCLUDE_FROM_ALL NO
- )
|