Skip to content

Commit acd234a

Browse files
committed
Update pthread cmake config
1 parent 1f56e95 commit acd234a

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

CMakeLists.txt

+6-10
Original file line numberDiff line numberDiff line change
@@ -70,20 +70,16 @@ include(XCTest)
7070

7171
set(CF_DEPLOYMENT_SWIFT YES CACHE BOOL "Build for Swift" FORCE)
7272

73-
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
74-
set(THREADS_PREFER_PTHREAD_FLAG OFF)
7573
if(HAS_LIBDISPATCH_API)
74+
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
75+
set(THREADS_PREFER_PTHREAD_FLAG OFF)
76+
if(ANDROID)
77+
set(CMAKE_THREAD_LIBS_INIT "-lc")
78+
set(THREADS_HAVE_PTHREAD_ARG FALSE)
79+
endif()
7680
find_package(Threads REQUIRED)
7781
endif()
7882

79-
# CMake's Threads adds '-pthread' flag to the interface link
80-
# libraries, which isn't supported by Swift. This is not enabled
81-
# when building with MSVC, but it trips up the Android build, so
82-
# we need to clear out the threads INTERFACE_LINK_LIBRARIES.
83-
if (CMAKE_SYSTEM_NAME STREQUAL "Android")
84-
set_property(TARGET Threads::Threads PROPERTY INTERFACE_LINK_LIBRARIES "")
85-
endif()
86-
8783
set(SAVED_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
8884
set(BUILD_SHARED_LIBS NO)
8985
add_subdirectory(CoreFoundation EXCLUDE_FROM_ALL)

0 commit comments

Comments
 (0)