CMakeLists.txt 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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-memory64)
  5. add_definitions(-DRUN_ON_LINUX)
  6. set(WAMR_BUILD_LIBC_WASI 1)
  7. set(WAMR_BUILD_APP_FRAMEWORK 0)
  8. # TODO: Currently only support classic interpreter mode
  9. set(WAMR_BUILD_AOT 0)
  10. set(WAMR_BUILD_INTERP 1)
  11. set(WAMR_BUILD_FAST_INTERP 0)
  12. set(WAMR_BUILD_JIT 0)
  13. set(WAMR_BUILD_FAST_JIT 0)
  14. set(WAMR_BUILD_MEMORY64 1)
  15. set(WAMR_BUILD_SHARED_MEMORY 1)
  16. # if only load this CMake other than load it as subdirectory
  17. # include(GoogleTest)
  18. include(../unit_common.cmake)
  19. set(LLVM_SRC_ROOT "${WAMR_ROOT_DIR}/core/deps/llvm")
  20. if (NOT EXISTS "${LLVM_SRC_ROOT}/build")
  21. message(FATAL_ERROR "Cannot find LLVM dir: ${LLVM_SRC_ROOT}/build")
  22. endif ()
  23. set(CMAKE_PREFIX_PATH "${LLVM_SRC_ROOT}/build;${CMAKE_PREFIX_PATH}")
  24. find_package(LLVM REQUIRED CONFIG)
  25. include_directories(${LLVM_INCLUDE_DIRS})
  26. add_definitions(${LLVM_DEFINITIONS})
  27. message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
  28. message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
  29. include(${IWASM_DIR}/compilation/iwasm_compl.cmake)
  30. include_directories(${CMAKE_CURRENT_SOURCE_DIR})
  31. file(GLOB_RECURSE source_all ${CMAKE_CURRENT_SOURCE_DIR}/*.cc)
  32. set(UNIT_SOURCE ${source_all})
  33. aux_source_directory(. SRC_LIST)
  34. set(unit_test_sources
  35. ${UNIT_SOURCE}
  36. ${WAMR_RUNTIME_LIB_SOURCE}
  37. ${UNCOMMON_SHARED_SOURCE}
  38. ${SRC_LIST}
  39. )
  40. # Now simply link against gtest or gtest_main as needed. Eg
  41. add_executable(memory64_test ${unit_test_sources})
  42. target_link_libraries(memory64_test ${LLVM_AVAILABLE_LIBS} gtest_main)
  43. add_custom_command(TARGET memory64_test POST_BUILD
  44. COMMAND ${CMAKE_COMMAND} -E copy
  45. ${CMAKE_CURRENT_SOURCE_DIR}/wasm-apps/*.wasm
  46. ${CMAKE_CURRENT_BINARY_DIR}/
  47. COMMENT "Copy test wasm files to the directory of google test"
  48. )
  49. gtest_discover_tests(memory64_test)