FindWasmtime.cmake (913B)
1 find_path2(WASMTIME_INCLUDE_DIR wasmtime.h) 2 find_library2(WASMTIME_LIBRARY wasmtime) 3 4 if(WASMTIME_INCLUDE_DIR AND EXISTS "${WASMTIME_INCLUDE_DIR}/wasmtime.h") 5 file(STRINGS ${WASMTIME_INCLUDE_DIR}/wasmtime.h WASMTIME_VERSION REGEX "#define WASMTIME_VERSION") 6 string(REGEX MATCH "[0-9]+\.[0-9]\.[0-9]" WASMTIME_VERSION ${WASMTIME_VERSION}) 7 endif() 8 9 find_package_handle_standard_args(Wasmtime 10 REQUIRED_VARS WASMTIME_INCLUDE_DIR WASMTIME_LIBRARY 11 VERSION_VAR WASMTIME_VERSION) 12 13 add_library(wasmtime INTERFACE) 14 target_include_directories(wasmtime SYSTEM BEFORE INTERFACE ${WASMTIME_INCLUDE_DIR}) 15 target_link_libraries(wasmtime INTERFACE ${WASMTIME_LIBRARY}) 16 17 if(MSVC) 18 target_compile_options(wasmtime INTERFACE -DWASM_API_EXTERN= -DWASI_API_EXTERN=) 19 target_link_libraries(wasmtime INTERFACE ws2_32 advapi32 userenv ntdll shell32 ole32 bcrypt) 20 endif() 21 22 mark_as_advanced(WASMTIME_INCLUDE_DIR WASMTIME_LIBRARY)