2018-06-08 12:44:33 +02:00
|
|
|
# EVMC: Ethereum Client-VM Connector API.
|
2019-04-24 16:12:13 +02:00
|
|
|
# Copyright 2018-2019 The EVMC Authors.
|
2019-03-13 19:31:50 +01:00
|
|
|
# Licensed under the Apache License, Version 2.0.
|
|
|
|
|
2019-04-02 12:59:49 +02:00
|
|
|
include(GoogleTest)
|
|
|
|
|
2019-11-27 12:34:28 +01:00
|
|
|
hunter_add_package(GTest)
|
|
|
|
find_package(GTest CONFIG REQUIRED)
|
|
|
|
|
|
|
|
# Disable support for std::tr1::tuple in GTest. This causes problems in Visual Studio 2015.
|
|
|
|
set_target_properties(GTest::gtest PROPERTIES INTERFACE_COMPILE_DEFINITIONS GTEST_HAS_TR1_TUPLE=0)
|
|
|
|
|
2019-03-13 19:31:50 +01:00
|
|
|
add_library(loader-mocked STATIC ${PROJECT_SOURCE_DIR}/lib/loader/loader.c)
|
2019-11-28 20:02:20 +01:00
|
|
|
target_link_libraries(loader-mocked PRIVATE evmc::evmc)
|
2019-03-13 19:31:50 +01:00
|
|
|
target_compile_definitions(loader-mocked PRIVATE EVMC_LOADER_MOCK=1)
|
2018-06-08 12:44:33 +02:00
|
|
|
|
|
|
|
add_executable(
|
2019-04-02 12:36:08 +02:00
|
|
|
evmc-unittests
|
2019-12-04 22:41:29 +01:00
|
|
|
cpp_test.cpp
|
|
|
|
helpers_test.cpp
|
|
|
|
instructions_test.cpp
|
2019-03-13 19:31:50 +01:00
|
|
|
loader_mock.h
|
2019-12-04 22:41:29 +01:00
|
|
|
loader_test.cpp
|
2019-12-04 22:57:50 +01:00
|
|
|
mocked_host_test.cpp
|
2018-06-08 12:44:33 +02:00
|
|
|
)
|
|
|
|
|
2019-11-05 12:52:40 +01:00
|
|
|
target_link_libraries(
|
|
|
|
evmc-unittests
|
|
|
|
PRIVATE
|
|
|
|
loader-mocked
|
|
|
|
evmc::example-vm-static
|
2019-11-05 13:11:45 +01:00
|
|
|
evmc::example-precompiles-vm-static
|
2019-11-27 12:34:28 +01:00
|
|
|
evmc::instructions
|
2019-11-05 12:52:40 +01:00
|
|
|
GTest::gtest_main
|
|
|
|
)
|
2019-04-02 12:36:08 +02:00
|
|
|
set_target_properties(evmc-unittests PROPERTIES RUNTIME_OUTPUT_DIRECTORY ..)
|
2019-04-02 12:59:49 +02:00
|
|
|
|
2019-12-06 22:10:00 +01:00
|
|
|
gtest_add_tests(TARGET evmc-unittests TEST_PREFIX ${PROJECT_NAME}/unittests/ TEST_LIST unittests)
|
|
|
|
|
|
|
|
set_tests_properties(${unittests} PROPERTIES ENVIRONMENT LLVM_PROFILE_FILE=${CMAKE_BINARY_DIR}/unittests-%p.profraw)
|