-
Notifications
You must be signed in to change notification settings - Fork 328
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
41 lines (32 loc) · 1.2 KB
/
CMakeLists.txt
File metadata and controls
41 lines (32 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# evmone: Fast Ethereum Virtual Machine implementation
# Copyright 2019-2020 The evmone Authors.
# SPDX-License-Identifier: Apache-2.0
include(GoogleTest)
include(${PROJECT_SOURCE_DIR}/evmc/cmake/EVMC.cmake)
set(evmone_private_include_dir ${PROJECT_SOURCE_DIR}/lib)
hunter_add_package(benchmark)
find_package(benchmark CONFIG REQUIRED)
add_subdirectory(utils)
add_subdirectory(bench)
add_subdirectory(integration)
add_subdirectory(internal_benchmarks)
add_subdirectory(state)
add_subdirectory(unittests)
set(targets evmone-bench evmone-bench-internal evmone-unittests testutils)
if(EVMONE_FUZZING)
add_subdirectory(fuzzer)
list(APPEND targets evmone-fuzzer)
endif()
set_target_properties(
${targets} PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}
)
get_target_property(type evmone TYPE)
if(type STREQUAL SHARED_LIBRARY)
evmc_add_vm_test(NAME ${PROJECT_NAME}/evmc-vmtester TARGET evmone)
if(TARGET evm-test)
add_test(NAME ${PROJECT_NAME}/evm-test COMMAND evm-test $<TARGET_FILE:evmone>)
endif()
endif()