wasm-micro-runtime/tests/unit/instruction-metering/CMakeLists.txt

55 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.14)
project(test-instruction-metering)
add_definitions(-DRUN_ON_LINUX)
set(WAMR_BUILD_AOT 0)
set(WAMR_BUILD_FAST_INTERP 1)
set(WAMR_BUILD_INTERP 1)
set(WAMR_BUILD_JIT 0)
set(WAMR_BUILD_LIBC_WASI 0)
set(WAMR_BUILD_APP_FRAMEWORK 0)
set(WAMR_BUILD_INSTRUCTION_METERING 1)
if(NOT DEFINED WASI_SDK_DIR)
set(WASI_SDK_DIR "/opt/wasi-sdk")
endif()
set(WASISDK_TOOLCHAIN "${WASI_SDK_DIR}/share/cmake/wasi-sdk.cmake")
include(ExternalProject)
include(GoogleTest)
if (TARGET gtest)
get_target_property(GTEST_INCLUDE_DIRS gtest INTERFACE_INCLUDE_DIRECTORIES)
if (GTEST_INCLUDE_DIRS)
include_directories(${GTEST_INCLUDE_DIRS})
endif()
endif()
ExternalProject_Add(
instruction_metering_wasm_apps
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/wasm-apps
BUILD_ALWAYS YES
CONFIGURE_COMMAND ${CMAKE_COMMAND} -S ${CMAKE_CURRENT_SOURCE_DIR}/wasm-apps -B build
-DWASI_SDK_PREFIX=${WASI_SDK_DIR}
-DCMAKE_TOOLCHAIN_FILE=${WASISDK_TOOLCHAIN}
BUILD_COMMAND ${CMAKE_COMMAND} --build build
INSTALL_COMMAND ${CMAKE_COMMAND} --install build --prefix ${CMAKE_CURRENT_BINARY_DIR}
)
include(../unit_common.cmake)
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
file(GLOB_RECURSE source_all ${CMAKE_CURRENT_SOURCE_DIR}/*.cc)
set(unit_test_sources
${source_all}
${WAMR_RUNTIME_LIB_SOURCE}
${UNCOMMON_SHARED_SOURCE}
)
add_executable(instruction_metering_test ${unit_test_sources})
target_link_libraries(instruction_metering_test gtest_main gtest)
add_dependencies(instruction_metering_test instruction_metering_wasm_apps)
gtest_discover_tests(instruction_metering_test)