@@ -17,13 +17,15 @@ endif()
1717set (COMMON_CMAKE_ARGUMENTS "-std=c++11 -Werror -Wno-unused-result -mstackrealign -fexceptions -fno-builtin-stpcpy -fno-rtti" )
1818
1919# Command info: https://cmake.org/cmake/help/v3.4/command/include_directories.html
20- include_directories ( src/main/cpp
21- src/main/cpp/include
22- src/main/cpp/v8_inspector
20+ include_directories (
21+ src/main/cpp
22+ src/main/cpp/include
23+ src/main/cpp/v8_inspector
24+
25+ # hack to find some libraries from the ndk
26+ ${ANDROID_NDK_ROOT} /sysroot/usr/include /${ARCH_INCLUDE_DIR} /
27+ )
2328
24- # hack to find some libraries from the ndk
25- ${ANDROID_NDK_ROOT} /sysroot/usr/include /${ARCH_INCLUDE_DIR} /
26- )
2729if ( OPTIMIZED_BUILD OR OPTIMIZED_WITH_INSPECTOR_BUILD )
2830 set (CMAKE_CXX_FLAGS "${COMMON_CMAKE_ARGUMENTS} -O3 -fvisibility=hidden -ffunction-sections -fno-data-sections" )
2931else ()
@@ -102,58 +104,62 @@ endif()
102104# Command info: https://cmake.org/cmake/help/v3.4/command/add_library.html
103105# Creates(shared static) and names a library given relative sources
104106# Gradle automatically packages shared libraries with your APK.
105- add_library ( # Sets the name of the library. When it's built you can find it with lib prefix libNativeScript.so
106- NativeScript
107-
108- # Sets the library as a shared library.
109- SHARED
110-
111- # Runtime source
112- src/main/cpp/ArgConverter.cpp
113- src/main/cpp/ArrayBufferHelper.cpp
114- src/main/cpp/ArrayElementAccessor.cpp
115- src/main/cpp/ArrayHelper.cpp
116- src/main/cpp/AssetExtractor.cpp
117- src/main/cpp/CallbackHandlers.cpp
118- src/main/cpp/Constants.cpp
119- src/main/cpp/DirectBuffer.cpp
120- src/main/cpp/FieldAccessor.cpp
121- src/main/cpp/File.cpp
122- src/main/cpp/JEnv.cpp
123- src/main/cpp/JType.cpp
124- src/main/cpp/JniSignatureParser.cpp
125- src/main/cpp/JsArgConverter.cpp
126- src/main/cpp/JsArgToArrayConverter.cpp
127- src/main/cpp/Logger.cpp
128- src/main/cpp/ManualInstrumentation.cpp
129- src/main/cpp/MetadataMethodInfo.cpp
130- src/main/cpp/MetadataNode.cpp
131- src/main/cpp/MetadataReader.cpp
132- src/main/cpp/MetadataTreeNode.cpp
133- src/main/cpp/MethodCache.cpp
134- src/main/cpp/ModuleInternal.cpp
135- src/main/cpp/NativeScriptException.cpp
136- src/main/cpp/NumericCasts.cpp
137- src/main/cpp/ObjectManager.cpp
138- src/main/cpp/Profiler.cpp
139- src/main/cpp/ReadWriteLock.cpp
140- src/main/cpp/Runtime.cpp
141- src/main/cpp/SimpleAllocator.cpp
142- src/main/cpp/SimpleProfiler.cpp
143- src/main/cpp/Util.cpp
144- src/main/cpp/V8GlobalHelpers.cpp
145- src/main/cpp/V8StringConstants.cpp
146- src/main/cpp/WeakRef.cpp
147- src/main/cpp/com_tns_AssetExtractor.cpp
148- src/main/cpp/com_tns_Runtime.cpp
149- src/main/cpp/console/Console.cpp
150-
151- # V8 inspector source files will be included only in Release mode
152- ${INSPECTOR_SOURCES}
153- )
154-
155- set_target_properties (NativeScript PROPERTIES LINK_FLAGS -Wl,--allow-multiple-definition)
107+ add_library (
108+ # Sets the name of the library. When it's built you can find it with lib prefix libNativeScript.so
109+ NativeScript
110+
111+ # Sets the library as a shared library.
112+ SHARED
113+
114+ # Runtime source
115+ src/main/cpp/ArgConverter.cpp
116+ src/main/cpp/ArrayBufferHelper.cpp
117+ src/main/cpp/ArrayElementAccessor.cpp
118+ src/main/cpp/ArrayHelper.cpp
119+ src/main/cpp/AssetExtractor.cpp
120+ src/main/cpp/CallbackHandlers.cpp
121+ src/main/cpp/Constants.cpp
122+ src/main/cpp/DirectBuffer.cpp
123+ src/main/cpp/FieldAccessor.cpp
124+ src/main/cpp/File.cpp
125+ src/main/cpp/JEnv.cpp
126+ src/main/cpp/JType.cpp
127+ src/main/cpp/JniSignatureParser.cpp
128+ src/main/cpp/JsArgConverter.cpp
129+ src/main/cpp/JsArgToArrayConverter.cpp
130+ src/main/cpp/Logger.cpp
131+ src/main/cpp/ManualInstrumentation.cpp
132+ src/main/cpp/MetadataMethodInfo.cpp
133+ src/main/cpp/MetadataNode.cpp
134+ src/main/cpp/MetadataReader.cpp
135+ src/main/cpp/MetadataTreeNode.cpp
136+ src/main/cpp/MethodCache.cpp
137+ src/main/cpp/ModuleInternal.cpp
138+ src/main/cpp/NativeScriptException.cpp
139+ src/main/cpp/NumericCasts.cpp
140+ src/main/cpp/ObjectManager.cpp
141+ src/main/cpp/Profiler.cpp
142+ src/main/cpp/ReadWriteLock.cpp
143+ src/main/cpp/Runtime.cpp
144+ src/main/cpp/SimpleAllocator.cpp
145+ src/main/cpp/SimpleProfiler.cpp
146+ src/main/cpp/Util.cpp
147+ src/main/cpp/V8GlobalHelpers.cpp
148+ src/main/cpp/V8StringConstants.cpp
149+ src/main/cpp/WeakRef.cpp
150+ src/main/cpp/com_tns_AssetExtractor.cpp
151+ src/main/cpp/com_tns_Runtime.cpp
152+ src/main/cpp/console/Console.cpp
153+
154+ # V8 inspector source files will be included only in Release mode
155+ ${INSPECTOR_SOURCES}
156+ )
156157
158+ if ( OPTIMIZED_BUILD OR OPTIMIZED_WITH_INSPECTOR_BUILD )
159+ set_target_properties (NativeScript PROPERTIES LINK_FLAGS -Wl,--allow-multiple-definition -Wl,--exclude -libs=ALL -Wl,--gc-sections)
160+ else ()
161+ set_target_properties (NativeScript PROPERTIES LINK_FLAGS -Wl,--allow-multiple-definition)
162+ endif ()
157163
158164MESSAGE ( STATUS "# General cmake Info" )
159165MESSAGE ( STATUS "# PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR} )
0 commit comments