CMakeLists.txt 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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 (test-custom-section)
  5. set(WASI_SDK_DIR "/opt/wasi-sdk")
  6. set(WASISDK_TOOLCHAIN "${WASI_SDK_DIR}/share/cmake/wasi-sdk.cmake")
  7. include(ExternalProject)
  8. ExternalProject_Add(
  9. custom-section-test-wasm-apps
  10. SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/wasm-apps
  11. BUILD_ALWAYS YES
  12. CONFIGURE_COMMAND ${CMAKE_COMMAND} -S ${CMAKE_CURRENT_SOURCE_DIR}/wasm-apps -B build
  13. -DWASI_SDK_PREFIX=${WASI_SDK_DIR}
  14. -DCMAKE_TOOLCHAIN_FILE=${WASISDK_TOOLCHAIN}
  15. BUILD_COMMAND ${CMAKE_COMMAND} --build build
  16. INSTALL_COMMAND ${CMAKE_COMMAND} --install build --prefix ${CMAKE_CURRENT_BINARY_DIR}/wasm-apps
  17. )
  18. add_definitions (-DRUN_ON_LINUX)
  19. set (WAMR_BUILD_LIBC_WASI 0)
  20. set (WAMR_BUILD_LIBC_BUILTIN 0)
  21. set (WAMR_BUILD_AOT 1)
  22. set (WAMR_BUILD_FAST_INTERP 0)
  23. set (WAMR_BUILD_INTERP 1)
  24. set (WAMR_BUILD_JIT 0)
  25. add_definitions(-DWASM_ENABLE_WAMR_COMPILER=1)
  26. add_definitions (-DWASM_ENABLE_DUMP_CALL_STACK=1)
  27. add_definitions (-DWASM_ENABLE_AOT_STACK_FRAME=1)
  28. # Feature to test
  29. set (WAMR_BUILD_LOAD_CUSTOM_SECTION 1)
  30. include (../unit_common.cmake)
  31. find_package(LLVM REQUIRED CONFIG)
  32. include_directories(${LLVM_INCLUDE_DIRS})
  33. add_definitions(${LLVM_DEFINITIONS})
  34. include (${IWASM_DIR}/compilation/iwasm_compl.cmake)
  35. include_directories (${CMAKE_CURRENT_SOURCE_DIR})
  36. file (GLOB_RECURSE source_all ${CMAKE_CURRENT_SOURCE_DIR}/*.cc)
  37. set (UNIT_SOURCE ${source_all})
  38. set (unit_test_sources
  39. ${UNIT_SOURCE}
  40. ${WAMR_RUNTIME_LIB_SOURCE}
  41. ${IWASM_COMPL_SOURCE}
  42. )
  43. # Now simply link against gtest or gtest_main as needed. Eg
  44. add_executable (custom_section_test ${unit_test_sources})
  45. target_link_libraries (custom_section_test ${LLVM_AVAILABLE_LIBS} gtest_main )
  46. gtest_discover_tests(custom_section_test)