CMakeLists.txt 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # Copyright (C) 2019 Intel Corporation. All rights reserved.
  2. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  3. cmake_minimum_required(VERSION 3.14)
  4. project(linking_samples_wasm)
  5. if(WAMR_BUILD_AOT EQUAL 1)
  6. list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/../cmake)
  7. find_package(WAMRC REQUIRED)
  8. endif()
  9. add_executable(import_memory import_memory.c)
  10. target_link_options(import_memory
  11. PRIVATE
  12. LINKER:--import-memory
  13. # (memory 3 5) for test
  14. LINKER:--initial-memory=196608
  15. LINKER:--max-memory=327680
  16. LINKER:--initial-heap=65536
  17. )
  18. set_target_properties(import_memory PROPERTIES SUFFIX .wasm)
  19. install(FILES ${CMAKE_CURRENT_BINARY_DIR}/import_memory.wasm DESTINATION .)
  20. add_executable(import_table import_table.c)
  21. target_link_options(import_table
  22. PRIVATE
  23. LINKER:--import-table
  24. )
  25. set_target_properties(import_table PROPERTIES SUFFIX .wasm)
  26. install(FILES ${CMAKE_CURRENT_BINARY_DIR}/import_table.wasm DESTINATION .)
  27. if(WAMR_BUILD_AOT EQUAL 1)
  28. add_custom_target (
  29. import_memory_aot
  30. ALL
  31. DEPENDS ${WAMRC_BIN} import_memory
  32. COMMAND ${WAMRC_BIN} -o import_memory.aot import_memory.wasm
  33. WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
  34. )
  35. install(FILES ${CMAKE_CURRENT_BINARY_DIR}/import_memory.aot DESTINATION .)
  36. add_custom_target(
  37. import_table_aot
  38. ALL
  39. DEPENDS ${WAMRC_BIN} import_table
  40. COMMAND ${WAMRC_BIN} -o import_table.aot import_table.wasm
  41. WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
  42. )
  43. install(FILES ${CMAKE_CURRENT_BINARY_DIR}/import_table.aot DESTINATION .)
  44. endif()