Skip to content

Commit 2b752a5

Browse files
Merge pull request #4866 from kateinoigakukun/pr-7f195656e3309a1be99a234eb27e067d15e44dbf
[wasm][build] Guard libdispatch and Threads usage with HAS_LIBDISPATCH_API
2 parents 8df6fbf + 988564c commit 2b752a5

File tree

2 files changed

+26
-14
lines changed

2 files changed

+26
-14
lines changed

CMakeLists.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ set(CF_DEPLOYMENT_SWIFT YES CACHE BOOL "Build for Swift" FORCE)
5757

5858
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
5959
set(THREADS_PREFER_PTHREAD_FLAG OFF)
60-
find_package(Threads REQUIRED)
60+
if(HAS_LIBDISPATCH_API)
61+
find_package(Threads REQUIRED)
62+
endif()
6163

6264
set(SAVED_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
6365
set(BUILD_SHARED_LIBS NO)

CoreFoundation/CMakeLists.txt

+23-13
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ set(CMAKE_POSITION_INDEPENDENT_CODE YES)
2222

2323
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
2424
set(THREADS_PREFER_PTHREAD_FLAG OFF)
25-
find_package(Threads REQUIRED)
25+
if(HAS_LIBDISPATCH_API)
26+
find_package(Threads REQUIRED)
27+
endif()
2628

2729
if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
2830
find_package(LibXml2 REQUIRED)
@@ -385,10 +387,15 @@ target_include_directories(CoreFoundation
385387
PRIVATE
386388
${PROJECT_SOURCE_DIR})
387389
target_link_libraries(CoreFoundation PRIVATE
388-
Threads::Threads
389390
${CMAKE_DL_LIBS}
390-
BlocksRuntime
391-
dispatch)
391+
BlocksRuntime)
392+
393+
if(HAS_LIBDISPATCH_API)
394+
target_link_libraries(CoreFoundation PRIVATE
395+
Threads::Threads
396+
dispatch)
397+
endif()
398+
392399
if(CMAKE_SYSTEM_NAME STREQUAL Android)
393400
target_link_libraries(CoreFoundation PRIVATE
394401
log)
@@ -504,15 +511,18 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL Windows AND NOT CMAKE_SYSTEM_NAME STREQUAL Dar
504511
PRIVATE
505512
m)
506513
endif()
507-
target_link_libraries(CoreFoundation
508-
PRIVATE
509-
dispatch)
510-
target_link_libraries(CFURLSessionInterface
511-
PRIVATE
512-
dispatch)
513-
target_link_libraries(CFXMLInterface
514-
PRIVATE
515-
dispatch)
514+
515+
if(HAS_LIBDISPATCH_API)
516+
target_link_libraries(CoreFoundation
517+
PRIVATE
518+
dispatch)
519+
target_link_libraries(CFURLSessionInterface
520+
PRIVATE
521+
dispatch)
522+
target_link_libraries(CFXMLInterface
523+
PRIVATE
524+
dispatch)
525+
endif()
516526
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
517527
target_link_libraries(CoreFoundation
518528
PRIVATE

0 commit comments

Comments
 (0)