Skip to content

Commit bb674c0

Browse files
authored
Add iOS build to CI
1 parent 38fa7d7 commit bb674c0

File tree

2 files changed

+36
-22
lines changed

2 files changed

+36
-22
lines changed

.github/workflows/ci.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -597,3 +597,15 @@ jobs:
597597
run: |
598598
$ANDROID_HOME/cmake/3.22.1/bin/cmake --build build --target qjs
599599
ls -lh build
600+
601+
ios:
602+
runs-on: macos-latest
603+
steps:
604+
- uses: actions/checkout@v4
605+
- name: configure
606+
run: |
607+
cmake -B build -GXcode -DCMAKE_SYSTEM_NAME:STRING=iOS -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED:BOOL=NO -DBUILD_QJS_LIBC=ON
608+
- name: build
609+
run: |
610+
cmake --build build --config Release --target qjs
611+
ls -lh build

CMakeLists.txt

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ macro(xcheck_add_c_compiler_flag FLAG)
2727
endmacro()
2828

2929
xcheck_add_c_compiler_flag(-Wall)
30-
if(NOT MSVC)
30+
if(NOT MSVC AND NOT IOS)
3131
xcheck_add_c_compiler_flag(-Werror)
3232
xcheck_add_c_compiler_flag(-Wextra)
3333
endif()
@@ -167,7 +167,7 @@ endif()
167167

168168
add_library(qjs ${qjs_sources})
169169
target_compile_definitions(qjs PRIVATE ${qjs_defines})
170-
if (CMAKE_BUILD_TYPE MATCHES Debug OR DUMP_LEAKS)
170+
if(CMAKE_BUILD_TYPE MATCHES Debug OR DUMP_LEAKS)
171171
target_compile_definitions(qjs PRIVATE
172172
DUMP_LEAKS
173173
)
@@ -328,24 +328,26 @@ endif()
328328
# Install target
329329
#
330330

331-
file(STRINGS quickjs.h quickjs_h REGEX QJS_VERSION)
332-
string(REGEX MATCHALL "([0-9])" QJS_VERSION "${quickjs_h}")
333-
list(GET QJS_VERSION 0 QJS_VERSION_MAJOR)
334-
list(GET QJS_VERSION 1 QJS_VERSION_MINOR)
335-
list(GET QJS_VERSION 2 QJS_VERSION_PATCH)
336-
set_target_properties(qjs PROPERTIES
337-
VERSION ${QJS_VERSION_MAJOR}.${QJS_VERSION_MINOR}.${QJS_VERSION_PATCH}
338-
SOVERSION ${QJS_VERSION_MAJOR}
339-
)
340-
install(FILES quickjs.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
341-
if(BUILD_QJS_LIBC)
342-
install(FILES quickjs-libc.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
331+
if(NOT IOS)
332+
file(STRINGS quickjs.h quickjs_h REGEX QJS_VERSION)
333+
string(REGEX MATCHALL "([0-9])" QJS_VERSION "${quickjs_h}")
334+
list(GET QJS_VERSION 0 QJS_VERSION_MAJOR)
335+
list(GET QJS_VERSION 1 QJS_VERSION_MINOR)
336+
list(GET QJS_VERSION 2 QJS_VERSION_PATCH)
337+
set_target_properties(qjs PROPERTIES
338+
VERSION ${QJS_VERSION_MAJOR}.${QJS_VERSION_MINOR}.${QJS_VERSION_PATCH}
339+
SOVERSION ${QJS_VERSION_MAJOR}
340+
)
341+
install(FILES quickjs.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
342+
if(BUILD_QJS_LIBC)
343+
install(FILES quickjs-libc.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
344+
endif()
345+
install(TARGETS qjs_exe RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
346+
install(TARGETS qjs EXPORT qjsConfig
347+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
348+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
349+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
350+
install(EXPORT qjsConfig DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/quickjs)
351+
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
352+
install(DIRECTORY examples DESTINATION ${CMAKE_INSTALL_DOCDIR})
343353
endif()
344-
install(TARGETS qjs_exe RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
345-
install(TARGETS qjs EXPORT qjsConfig
346-
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
347-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
348-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
349-
install(EXPORT qjsConfig DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/quickjs)
350-
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
351-
install(DIRECTORY examples DESTINATION ${CMAKE_INSTALL_DOCDIR})

0 commit comments

Comments
 (0)