@@ -51,6 +51,7 @@ elseif(TARGET_PLATFORM STREQUAL "macos")
51
51
set (SDK_NAME "macosx" )
52
52
set (CMAKE_OSX_ARCHITECTURES "arm64;x86_64" )
53
53
set (TARGET_PLATFORM_SPEC "macos-arm64_x86_64" )
54
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTARGET_PLATFORM_MACOS" )
54
55
55
56
else ()
56
57
message (FATAL_ERROR "Unknown target platform: ${TARGET_PLATFORM} " )
@@ -71,10 +72,10 @@ elseif(TARGET_ENGINE STREQUAL "v8")
71
72
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -stdlib=libc++ -std=c++20 -DV8_COMPRESS_POINTERS -DV8_ENABLE_SANDBOX -DTARGET_ENGINE_V8" )
72
73
elseif (TARGET_ENGINE STREQUAL "quickjs" )
73
74
set (TARGET_ENGINE_QUICKJS TRUE )
74
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTARGET_ENGINE_QUICKJS" )
75
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -std=c++20 - DTARGET_ENGINE_QUICKJS" )
75
76
elseif (TARGET_ENGINE STREQUAL "jsc" )
76
77
set (TARGET_ENGINE_JSC TRUE )
77
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTARGET_ENGINE_JSC" )
78
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -std=c++20 - DTARGET_ENGINE_JSC" )
78
79
else ()
79
80
message (FATAL_ERROR "Unknown target engine: ${TARGET_ENGINE} " )
80
81
return ()
@@ -92,32 +93,6 @@ message(STATUS "TARGET_PLATFORM = ${TARGET_PLATFORM}")
92
93
message (STATUS "TARGET_ENGINE = ${TARGET_ENGINE} " )
93
94
message (STATUS "ENABLE_JS_RUNTIME = ${ENABLE_JS_RUNTIME} " )
94
95
95
- # Find SDK
96
-
97
- find_program (XCODEBUILD_EXECUTABLE xcodebuild)
98
-
99
- if (METADATA_SIZE EQUAL 0)
100
- unset (METADATA_SIZE)
101
- else ()
102
- message (STATUS "EMBED_METADATA_SIZE = ${METADATA_SIZE} "
103
- " (metadata will be embedded in the library)" )
104
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DEMBED_METADATA_SIZE=${METADATA_SIZE} " )
105
- endif ()
106
-
107
- message (STATUS "TARGET_PLATFORM = ${TARGET_PLATFORM} " )
108
-
109
- execute_process (
110
- COMMAND ${XCODEBUILD_EXECUTABLE} -version -sdk ${SDK_NAME} Path
111
- OUTPUT_VARIABLE CMAKE_OSX_SYSROOT_INT
112
- ERROR_QUIET
113
- OUTPUT_STRIP_TRAILING_WHITESPACE
114
- )
115
-
116
- set (CMAKE_OSX_SYSROOT_INT "${CMAKE_OSX_SYSROOT_INT} " CACHE INTERNAL "" )
117
- set (CMAKE_OSX_SYSROOT "${CMAKE_OSX_SYSROOT_INT} " CACHE INTERNAL "" )
118
-
119
- message (STATUS "SDK = ${CMAKE_OSX_SYSROOT} " )
120
-
121
96
# Set up sources
122
97
123
98
include_directories (
@@ -126,10 +101,9 @@ include_directories(
126
101
ada
127
102
napi/common
128
103
libffi/${LIBFFI_BUILD} /include
129
- /Library/Developer/CommandLineTools/usr/include
130
104
)
131
105
132
- set (LIB_SOURCE_FILES
106
+ set (SOURCE_FILES
133
107
ffi/AutoreleasePool.mm
134
108
ffi/Protocol.mm
135
109
ffi/ObjCBridge.mm
@@ -153,8 +127,8 @@ set(LIB_SOURCE_FILES
153
127
)
154
128
155
129
if (ENABLE_JS_RUNTIME)
156
- set (LIB_SOURCE_FILES
157
- ${LIB_SOURCE_FILES }
130
+ set (SOURCE_FILES
131
+ ${SOURCE_FILES }
158
132
runtime/Console.cpp
159
133
runtime/Runtime.cpp
160
134
runtime/Require.cpp
@@ -173,8 +147,8 @@ if(ENABLE_JS_RUNTIME)
173
147
napi/v8/v8_inspector
174
148
)
175
149
176
- set (LIB_SOURCE_FILES
177
- ${LIB_SOURCE_FILES }
150
+ set (SOURCE_FILES
151
+ ${SOURCE_FILES }
178
152
napi/v8/v8-api.cpp
179
153
napi/v8/jsr.cpp
180
154
napi/v8/SimpleAllocator.cpp
@@ -187,15 +161,24 @@ if(ENABLE_JS_RUNTIME)
187
161
napi/hermes/jsi
188
162
)
189
163
190
- set (LIB_SOURCE_FILES
191
- ${LIB_SOURCE_FILES }
164
+ set (SOURCE_FILES
165
+ ${SOURCE_FILES }
192
166
napi/hermes/jsr.cpp
193
167
)
194
168
195
169
elseif (TARGET_ENGINE_QUICKJS)
196
- add_subdirectory (${PROJECT_SOURCE_DIR} /napi/quickjs/mimalloc-dev mimalloc)
170
+ set (MI_BUILD_OBJECT OFF )
171
+ add_subdirectory (napi/quickjs/mimalloc-dev mimalloc)
197
172
198
- set (LIB_SOURCE_FILES ${LIB_SOURCE_FILES}
173
+ include_directories (
174
+ napi/quickjs
175
+ napi/quickjs/source
176
+ napi/common
177
+ mimalloc
178
+ napi/quickjs/mimalloc-dev/include
179
+ )
180
+
181
+ set (SOURCE_FILES ${SOURCE_FILES}
199
182
# quickjs
200
183
napi/quickjs/source /cutils.c
201
184
napi/quickjs/source /libregexp.c
@@ -207,22 +190,14 @@ if(ENABLE_JS_RUNTIME)
207
190
napi/quickjs/jsr.cpp
208
191
)
209
192
210
- include_directories (
211
- napi/quickjs
212
- napi/quickjs/source
213
- napi/common
214
- # mimalloc
215
- napi/quickjs/mimalloc-dev/include
216
- )
217
-
218
193
elseif (TARGET_ENGINE_JSC)
219
194
include_directories (
220
195
napi/jsc
221
196
napi/jsc/include
222
197
napi/common
223
198
)
224
199
225
- set (LIB_SOURCE_FILES ${LIB_SOURCE_FILES }
200
+ set (SOURCE_FILES ${SOURCE_FILES }
226
201
napi/jsc/jsc-api.cpp
227
202
napi/jsc/jsr.cpp
228
203
)
@@ -234,12 +209,38 @@ else()
234
209
)
235
210
endif ()
236
211
212
+ # Find SDK
213
+
214
+ find_program (XCODEBUILD_EXECUTABLE xcodebuild)
215
+
216
+ if (METADATA_SIZE EQUAL 0)
217
+ unset (METADATA_SIZE)
218
+ else ()
219
+ message (STATUS "EMBED_METADATA_SIZE = ${METADATA_SIZE} "
220
+ " (metadata will be embedded in the library)" )
221
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DEMBED_METADATA_SIZE=${METADATA_SIZE} " )
222
+ endif ()
223
+
224
+ message (STATUS "TARGET_PLATFORM = ${TARGET_PLATFORM} " )
225
+
226
+ execute_process (
227
+ COMMAND ${XCODEBUILD_EXECUTABLE} -version -sdk ${SDK_NAME} Path
228
+ OUTPUT_VARIABLE CMAKE_OSX_SYSROOT_INT
229
+ ERROR_QUIET
230
+ OUTPUT_STRIP_TRAILING_WHITESPACE
231
+ )
232
+
233
+ set (CMAKE_OSX_SYSROOT_INT "${CMAKE_OSX_SYSROOT_INT} " CACHE INTERNAL "" )
234
+ set (CMAKE_OSX_SYSROOT "${CMAKE_OSX_SYSROOT_INT} " CACHE INTERNAL "" )
235
+
236
+ message (STATUS "SDK = ${CMAKE_OSX_SYSROOT} " )
237
+
237
238
# Build targets
238
239
239
240
add_library (
240
241
${NAME}
241
242
SHARED
242
- ${LIB_SOURCE_FILES }
243
+ ${SOURCE_FILES }
243
244
)
244
245
245
246
target_sources (
@@ -254,7 +255,7 @@ set_target_properties(${NAME} PROPERTIES
254
255
FRAMEWORK_VERSION ${VERSION}
255
256
MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${VERSION}
256
257
MACOSX_FRAMEWORK_BUNDLE_VERSION ${VERSION}
257
- MACOSX_FRAMEWORK_IDENTIFIER org.nativescript.runtime
258
+ MACOSX_FRAMEWORK_IDENTIFIER ${BUNDLE_IDENTIFIER}
258
259
PUBLIC_HEADER "NativeScript.h"
259
260
)
260
261
@@ -266,8 +267,6 @@ if(BUILD_FRAMEWORK)
266
267
endif ()
267
268
268
269
if (TARGET_PLATFORM_MACOS)
269
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTARGET_PLATFORM_MACOS" )
270
-
271
270
# add_custom_command(TARGET ${NAME} POST_BUILD
272
271
# COMMAND /usr/libexec/PlistBuddy -c "Add :LSMinimumSystemVersion string ${CMAKE_OSX_DEPLOYMENT_TARGET}" $<TARGET_FILE_DIR:${NAME}>/Resources/Info.plist
273
272
# )
0 commit comments