diff options
-rw-r--r-- | libcxx/cmake/config-ix.cmake | 7 | ||||
-rw-r--r-- | libcxx/src/CMakeLists.txt | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/libcxx/cmake/config-ix.cmake b/libcxx/cmake/config-ix.cmake index 730ee7e164a..23ae71025e5 100644 --- a/libcxx/cmake/config-ix.cmake +++ b/libcxx/cmake/config-ix.cmake @@ -80,8 +80,15 @@ if(WIN32 AND NOT MINGW) set(LIBCXX_HAS_PTHREAD_LIB NO) set(LIBCXX_HAS_M_LIB NO) set(LIBCXX_HAS_RT_LIB NO) + set(LIBCXX_HAS_SYSTEM_LIB NO) +elseif(APPLE) + check_library_exists(System write "" LIBCXX_HAS_SYSTEM_LIB) + set(LIBCXX_HAS_PTHREAD_LIB NO) + set(LIBCXX_HAS_M_LIB NO) + set(LIBCXX_HAS_RT_LIB NO) else() check_library_exists(pthread pthread_create "" LIBCXX_HAS_PTHREAD_LIB) check_library_exists(m ccos "" LIBCXX_HAS_M_LIB) check_library_exists(rt clock_gettime "" LIBCXX_HAS_RT_LIB) + set(LIBCXX_HAS_SYSTEM_LIB NO) endif() diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt index 3c31548c2c4..5d9cc01d165 100644 --- a/libcxx/src/CMakeLists.txt +++ b/libcxx/src/CMakeLists.txt @@ -140,6 +140,10 @@ function(cxx_link_system_libraries target) target_add_compile_flags_if_supported(${target} PRIVATE "/Zl") target_add_link_flags_if_supported(${target} PRIVATE "/nodefaultlib") + if (LIBCXX_HAS_SYSTEM_LIB) + target_link_libraries(${target} PUBLIC System) + endif() + if (LIBCXX_HAS_PTHREAD_LIB) target_link_libraries(${target} PUBLIC pthread) endif() |