@@ -51,6 +51,7 @@ elseif(TARGET_PLATFORM STREQUAL "macos")
5151 set (SDK_NAME "macosx" )
5252 set (CMAKE_OSX_ARCHITECTURES "arm64;x86_64" )
5353 set (TARGET_PLATFORM_SPEC "macos-arm64_x86_64" )
54+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTARGET_PLATFORM_MACOS" )
5455
5556else ()
5657 message (FATAL_ERROR "Unknown target platform: ${TARGET_PLATFORM} " )
@@ -71,10 +72,10 @@ elseif(TARGET_ENGINE STREQUAL "v8")
7172 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -stdlib=libc++ -std=c++20 -DV8_COMPRESS_POINTERS -DV8_ENABLE_SANDBOX -DTARGET_ENGINE_V8" )
7273elseif (TARGET_ENGINE STREQUAL "quickjs" )
7374 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" )
7576elseif (TARGET_ENGINE STREQUAL "jsc" )
7677 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" )
7879else ()
7980 message (FATAL_ERROR "Unknown target engine: ${TARGET_ENGINE} " )
8081 return ()
@@ -92,32 +93,6 @@ message(STATUS "TARGET_PLATFORM = ${TARGET_PLATFORM}")
9293message (STATUS "TARGET_ENGINE = ${TARGET_ENGINE} " )
9394message (STATUS "ENABLE_JS_RUNTIME = ${ENABLE_JS_RUNTIME} " )
9495
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-
12196# Set up sources
12297
12398include_directories (
@@ -126,10 +101,9 @@ include_directories(
126101 ada
127102 napi/common
128103 libffi/${LIBFFI_BUILD} /include
129- /Library/Developer/CommandLineTools/usr/include
130104)
131105
132- set (LIB_SOURCE_FILES
106+ set (SOURCE_FILES
133107 ffi/AutoreleasePool.mm
134108 ffi/Protocol.mm
135109 ffi/ObjCBridge.mm
@@ -153,8 +127,8 @@ set(LIB_SOURCE_FILES
153127)
154128
155129if (ENABLE_JS_RUNTIME)
156- set (LIB_SOURCE_FILES
157- ${LIB_SOURCE_FILES }
130+ set (SOURCE_FILES
131+ ${SOURCE_FILES }
158132 runtime/Console.cpp
159133 runtime/Runtime.cpp
160134 runtime/Require.cpp
@@ -173,8 +147,8 @@ if(ENABLE_JS_RUNTIME)
173147 napi/v8/v8_inspector
174148 )
175149
176- set (LIB_SOURCE_FILES
177- ${LIB_SOURCE_FILES }
150+ set (SOURCE_FILES
151+ ${SOURCE_FILES }
178152 napi/v8/v8-api.cpp
179153 napi/v8/jsr.cpp
180154 napi/v8/SimpleAllocator.cpp
@@ -187,15 +161,24 @@ if(ENABLE_JS_RUNTIME)
187161 napi/hermes/jsi
188162 )
189163
190- set (LIB_SOURCE_FILES
191- ${LIB_SOURCE_FILES }
164+ set (SOURCE_FILES
165+ ${SOURCE_FILES }
192166 napi/hermes/jsr.cpp
193167 )
194168
195169 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)
197172
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}
199182 # quickjs
200183 napi/quickjs/source /cutils.c
201184 napi/quickjs/source /libregexp.c
@@ -207,22 +190,14 @@ if(ENABLE_JS_RUNTIME)
207190 napi/quickjs/jsr.cpp
208191 )
209192
210- include_directories (
211- napi/quickjs
212- napi/quickjs/source
213- napi/common
214- # mimalloc
215- napi/quickjs/mimalloc-dev/include
216- )
217-
218193 elseif (TARGET_ENGINE_JSC)
219194 include_directories (
220195 napi/jsc
221196 napi/jsc/include
222197 napi/common
223198 )
224199
225- set (LIB_SOURCE_FILES ${LIB_SOURCE_FILES }
200+ set (SOURCE_FILES ${SOURCE_FILES }
226201 napi/jsc/jsc-api.cpp
227202 napi/jsc/jsr.cpp
228203 )
@@ -234,12 +209,38 @@ else()
234209 )
235210endif ()
236211
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+
237238# Build targets
238239
239240add_library (
240241 ${NAME}
241242 SHARED
242- ${LIB_SOURCE_FILES }
243+ ${SOURCE_FILES }
243244)
244245
245246target_sources (
@@ -254,7 +255,7 @@ set_target_properties(${NAME} PROPERTIES
254255 FRAMEWORK_VERSION ${VERSION}
255256 MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${VERSION}
256257 MACOSX_FRAMEWORK_BUNDLE_VERSION ${VERSION}
257- MACOSX_FRAMEWORK_IDENTIFIER org.nativescript.runtime
258+ MACOSX_FRAMEWORK_IDENTIFIER ${BUNDLE_IDENTIFIER}
258259 PUBLIC_HEADER "NativeScript.h"
259260)
260261
@@ -266,8 +267,6 @@ if(BUILD_FRAMEWORK)
266267endif ()
267268
268269if (TARGET_PLATFORM_MACOS)
269- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTARGET_PLATFORM_MACOS" )
270-
271270 # add_custom_command(TARGET ${NAME} POST_BUILD
272271 # COMMAND /usr/libexec/PlistBuddy -c "Add :LSMinimumSystemVersion string ${CMAKE_OSX_DEPLOYMENT_TARGET}" $<TARGET_FILE_DIR:${NAME}>/Resources/Info.plist
273272 # )
0 commit comments