Skip to content

Commit c864f73

Browse files
committed
[libc++] TAKE 2: Make system libraries PRIVATE dependencies of libc++
We tried doing that previously (in r373487) and failed (reverted in r373506) because the benchmarks needed to link against system libraries and relied on libc++'s dependencies being propagated. Now that this has been fixed (in r374053), this commit marks the system libraries as PRIVATE dependencies of libc++. llvm-svn: 374056
1 parent 45e0f24 commit c864f73

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

libcxx/src/CMakeLists.txt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -143,40 +143,40 @@ function(cxx_link_system_libraries target)
143143
target_add_link_flags_if_supported(${target} PRIVATE "/nodefaultlib")
144144

145145
if (LIBCXX_HAS_SYSTEM_LIB)
146-
target_link_libraries(${target} PUBLIC System)
146+
target_link_libraries(${target} PRIVATE System)
147147
endif()
148148

149149
if (LIBCXX_HAS_PTHREAD_LIB)
150-
target_link_libraries(${target} PUBLIC pthread)
150+
target_link_libraries(${target} PRIVATE pthread)
151151
endif()
152152

153153
if (LIBCXX_HAS_C_LIB)
154-
target_link_libraries(${target} PUBLIC c)
154+
target_link_libraries(${target} PRIVATE c)
155155
endif()
156156

157157
if (LIBCXX_HAS_M_LIB)
158-
target_link_libraries(${target} PUBLIC m)
158+
target_link_libraries(${target} PRIVATE m)
159159
endif()
160160

161161
if (LIBCXX_HAS_RT_LIB)
162-
target_link_libraries(${target} PUBLIC rt)
162+
target_link_libraries(${target} PRIVATE rt)
163163
endif()
164164

165165
if (LIBCXX_USE_COMPILER_RT)
166166
find_compiler_rt_library(builtins LIBCXX_BUILTINS_LIBRARY)
167167
if (LIBCXX_BUILTINS_LIBRARY)
168-
target_link_libraries(${target} PUBLIC "${LIBCXX_BUILTINS_LIBRARY}")
168+
target_link_libraries(${target} PRIVATE "${LIBCXX_BUILTINS_LIBRARY}")
169169
endif()
170170
elseif (LIBCXX_HAS_GCC_S_LIB)
171-
target_link_libraries(${target} PUBLIC gcc_s)
171+
target_link_libraries(${target} PRIVATE gcc_s)
172172
endif()
173173

174174
if (LIBCXX_HAVE_CXX_ATOMICS_WITH_LIB)
175-
target_link_libraries(${target} PUBLIC atomic)
175+
target_link_libraries(${target} PRIVATE atomic)
176176
endif()
177177

178178
if (MINGW)
179-
target_link_libraries(${target} PUBLIC "${MINGW_LIBRARIES}")
179+
target_link_libraries(${target} PRIVATE "${MINGW_LIBRARIES}")
180180
endif()
181181

182182
if (LIBCXX_TARGETING_MSVC)
@@ -186,13 +186,13 @@ function(cxx_link_system_libraries target)
186186
set(LIB_SUFFIX "")
187187
endif()
188188

189-
target_link_libraries(${target} PUBLIC ucrt${LIB_SUFFIX}) # Universal C runtime
190-
target_link_libraries(${target} PUBLIC vcruntime${LIB_SUFFIX}) # C++ runtime
191-
target_link_libraries(${target} PUBLIC msvcrt${LIB_SUFFIX}) # C runtime startup files
192-
target_link_libraries(${target} PUBLIC msvcprt${LIB_SUFFIX}) # C++ standard library. Required for exception_ptr internals.
189+
target_link_libraries(${target} PRIVATE ucrt${LIB_SUFFIX}) # Universal C runtime
190+
target_link_libraries(${target} PRIVATE vcruntime${LIB_SUFFIX}) # C++ runtime
191+
target_link_libraries(${target} PRIVATE msvcrt${LIB_SUFFIX}) # C runtime startup files
192+
target_link_libraries(${target} PRIVATE msvcprt${LIB_SUFFIX}) # C++ standard library. Required for exception_ptr internals.
193193
# Required for standards-complaint wide character formatting functions
194194
# (e.g. `printfw`/`scanfw`)
195-
target_link_libraries(${target} PUBLIC iso_stdio_wide_specifiers)
195+
target_link_libraries(${target} PRIVATE iso_stdio_wide_specifiers)
196196
endif()
197197
endfunction()
198198

0 commit comments

Comments
 (0)