@@ -21,6 +21,17 @@ else()
2121 set (MINGW FALSE )
2222endif ()
2323
24+ if (CMAKE_SYSTEM_NAME STREQUAL "tvOS" )
25+ set (TVOS TRUE )
26+ else ()
27+ set (TVOS FALSE )
28+ endif ()
29+ if (CMAKE_SYSTEM_NAME STREQUAL "watchOS" )
30+ set (WATCHOS TRUE )
31+ else ()
32+ set (WATCHOS FALSE )
33+ endif ()
34+
2435if (NOT CMAKE_BUILD_TYPE )
2536 message (STATUS "No build type selected, default to Release" )
2637 set (CMAKE_BUILD_TYPE "Release" )
@@ -38,7 +49,7 @@ macro(xcheck_add_c_compiler_flag FLAG)
3849endmacro ()
3950
4051xcheck_add_c_compiler_flag(-Wall)
41- if (NOT MSVC AND NOT IOS)
52+ if (NOT MSVC AND NOT IOS AND NOT TVOS AND NOT WATCHOS )
4253 xcheck_add_c_compiler_flag(-Werror)
4354 xcheck_add_c_compiler_flag(-Wextra)
4455endif ()
@@ -241,6 +252,12 @@ if(WIN32)
241252 # NB: Windows 7 is EOL and we are only supporting in so far as it doesn't interfere with progress.
242253 list (APPEND qjs_defines WIN32_LEAN_AND_MEAN _WIN32_WINNT=0x0601)
243254endif ()
255+ if (TVOS)
256+ list (APPEND qjs_defines _TVOS)
257+ endif ()
258+ if (WATCHOS)
259+ list (APPEND qjs_defines _WATCHOS)
260+ endif ()
244261list (APPEND qjs_libs ${CMAKE_DL_LIBS} )
245262find_package (Threads)
246263if (NOT CMAKE_SYSTEM_NAME STREQUAL "WASI" )
@@ -416,29 +433,29 @@ endif()
416433# Install target
417434#
418435
419- if ( NOT IOS )
420- file ( STRINGS quickjs.h quickjs_h REGEX QJS_VERSION )
421- string ( REGEX MATCH " QJS_VERSION_MAJOR ([0-9]*)" _ " ${quickjs_h} " )
422- set (QJS_VERSION_MAJOR ${CMAKE_MATCH_1} )
423- string ( REGEX MATCH " QJS_VERSION_MINOR ([0-9]*)" _ " ${quickjs_h} " )
424- set (QJS_VERSION_MINOR ${CMAKE_MATCH_1} )
425- string ( REGEX MATCH " QJS_VERSION_PATCH ([0-9]*)" _ " ${quickjs_h} " )
426- set (QJS_VERSION_PATCH ${CMAKE_MATCH_1} )
427- set_target_properties (qjs PROPERTIES
428- VERSION ${QJS_VERSION_MAJOR} . ${QJS_VERSION_MINOR} . ${QJS_VERSION_PATCH }
429- SOVERSION ${QJS_VERSION_MAJOR}
430- )
431- install ( FILES quickjs.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
432- if (QJS_BUILD_LIBC )
433- install ( FILES quickjs-libc.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
434- endif ( )
436+ file ( STRINGS quickjs.h quickjs_h REGEX QJS_VERSION )
437+ string ( REGEX MATCH "QJS_VERSION_MAJOR ([0-9]*)" _ " ${ quickjs_h} " )
438+ set ( QJS_VERSION_MAJOR ${CMAKE_MATCH_1} )
439+ string ( REGEX MATCH "QJS_VERSION_MINOR ([0-9]*)" _ " ${quickjs_h} " )
440+ set ( QJS_VERSION_MINOR ${CMAKE_MATCH_1} )
441+ string ( REGEX MATCH "QJS_VERSION_PATCH ([0-9]*)" _ " ${quickjs_h} " )
442+ set ( QJS_VERSION_PATCH ${CMAKE_MATCH_1} )
443+ set_target_properties (qjs PROPERTIES
444+ VERSION ${QJS_VERSION_MAJOR} . ${QJS_VERSION_MINOR} . ${QJS_VERSION_PATCH}
445+ SOVERSION ${QJS_VERSION_MAJOR}
446+ )
447+ install ( FILES quickjs.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
448+ if (QJS_BUILD_LIBC )
449+ install ( FILES quickjs-libc.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
450+ endif ( )
451+ if ( NOT IOS AND NOT TVOS AND NOT WATCHOS )
435452 install (TARGETS qjs_exe RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )
436453 install (TARGETS qjsc RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )
437- install (TARGETS qjs EXPORT qjsConfig
438- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
439- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
440- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
441- install (EXPORT qjsConfig DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/quickjs)
442- install (FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR} )
443- install (DIRECTORY examples DESTINATION ${CMAKE_INSTALL_DOCDIR} )
444454endif ()
455+ install (TARGETS qjs EXPORT qjsConfig
456+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
457+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
458+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
459+ install (EXPORT qjsConfig DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/quickjs)
460+ install (FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR} )
461+ install (DIRECTORY examples DESTINATION ${CMAKE_INSTALL_DOCDIR} )
0 commit comments