@@ -22,7 +22,17 @@ else ()
2222 set (ARCH_INCLUDE_DIR "arm-linux-androideabi" )
2323endif ()
2424
25- set (COMMON_CMAKE_ARGUMENTS "-std=c++11 -Werror -Wno-unused-result -mstackrealign -fexceptions -fno-builtin-stpcpy -fno-rtti" )
25+ set (COMMON_CMAKE_ARGUMENTS "-std=c++11 -stdlib=libc++ -Werror -Wno-unused-result -mstackrealign -fexceptions -fno-builtin-stpcpy -fno-rtti" )
26+
27+ # AOSP has switched to using LLD by default and the NDK will use it by default in the next release.
28+ # BFD and Gold will be removed once LLD has been through a release cycle with no major unresolved issues (estimated r21)
29+ # Note: lld does not currently work on Windows: https://github.com/android-ndk/ndk/issues/888
30+ if (NOT CMAKE_HOST_SYSTEM_NAME MATCHES "Windows" )
31+ MESSAGE (STATUS "## Using LLD linker" )
32+ set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=lld" )
33+ else ()
34+ MESSAGE (STATUS "## Using default linker" )
35+ endif ()
2636
2737# Command info: https://cmake.org/cmake/help/v3.4/command/include_directories.html
2838include_directories (
@@ -32,6 +42,8 @@ include_directories(
3242
3343 # hack to find some libraries from the ndk
3444 ${ANDROID_NDK_ROOT} /sysroot/usr/include/${ARCH_INCLUDE_DIR}/
45+
46+ src/main/libs/${ANDROID_ABI}/include
3547)
3648
3749if (OPTIMIZED_BUILD OR OPTIMIZED_WITH_INSPECTOR_BUILD)
@@ -76,6 +88,7 @@ if (NOT OPTIMIZED_BUILD OR OPTIMIZED_WITH_INSPECTOR_BUILD)
7688 src/main/cpp/v8_inspector/src/inspector/v8-overlay-agent-impl.cpp
7789 src/main/cpp/v8_inspector/src/inspector/v8-page-agent-impl.cpp
7890
91+ src/main/cpp/v8_inspector/src/inspector/custom-preview.cc
7992 src/main/cpp/v8_inspector/src/inspector/injected-script.cc
8093 src/main/cpp/v8_inspector/src/inspector/inspected-context.cc
8194 src/main/cpp/v8_inspector/src/inspector/remote-object-id.cc
@@ -88,18 +101,16 @@ if (NOT OPTIMIZED_BUILD OR OPTIMIZED_WITH_INSPECTOR_BUILD)
88101 src/main/cpp/v8_inspector/src/inspector/v8-debugger.cc
89102 src/main/cpp/v8_inspector/src/inspector/v8-debugger-agent-impl.cc
90103 src/main/cpp/v8_inspector/src/inspector/v8-debugger-script.cc
91- src/main/cpp/v8_inspector/src/inspector/v8-function-call.cc
92104 src/main/cpp/v8_inspector/src/inspector/v8-heap-profiler-agent-impl.cc
93- src/main/cpp/v8_inspector/src/inspector/v8-injected-script-host.cc
94105 src/main/cpp/v8_inspector/src/inspector/v8-inspector-impl.cc
95106 src/main/cpp/v8_inspector/src/inspector/v8-inspector-session-impl.cc
96- src/main/cpp/v8_inspector/src/inspector/v8-internal -value-type.cc
97107 src/main/cpp/v8_inspector/src/inspector/v8-profiler-agent-impl.cc
98108 src/main/cpp/v8_inspector/src/inspector/v8-regex.cc
99109 src/main/cpp/v8_inspector/src/inspector/v8-runtime-agent-impl.cc
100110 src/main/cpp/v8_inspector/src/inspector/v8-schema-agent-impl.cc
101111 src/main/cpp/v8_inspector/src/inspector/v8-stack-trace-impl.cc
102112 src/main/cpp/v8_inspector/src/inspector/v8-value-utils.cc
113+ src/main/cpp/v8_inspector/src/inspector/value-mirror.cc
103114 src/main/cpp/v8_inspector/src/inspector/wasm-translation.cc
104115 )
105116else ()
@@ -162,10 +173,19 @@ add_library(
162173 ${INSPECTOR_SOURCES}
163174)
164175
176+ set (NATIVES_BLOB_INCLUDE_DIRECTORIES ${PROJECT_SOURCE_DIR} /src/main/libs/${ANDROID_ABI} /include)
177+
165178if (OPTIMIZED_BUILD OR OPTIMIZED_WITH_INSPECTOR_BUILD)
166- set_target_properties (NativeScript PROPERTIES LINK_FLAGS -Wl,--allow-multiple-definition -Wl,--exclude-libs=ALL -Wl,--gc-sections )
179+ set_target_properties (
180+ NativeScript
181+ PROPERTIES LINK_FLAGS -Wl,--allow-multiple-definition -Wl,--exclude-libs=ALL -Wl,--gc-sections
182+ INTERFACE_INCLUDE_DIRECTORIES NATIVES_BLOB_INCLUDE_DIRECTORIES
183+ )
167184else ()
168- set_target_properties (NativeScript PROPERTIES LINK_FLAGS -Wl,--allow-multiple-definition )
185+ set_target_properties (
186+ NativeScript PROPERTIES LINK_FLAGS -Wl,--allow-multiple-definition
187+ INTERFACE_INCLUDE_DIRECTORIES NATIVES_BLOB_INCLUDE_DIRECTORIES
188+ )
169189endif ()
170190
171191MESSAGE (STATUS "# General cmake Info" )
@@ -180,7 +200,7 @@ MESSAGE(STATUS "# CMAKE_CXX_FLAGS: " ${CMAKE_CXX_FLAGS})
180200# linking v8 and inspector libraries to runtime(NativeScript library)
181201target_link_libraries (NativeScript ${PROJECT_SOURCE_DIR} /src/main/libs/${ANDROID_ABI}/libzip.a )
182202target_link_libraries (NativeScript ${PROJECT_SOURCE_DIR} /src/main/libs/${ANDROID_ABI}/libv8_base.a )
183- target_link_libraries (NativeScript ${PROJECT_SOURCE_DIR} /src/main/libs/${ANDROID_ABI}/libv8_snapshot .a )
203+ target_link_libraries (NativeScript ${PROJECT_SOURCE_DIR} /src/main/libs/${ANDROID_ABI}/libv8_external_snapshot .a )
184204target_link_libraries (NativeScript ${PROJECT_SOURCE_DIR} /src/main/libs/${ANDROID_ABI}/libv8_init.a )
185205target_link_libraries (NativeScript ${PROJECT_SOURCE_DIR} /src/main/libs/${ANDROID_ABI}/libv8_initializers.a )
186206target_link_libraries (NativeScript ${PROJECT_SOURCE_DIR} /src/main/libs/${ANDROID_ABI}/libv8_libplatform.a )
@@ -194,10 +214,8 @@ target_link_libraries(NativeScript ${PROJECT_SOURCE_DIR}/src/main/libs/${ANDROID
194214# you want to add. CMake verifies that the library exists before
195215# completing its build.
196216find_library (system-log log )
197- find_library (system-android android )
198- find_library (system-dl dl )
199217find_library (system-z z )
200218
201219# Command info: https://cmake.org/cmake/help/v3.4/command/target_link_libraries.html
202220# Specifies libraries CMake should link to your target library.
203- target_link_libraries (NativeScript ${system-log} ${system-android} ${system-dl} ${system- z} )
221+ target_link_libraries (NativeScript ${system-log} ${system-z} )
0 commit comments