package An official xmake package repository
https://xrepo.xmake.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
3.2 KiB
86 lines
3.2 KiB
diff --git a/CMakeLists.txt b/CMakeLists.txt |
|
index fbea2616..a1952ca8 100644 |
|
--- a/CMakeLists.txt |
|
+++ b/CMakeLists.txt |
|
@@ -108,16 +108,12 @@ endif () |
|
set (WAMR_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) |
|
|
|
# Set the strip command based on the system (GNU or Clang) |
|
-if (CMAKE_STRIP) |
|
- set (CMAKE_STRIP_FLAGS "--strip-all") |
|
-endif () |
|
+ |
|
|
|
include (${WAMR_ROOT_DIR}/build-scripts/runtime_lib.cmake) |
|
|
|
-set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wshadow -Wno-unused-parameter") |
|
# set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wconversion -Wsign-conversion") |
|
|
|
-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wno-unused") |
|
|
|
if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64") |
|
if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang")) |
|
@@ -134,42 +130,37 @@ endif () |
|
#set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-z,noexecstack,-z,relro,-z,now") |
|
|
|
include (${SHARED_DIR}/utils/uncommon/shared_uncommon.cmake) |
|
- |
|
+if (NOT BUILD_SHARED_LIBS) |
|
# STATIC LIBRARY |
|
add_library(iwasm_static STATIC ${WAMR_RUNTIME_LIB_SOURCE}) |
|
set_target_properties (iwasm_static PROPERTIES OUTPUT_NAME vmlib) |
|
target_include_directories(iwasm_static INTERFACE ${WAMR_ROOT_DIR}/core/iwasm/include) |
|
-target_link_libraries (iwasm_static INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} -lm -ldl -lpthread) |
|
+target_link_libraries (iwasm_static INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS}) |
|
if (WAMR_BUILD_WASM_CACHE EQUAL 1) |
|
target_link_libraries(iwasm_static INTERFACE boringssl_crypto) |
|
endif () |
|
|
|
install (TARGETS iwasm_static ARCHIVE DESTINATION lib) |
|
|
|
-# If it's a Release build, strip the static library |
|
-if (CMAKE_STRIP AND CMAKE_BUILD_TYPE STREQUAL "Release") |
|
- # Strip static library |
|
- message (STATUS "Stripping static library after build!") |
|
- add_custom_command (TARGET iwasm_static POST_BUILD |
|
- COMMAND ${CMAKE_STRIP} ${CMAKE_STRIP_FLAGS} $<TARGET_FILE:iwasm_static> |
|
- ) |
|
-endif () |
|
+else () |
|
|
|
# SHARED LIBRARY |
|
add_library (iwasm_shared SHARED ${WAMR_RUNTIME_LIB_SOURCE}) |
|
set_target_properties (iwasm_shared PROPERTIES OUTPUT_NAME iwasm) |
|
target_include_directories(iwasm_shared INTERFACE ${WAMR_ROOT_DIR}/core/iwasm/include) |
|
-target_link_libraries (iwasm_shared INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS} -lm -ldl -lpthread) |
|
+target_link_libraries (iwasm_shared INTERFACE ${LLVM_AVAILABLE_LIBS} ${UV_A_LIBS}) |
|
if (WAMR_BUILD_WASM_CACHE EQUAL 1) |
|
target_link_libraries(iwasm_shared INTERFACE boringssl_crypto) |
|
endif () |
|
- |
|
+if (WIN32) |
|
+target_link_libraries (iwasm_shared ntdll) |
|
+endif () |
|
if (MINGW) |
|
target_link_libraries (iwasm_shared -lWs2_32) |
|
endif () |
|
|
|
install (TARGETS iwasm_shared LIBRARY DESTINATION lib) |
|
- |
|
+endif () |
|
# HEADERS |
|
install (FILES |
|
${WAMR_ROOT_DIR}/core/iwasm/include/wasm_c_api.h |
|
@@ -177,11 +168,4 @@ install (FILES |
|
${WAMR_ROOT_DIR}/core/iwasm/include/lib_export.h |
|
DESTINATION include) |
|
|
|
-# If it's a Release build, strip the shared library |
|
-if (CMAKE_STRIP AND CMAKE_BUILD_TYPE STREQUAL "Release") |
|
- # Strip shared library |
|
- message (STATUS "Stripping shared library after build!") |
|
- add_custom_command (TARGET iwasm_shared POST_BUILD |
|
- COMMAND ${CMAKE_STRIP} ${CMAKE_STRIP_FLAGS} $<TARGET_FILE:iwasm_shared> |
|
- ) |
|
-endif () |
|
+
|
|
|