@@ -108,7 +108,7 @@ if ( APPLE )
108108 add_library (PapiV8 STATIC
109109 ${PUERTS_SRC} ${PUERTS_INC}
110110 )
111- set_xcode_property (PapiV8 IPHONEOS_DEPLOYMENT_TARGET "7.0" "all" )
111+ set_xcode_property (PapiV8 IPHONEOS_DEPLOYMENT_TARGET "7.0" "all" )
112112 else ()
113113 add_library (PapiV8 SHARED
114114 ${PUERTS_SRC} ${PUERTS_INC}
@@ -231,7 +231,7 @@ if ( WITH_WEBSOCKET EQUAL 2 )
231231 list (APPEND PUERTS_COMPILE_DEFINITIONS WITH_WEBSOCKET_SSL OPENSSL_EXTRA OPENSSL_ALL WOLFSSL_OPENSSH PUERTS_USE_WOLFSSL)
232232
233233 if ( WIN32 AND NOT CYGWIN AND NOT ( CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" ) AND NOT ANDROID AND NOT MSYS )
234- set_property (TARGET wolfssl PROPERTY
234+ set_property (TARGET wolfssl PROPERTY
235235 MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG :Debug >:Debug >" )
236236 endif ()
237237endif ()
@@ -349,6 +349,13 @@ elseif (UNIX)
349349 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++" )
350350 set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ -lc++abi" )
351351 endif ()
352+ if ("${BACKEND_DEFINITIONS} " MATCHES "V8_136_OR_NEWER" )
353+ target_link_libraries (PapiV8
354+ "-Wl,--no-as-needed"
355+ atomic
356+ "-Wl,--as-needed"
357+ )
358+ endif ()
352359endif ()
353360
354361
@@ -362,7 +369,7 @@ list(APPEND PUERTS_COMPILE_DEFINITIONS ${BACKEND_DEFINITIONS})
362369target_compile_definitions (PapiV8 PUBLIC ${PUERTS_COMPILE_DEFINITIONS} )
363370
364371if ( WIN32 AND NOT CYGWIN AND NOT ( CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" ) AND NOT ANDROID AND NOT MSYS )
365- set_property (TARGET PapiV8 PROPERTY
372+ set_property (TARGET PapiV8 PROPERTY
366373 MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG :Debug >:Debug >" )
367374endif ()
368375
0 commit comments