@@ -6,45 +6,52 @@ set(CMAKE_CXX_STANDARD 11)
6
6
add_subdirectory (${CMAKE_CURRENT_SOURCE_DIR} /../crates/c-api ${CMAKE_CURRENT_BINARY_DIR} /wasmtime )
7
7
8
8
function (CREATE_TARGET TARGET TARGET_PATH )
9
- add_executable (wasmtime-${TARGET} ${TARGET_PATH} )
9
+ add_executable (wasmtime-${TARGET} ${TARGET_PATH} )
10
10
11
- if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
12
- target_compile_options (wasmtime-${TARGET} PRIVATE -Wall -Wextra -Wno-deprecated-declarations )
13
- elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" )
14
- target_compile_options (wasmtime-${TARGET} PRIVATE /W3 )
15
- endif ()
11
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
12
+ target_compile_options (wasmtime-${TARGET} PRIVATE -Wall -Wextra -Wno-deprecated-declarations )
13
+ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" )
14
+ target_compile_options (wasmtime-${TARGET} PRIVATE /W3 )
15
+ endif ()
16
16
17
- target_compile_definitions (wasmtime-${TARGET} PRIVATE WASMTIME_TEST_ONLY )
17
+ target_compile_definitions (wasmtime-${TARGET} PRIVATE WASMTIME_TEST_ONLY )
18
18
19
- set_target_properties (wasmtime-${TARGET} PROPERTIES
20
- OUTPUT_NAME wasmtime-${TARGET}
21
- RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /$<0:>
22
- CXX_VISIBILITY_PRESET hidden
23
- POSITION_INDEPENDENT_CODE ON )
19
+ set_target_properties (wasmtime-${TARGET} PROPERTIES
20
+ OUTPUT_NAME wasmtime-${TARGET}
21
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /$<0:>
22
+ CXX_VISIBILITY_PRESET hidden
23
+ POSITION_INDEPENDENT_CODE ON )
24
24
25
- target_include_directories (wasmtime-${TARGET} PUBLIC wasmtime )
26
- target_link_libraries (wasmtime-${TARGET} PUBLIC wasmtime )
27
- if (APPLE )
28
- target_link_libraries (wasmtime-${TARGET} PRIVATE "-framework CoreFoundation" )
29
- endif ()
30
- add_test (NAME ${TARGET} -c COMMAND $< TARGET_FILE: wasmtime-${TARGET} > WORKING_DIRECTORY ../.. )
25
+ target_include_directories (wasmtime-${TARGET} PUBLIC wasmtime )
26
+ target_link_libraries (wasmtime-${TARGET} PUBLIC wasmtime )
27
+ if (APPLE )
28
+ target_link_libraries (wasmtime-${TARGET} PRIVATE "-framework CoreFoundation" )
29
+ endif ()
30
+ add_test (NAME ${TARGET} -c COMMAND wasmtime-${TARGET} WORKING_DIRECTORY ../.. )
31
31
endfunction ()
32
32
33
33
function (CREATE_RUST_TEST EXAMPLE )
34
- if (ARGC GREATER 1 )
35
- add_test (NAME ${EXAMPLE} -rust COMMAND cargo run --example ${EXAMPLE} --features ${ARGV1} WORKING_DIRECTORY ../.. )
36
- else ()
37
- add_test (NAME ${EXAMPLE} -rust COMMAND cargo run --example ${EXAMPLE} WORKING_DIRECTORY ../.. )
38
- endif ()
34
+ if (ARGC GREATER 1 )
35
+ add_test (NAME ${EXAMPLE} -rust COMMAND cargo run --example ${EXAMPLE} --features ${ARGV1} WORKING_DIRECTORY ../.. )
36
+ else ()
37
+ add_test (NAME ${EXAMPLE} -rust COMMAND cargo run --example ${EXAMPLE} WORKING_DIRECTORY ../.. )
38
+ endif ()
39
39
endfunction ()
40
40
function (CREATE_RUST_WASM EXAMPLE TARGET )
41
- execute_process ( COMMAND cargo build -p example-${EXAMPLE}-wasm --target ${TARGET} )
41
+ add_custom_target ( ${EXAMPLE} -wasm-${TARGET} ALL COMMAND cargo build -p example-${EXAMPLE}-wasm --target ${TARGET} )
42
42
endfunction ()
43
43
44
44
# Enable testing
45
45
enable_testing ()
46
46
47
- # Add all examples
47
+ # Wasm files required by tests
48
+ create_rust_wasm (fib-debug wasm32-unknown-unknown )
49
+ create_rust_wasm (tokio wasm32-wasip1 )
50
+ create_rust_wasm (wasi wasm32-wasip1 )
51
+ create_rust_wasm (wasi wasm32-wasip2 )
52
+ create_rust_wasm (component wasm32-unknown-unknown )
53
+
54
+ # C/C++ examples/tests
48
55
create_target (anyref anyref.c )
49
56
create_target (async async.cpp )
50
57
create_target (externref externref.c )
@@ -61,13 +68,8 @@ create_target(serialize serialize.c)
61
68
create_target (threads threads.c )
62
69
create_target (wasip1 wasip1/main.c )
63
70
64
- # Add rust tests
71
+ # Rust examples/ tests
65
72
create_rust_test (anyref )
66
- create_rust_wasm (fib-debug wasm32-unknown-unknown )
67
- create_rust_wasm (tokio wasm32-wasip1 )
68
- create_rust_wasm (wasi wasm32-wasip1 )
69
- create_rust_wasm (wasi wasm32-wasip2 )
70
- create_rust_wasm (component wasm32-unknown-unknown )
71
73
create_rust_test (epochs )
72
74
create_rust_test (externref )
73
75
create_rust_test (fib-debug )
0 commit comments