CMakeLists.txt 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. # Copyright (C) 2019 Intel Corporation. All rights reserved.
  2. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  3. cmake_minimum_required(VERSION 2.9)
  4. project(test-runtime-common)
  5. add_definitions(-DRUN_ON_LINUX)
  6. set(WAMR_BUILD_LIBC_WASI 0)
  7. set(WAMR_BUILD_APP_FRAMEWORK 0)
  8. include(../unit_common.cmake)
  9. set(LLVM_SRC_ROOT "${WAMR_ROOT_DIR}/core/deps/llvm")
  10. if(NOT EXISTS "${LLVM_SRC_ROOT}/build")
  11. message(FATAL_ERROR "Cannot find LLVM dir: ${LLVM_SRC_ROOT}/build")
  12. endif()
  13. set(CMAKE_PREFIX_PATH "${LLVM_SRC_ROOT}/build;${CMAKE_PREFIX_PATH}")
  14. find_package(LLVM REQUIRED CONFIG)
  15. include_directories(${LLVM_INCLUDE_DIRS})
  16. add_definitions(${LLVM_DEFINITIONS})
  17. message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
  18. message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
  19. include_directories(${CMAKE_CURRENT_SOURCE_DIR})
  20. file(GLOB_RECURSE source_all ${CMAKE_CURRENT_SOURCE_DIR}/*.cc)
  21. set(UNIT_SOURCE ${source_all})
  22. aux_source_directory(. SRC_LIST)
  23. set(unit_test_sources
  24. ${UNIT_SOURCE}
  25. ${WAMR_RUNTIME_LIB_SOURCE}
  26. ${UNCOMMON_SHARED_SOURCE}
  27. ${SRC_LIST}
  28. )
  29. add_executable(runtime_common_test ${unit_test_sources})
  30. target_link_libraries(runtime_common_test ${LLVM_AVAILABLE_LIBS} gtest_main)
  31. # Ensure that aot compiled is completed before linear_memory_test_aot is built
  32. set(dummy_output "${CMAKE_CURRENT_BINARY_DIR}/dummy_output")
  33. add_custom_command(OUTPUT ${dummy_output}
  34. COMMAND ./build_aot.sh
  35. COMMAND ${CMAKE_COMMAND} -E touch ${dummy_output}
  36. WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
  37. DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/build_aot.sh
  38. COMMENT "Executing script to compile aot files"
  39. VERBATIM
  40. )
  41. add_custom_target(
  42. BuildAot ALL
  43. DEPENDS ${dummy_output}
  44. )
  45. add_dependencies(runtime_common_test BuildAot)
  46. add_custom_command(TARGET runtime_common_test POST_BUILD
  47. COMMAND ${CMAKE_COMMAND} -E copy
  48. ${CMAKE_CURRENT_LIST_DIR}/wasm-apps/main.wasm ${CMAKE_CURRENT_LIST_DIR}/wasm-apps/main.aot
  49. ${CMAKE_CURRENT_BINARY_DIR}
  50. COMMENT "Copy main.wasm and main.aot to the directory: build/runtime-common."
  51. )
  52. gtest_discover_tests(runtime_common_test)