@@ -31,11 +31,11 @@ if(NAPI_BUILD_ABI)
3131 file (RENAME "${CMAKE_CURRENT_BINARY_DIR} /package-${name} .json" "${CMAKE_CURRENT_BINARY_DIR} /package.json" )
3232 npm(install --no -package-lock --silent WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} )
3333
34- file (GLOB_RECURSE ANDROID_ARCHIVE "${CMAKE_CURRENT_BINARY_DIR} /node_modules/${name} -android /${aar_path} /*.aar" )
34+ file (GLOB_RECURSE ANDROID_ARCHIVE "${CMAKE_CURRENT_BINARY_DIR} /node_modules/${V8_PACKAGE_NAME} /${aar_path} /*.aar" )
3535 file (ARCHIVE_EXTRACT INPUT ${ANDROID_ARCHIVE} DESTINATION ${output_directory} PATTERNS jni)
36- message (STATUS "Extracting ${name} -android archive - done" )
36+ message (STATUS "Extracting ${V8_PACKAGE_NAME} archive - done" )
3737
38- file (COPY "${CMAKE_CURRENT_BINARY_DIR} /node_modules/${name} -android /dist/include" DESTINATION ${output_directory} )
38+ file (COPY "${CMAKE_CURRENT_BINARY_DIR} /node_modules/${V8_PACKAGE_NAME} /dist/include" DESTINATION ${output_directory} )
3939 endfunction ()
4040 endif ()
4141
@@ -54,7 +54,8 @@ if(NAPI_BUILD_ABI)
5454 "Source/js_native_api_javascriptcore.h" )
5555
5656 if (ANDROID)
57- set (JSC_ANDROID_DIR "${CMAKE_CURRENT_BINARY_DIR} /jsc-android" )
57+ set (V8_PACKAGE_NAME "jsc-android" )
58+ set (JSC_ANDROID_DIR "${CMAKE_CURRENT_BINARY_DIR} /${V8_PACKAGE_NAME} " )
5859 napi_install_android_package(jsc "dist/org/webkit/android-jsc" ${JSC_ANDROID_DIR} )
5960
6061 # Add `JavaScriptCore` prefix to the include path
@@ -87,21 +88,24 @@ if(NAPI_BUILD_ABI)
8788 "Source/js_native_api_v8_internals.h" )
8889
8990 if (ANDROID)
90- set (V8_ANDROID_DIR "${CMAKE_CURRENT_BINARY_DIR} /v8-android" )
91+ set (V8_PACKAGE_NAME "v8-android-jit-nointl-nosnapshot" )
92+ set (V8_ANDROID_DIR "${CMAKE_CURRENT_BINARY_DIR} /${V8_PACKAGE_NAME} " )
9193 napi_install_android_package(v8 "dist/org/chromium" ${V8_ANDROID_DIR} )
9294
9395 set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES}
9496 PUBLIC "${V8_ANDROID_DIR} /include" )
9597
9698 set (LINK_LIBRARIES ${LINK_LIBRARIES}
9799 PUBLIC "${V8_ANDROID_DIR} /jni/${ANDROID_ABI} /libv8android.so" )
100+
101+ set (NAPI_DEFINITIONS PUBLIC V8_COMPRESS_POINTERS)
98102 elseif (WIN32 )
99103 set_cpu_platform_arch()
100- set (V8_VERSION "8.4.371.15 " )
104+ set (V8_VERSION "11.9.169.4 " )
101105 download_nuget()
102- set (V8_PACKAGE_PATH "${NUGET_PATH} /packages/v8-v142 -${CPU_ARCH} .${V8_VERSION} " )
103- set (V8_PACKAGE_PATH "${NUGET_PATH} /packages/v8-v142 -${CPU_ARCH} .${V8_VERSION} " )
104- set (V8_REDIST_PACKAGE_PATH "${NUGET_PATH} /packages/v8.redist-v142 -${CPU_ARCH} .${V8_VERSION} " )
106+ set (V8_PACKAGE_PATH "${NUGET_PATH} /packages/v8-v143 -${CPU_ARCH} .${V8_VERSION} " )
107+ set (V8_PACKAGE_PATH "${NUGET_PATH} /packages/v8-v143 -${CPU_ARCH} .${V8_VERSION} " )
108+ set (V8_REDIST_PACKAGE_PATH "${NUGET_PATH} /packages/v8.redist-v143 -${CPU_ARCH} .${V8_VERSION} " )
105109
106110 add_library (v8_libbase SHARED IMPORTED )
107111 set_target_properties (v8_libbase PROPERTIES IMPORTED_IMPLIB "${V8_PACKAGE_PATH} /lib/Release/v8_libbase.dll.lib" )
@@ -111,15 +115,16 @@ if(NAPI_BUILD_ABI)
111115 set_target_properties (v8 PROPERTIES IMPORTED_IMPLIB "${V8_PACKAGE_PATH} /lib/Release/v8.dll.lib" )
112116 target_link_libraries (v8 INTERFACE v8_libbase INTERFACE v8_libplatform)
113117 target_include_directories (v8 INTERFACE "${V8_PACKAGE_PATH} /include" )
114-
118+
115119 set (V8_DIST
116120 "${V8_REDIST_PACKAGE_PATH} /lib/Release/icudtl.dat"
117- "${V8_REDIST_PACKAGE_PATH} /lib/Release/icui18n.dll"
121+ "${V8_REDIST_PACKAGE_PATH} /lib/Release/third_party_icu_icui18n.dll"
122+ "${V8_REDIST_PACKAGE_PATH} /lib/Release/third_party_abseil-cpp_absl.dll"
118123 "${V8_REDIST_PACKAGE_PATH} /lib/Release/icuuc.dll"
119124 "${V8_REDIST_PACKAGE_PATH} /lib/Release/v8.dll"
120125 "${V8_REDIST_PACKAGE_PATH} /lib/Release/v8_libbase.dll"
121126 "${V8_REDIST_PACKAGE_PATH} /lib/Release/v8_libplatform.dll"
122- "${V8_REDIST_PACKAGE_PATH} /lib/Release/zlib .dll" )
127+ "${V8_REDIST_PACKAGE_PATH} /lib/Release/third_party_zlib .dll" )
123128
124129 # only 1 imported location per library -> Adding 1 library per file
125130 foreach (V8FILE ${V8_DIST} )
@@ -132,18 +137,18 @@ if(NAPI_BUILD_ABI)
132137 set (LINK_LIBRARIES ${LINK_LIBRARIES}
133138 PUBLIC v8
134139 PRIVATE v8::icudtl
135- PRIVATE v8::icui18n
140+ PRIVATE v8::third_party_icu_icui18n
136141 PRIVATE v8::icuuc
137142 PRIVATE v8::v8
138143 PRIVATE v8::v8_libbase
139144 PRIVATE v8::v8_libplatform
140- PRIVATE v8::zlib )
141-
145+ PRIVATE v8::third_party_zlib )
146+
142147 if (CPU_ARCH STREQUAL "x64" )
143148 # Enable V8 Pointer Compression
144149 # https://v8.dev/blog/pointer-compression
145150 # https://stackoverflow.com/q/62921373
146- set (NAPI_DEFINITIONS PUBLIC V8_COMPRESS_POINTERS)
151+ set (NAPI_DEFINITIONS PUBLIC V8_COMPRESS_POINTERS V8_ENABLE_SANDBOX )
147152 endif ()
148153 else ()
149154 message (FATAL_ERROR "Unsupported JavaScript engine: ${NAPI_JAVASCRIPT_ENGINE} " )
@@ -160,6 +165,8 @@ add_library(napi ${SOURCES})
160165target_compile_definitions (napi
161166 PUBLIC NODE_ADDON_API_DISABLE_DEPRECATED
162167 PUBLIC NODE_ADDON_API_DISABLE_NODE_SPECIFIC
168+ PUBLIC NAPI_VERSION=5
169+ PUBLIC NAPI_HAS_THREADS=0
163170 ${NAPI_DEFINITIONS} )
164171
165172target_include_directories (napi ${INCLUDE_DIRECTORIES} )
0 commit comments