-
Notifications
You must be signed in to change notification settings - Fork 39
/
Copy pathCMakeLists.txt
55 lines (48 loc) · 1.91 KB
/
CMakeLists.txt
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#
# Copyright Quadrivium LLC
# All Rights Reserved
# SPDX-License-Identifier: Apache-2.0
#
add_subdirectory(common)
add_subdirectory(binaryen)
add_subdirectory(wabt)
set(DEFINITION_PATH "${CMAKE_CURRENT_BINARY_DIR}/wasm_compiler_definitions.hpp")
add_library(wasm_compiler_definitions INTERFACE ${DEFINITION_PATH})
disable_clang_tidy(wasm_compiler_definitions)
add_library(wasm_compiler INTERFACE)
if ("${WASM_COMPILER}" STREQUAL "WAVM")
add_subdirectory(wavm)
target_link_libraries(wasm_compiler INTERFACE runtime_wavm)
add_custom_command(
OUTPUT "${DEFINITION_PATH}"
COMMAND echo "/// This header was generated by cmake\\n" > ${DEFINITION_PATH}
COMMAND echo "#define KAGOME_WASM_COMPILER_WAVM 1" >> ${DEFINITION_PATH}
COMMAND echo "#define KAGOME_WASM_COMPILER_WASM_EDGE 0" >> ${DEFINITION_PATH}
COMMENT "Generate wasm_compiler_definitions.hpp"
VERBATIM
)
elseif ("${WASM_COMPILER}" STREQUAL "WasmEdge")
add_subdirectory(wasm_edge)
target_link_libraries(wasm_compiler INTERFACE runtime_wasm_edge)
set(DEFINITION_PATH "${CMAKE_CURRENT_BINARY_DIR}/wasm_compiler_definitions.hpp")
add_custom_command(
OUTPUT "${DEFINITION_PATH}"
COMMAND echo "/// This header was generated by cmake\\n" > ${DEFINITION_PATH}
COMMAND echo "#define KAGOME_WASM_COMPILER_WAVM 0" >> ${DEFINITION_PATH}
COMMAND echo "#define KAGOME_WASM_COMPILER_WASM_EDGE 1" >> ${DEFINITION_PATH}
COMMAND echo "#define WASMEDGE_ID \"${WASMEDGE_ID}\"" >> ${DEFINITION_PATH}
COMMENT "Generate wasm_compiler_definitions.hpp"
VERBATIM
)
else()
fatal_error("Unknown WASM_COMPILER: ${WASM_COMPILER}")
endif()
add_dependencies(wasm_compiler wasm_compiler_definitions)
kagome_install(wasm_compiler)
if (NOT TARGET generated)
add_custom_target(generated
COMMENT "Building generated files..."
)
endif()
add_dependencies(generated wasm_compiler_definitions)
add_subdirectory(runtime_api/impl)