diff options
-rw-r--r-- | CMakeLists.txt | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 6100e174..68c6e793 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,6 +39,7 @@ endif () option(BUILD_TESTS "Build GTest-based tests" ON) option(USE_SYSTEM_GTEST "Use system GTest, instead of building" OFF) option(BUILD_TOOLS "Build wabt commandline tools" ON) +option(BUILD_LIBWASM "Build libwasm" ON) option(USE_ASAN "Use address sanitizer" OFF) option(USE_MSAN "Use memory sanitizer" OFF) option(USE_LSAN "Use leak sanitizer" OFF) @@ -328,16 +329,18 @@ set(WABT_LIBRARY_SRC add_library(wabt STATIC ${WABT_LIBRARY_SRC}) # libwasm, which implenents the wasm C API -add_library(wasm SHARED ${WABT_LIBRARY_SRC} src/interp/interp-wasm-c-api.cc) -target_link_libraries(wasm wabt) -target_include_directories(wasm PUBLIC third_party/wasm-c-api/include) -if (COMPILER_IS_MSVC) - target_compile_definitions(wasm PRIVATE "WASM_API_EXTERN=__declspec(dllexport)") -else () - target_compile_options(wasm PRIVATE -Wno-old-style-cast) - target_compile_definitions(wasm PRIVATE "WASM_API_EXTERN=__attribute__((visibility(\"default\")))") +if (BUILD_LIBWASM) + add_library(wasm SHARED ${WABT_LIBRARY_SRC} src/interp/interp-wasm-c-api.cc) + target_link_libraries(wasm wabt) + target_include_directories(wasm PUBLIC third_party/wasm-c-api/include) + if (COMPILER_IS_MSVC) + target_compile_definitions(wasm PRIVATE "WASM_API_EXTERN=__declspec(dllexport)") + else () + target_compile_options(wasm PRIVATE -Wno-old-style-cast) + target_compile_definitions(wasm PRIVATE "WASM_API_EXTERN=__attribute__((visibility(\"default\")))") + endif () + set_target_properties(wasm PROPERTIES CXX_VISIBILITY_PRESET hidden) endif () -set_target_properties(wasm PROPERTIES CXX_VISIBILITY_PRESET hidden) if (NOT EMSCRIPTEN) if (CODE_COVERAGE) |