1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 07:27:45 +00:00

Everywhere: Mark dependencies of most targets as PRIVATE

Otherwise, we end up propagating those dependencies into targets that
link against that library, which creates unnecessary link-time
dependencies.

Also included are changes to readd now missing dependencies to tools
that actually need them.
This commit is contained in:
Tim Schumacher 2022-10-21 21:43:56 +02:00 committed by Linus Groh
parent 678db534ff
commit ce2f1b845f
174 changed files with 386 additions and 384 deletions

View file

@ -5,4 +5,4 @@ set(SOURCES
)
serenity_lib(LibArchive archive)
target_link_libraries(LibArchive LibCore)
target_link_libraries(LibArchive PRIVATE LibCore)

View file

@ -17,4 +17,4 @@ if (SERENITYOS)
endif()
serenity_lib(LibAudio audio)
target_link_libraries(LibAudio LibCore LibIPC LibThreading)
target_link_libraries(LibAudio PRIVATE LibCore LibIPC LibThreading)

View file

@ -171,7 +171,7 @@ set_property(
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nolibc")
serenity_libc(LibC c)
add_dependencies(LibC crti crt0 crt0_shared crtn)
target_link_libraries(LibC LibSystem LibTimeZone)
target_link_libraries(LibC PRIVATE LibSystem LibTimeZone)
# We mark LibCStatic as a dependency of LibC because this triggers the build of the LibCStatic target
add_dependencies(LibC LibCStatic)

View file

@ -6,4 +6,4 @@ set(SOURCES
)
serenity_lib(LibCards cards)
target_link_libraries(LibCards LibCore LibConfig LibGUI)
target_link_libraries(LibCards PRIVATE LibCore LibConfig LibGfx LibGUI)

View file

@ -5,4 +5,4 @@ set(SOURCES
)
serenity_lib(LibChess chess)
target_link_libraries(LibChess LibCore)
target_link_libraries(LibChess PRIVATE LibCore)

View file

@ -3,7 +3,7 @@ set(SOURCES
)
serenity_lib(LibCppComprehension cppcomprehension)
target_link_libraries(LibCppComprehension LibCodeComprehension)
target_link_libraries(LibCppComprehension PRIVATE LibCodeComprehension)
serenity_component(
CppComprehensionTests
@ -17,4 +17,4 @@ set(SOURCES
serenity_bin(CppComprehensionTests)
target_link_libraries(CppComprehensionTests LibCodeComprehension LibCpp LibRegex LibMain)
target_link_libraries(CppComprehensionTests PRIVATE LibCodeComprehension LibCore LibCpp LibRegex LibMain)

View file

@ -3,4 +3,4 @@ set(SOURCES
)
serenity_lib(LibShellComprehension shellcomprehension)
target_link_libraries(LibShellComprehension LibCodeComprehension)
target_link_libraries(LibShellComprehension PRIVATE LibCodeComprehension)

View file

@ -7,4 +7,4 @@ set(SOURCES
)
serenity_lib(LibCompress compress)
target_link_libraries(LibCompress LibCrypto)
target_link_libraries(LibCompress PRIVATE LibCore LibCrypto)

View file

@ -9,4 +9,4 @@ set(GENERATED_SOURCES
)
serenity_lib(LibConfig config)
target_link_libraries(LibConfig LibIPC)
target_link_libraries(LibConfig PRIVATE LibCore LibIPC)

View file

@ -45,4 +45,4 @@ if (NOT ANDROID AND NOT WIN32)
endif()
serenity_lib(LibCore core)
target_link_libraries(LibCore LibCrypt LibSystem)
target_link_libraries(LibCore PRIVATE LibCrypt LibSystem)

View file

@ -5,4 +5,4 @@ set(SOURCES
)
serenity_lib(LibCoredump coredump)
target_link_libraries(LibCoredump LibCompress LibCore LibDebug)
target_link_libraries(LibCoredump PRIVATE LibCompress LibCore LibDebug)

View file

@ -9,4 +9,4 @@ set(SOURCES
)
serenity_lib(LibCpp cpp)
target_link_libraries(LibCpp LibSyntax LibDiff)
target_link_libraries(LibCpp PRIVATE LibSyntax LibDiff)

View file

@ -11,4 +11,4 @@ set(SOURCES
)
serenity_lib(LibCrypt crypt)
target_link_libraries(LibCrypt LibCryptSHA2)
target_link_libraries(LibCrypt PRIVATE LibCryptSHA2)

View file

@ -33,4 +33,4 @@ set(SOURCES
)
serenity_lib(LibCrypto crypto)
target_link_libraries(LibCrypto LibCore)
target_link_libraries(LibCrypto PRIVATE LibCore)

View file

@ -5,4 +5,4 @@ set(SOURCES
)
serenity_lib(LibDNS dns)
target_link_libraries(LibDNS LibIPC)
target_link_libraries(LibDNS PRIVATE LibIPC)

View file

@ -7,4 +7,4 @@ set(SOURCES
)
serenity_lib(LibDSP dsp)
target_link_libraries(LibDSP LibCore)
target_link_libraries(LibDSP PRIVATE LibCore)

View file

@ -14,4 +14,4 @@ set(SOURCES
)
serenity_lib(LibDebug debug)
target_link_libraries(LibDebug LibRegex)
target_link_libraries(LibDebug PRIVATE LibCore LibRegex)

View file

@ -9,4 +9,4 @@ set(GENERATED_SOURCES
)
serenity_lib(LibDesktop desktop)
target_link_libraries(LibDesktop LibCore LibIPC LibGUI)
target_link_libraries(LibDesktop PRIVATE LibCore LibIPC LibGUI)

View file

@ -4,4 +4,4 @@ set(SOURCES
)
serenity_lib(LibDeviceTree DeviceTree)
target_link_libraries(LibDeviceTree LibCore)
target_link_libraries(LibDeviceTree PRIVATE LibCore)

View file

@ -8,5 +8,5 @@ set(GENERATED_SOURCES
)
serenity_lib(LibFileSystemAccessClient filesystemaccessclient)
target_link_libraries(LibFileSystemAccessClient LibIPC)
target_link_libraries(LibFileSystemAccessClient PRIVATE LibCore LibIPC)
add_dependencies(LibFileSystemAccessClient WindowServer)

View file

@ -16,4 +16,4 @@ set(SOURCES
)
serenity_lib(LibGL gl)
target_link_libraries(LibGL LibCore LibGfx LibGPU)
target_link_libraries(LibGL PRIVATE LibCore LibGfx LibGPU)

View file

@ -3,6 +3,6 @@ set(SOURCES
)
serenity_lib(LibGPU gpu)
target_link_libraries(LibGPU LibCore ${CMAKE_DL_LIBS})
target_link_libraries(LibGPU PRIVATE LibCore ${CMAKE_DL_LIBS})
add_dependencies(LibGPU LibSoftGPU)

View file

@ -136,4 +136,4 @@ set(GENERATED_SOURCES
)
serenity_lib(LibGUI gui)
target_link_libraries(LibGUI LibCore LibGfx LibIPC LibThreading LibRegex LibSyntax LibConfig LibUnicode)
target_link_libraries(LibGUI PRIVATE LibCore LibGfx LibIPC LibThreading LibRegex LibSyntax LibConfig LibUnicode)

View file

@ -7,4 +7,4 @@ set(SOURCES
)
serenity_lib(LibGemini gemini)
target_link_libraries(LibGemini LibCore LibTLS)
target_link_libraries(LibGemini PRIVATE LibCore LibTLS)

View file

@ -50,4 +50,4 @@ set(SOURCES
)
serenity_lib(LibGfx gfx)
target_link_libraries(LibGfx LibCompress LibCore LibTextCodec LibIPC)
target_link_libraries(LibGfx PRIVATE LibCompress LibCore LibCrypto LibTextCodec LibIPC)

View file

@ -6,4 +6,4 @@ set(SOURCES
)
serenity_lib(LibHTTP http)
target_link_libraries(LibHTTP LibCompress LibCore LibTLS)
target_link_libraries(LibHTTP PRIVATE LibCompress LibCore LibTLS)

View file

@ -4,4 +4,4 @@ set(SOURCES
)
serenity_lib(LibIDL idl)
target_link_libraries(LibIDL LibCore)
target_link_libraries(LibIDL PRIVATE LibCore)

View file

@ -8,4 +8,4 @@ set(SOURCES
set(GENERATED_SOURCES)
serenity_lib(LibIMAP imap)
target_link_libraries(LibIMAP LibCore LibTLS)
target_link_libraries(LibIMAP PRIVATE LibCore LibCrypto LibTLS)

View file

@ -5,4 +5,4 @@ set(SOURCES
)
serenity_lib(LibIPC ipc)
target_link_libraries(LibIPC LibCore)
target_link_libraries(LibIPC PRIVATE LibCore)

View file

@ -8,4 +8,4 @@ set(GENERATED_SOURCES
)
serenity_lib(LibImageDecoderClient imagedecoderclient)
target_link_libraries(LibImageDecoderClient LibIPC LibGfx)
target_link_libraries(LibImageDecoderClient PRIVATE LibCore LibIPC LibGfx)

View file

@ -251,4 +251,4 @@ set(SOURCES
)
serenity_lib(LibJS js)
target_link_libraries(LibJS LibCore LibCrypto LibRegex LibSyntax LibLocale LibUnicode)
target_link_libraries(LibJS PRIVATE LibCore LibCrypto LibRegex LibSyntax LibLocale LibUnicode)

View file

@ -4,4 +4,4 @@ set(SOURCES
)
serenity_lib(LibKeyboard keyboard)
target_link_libraries(LibKeyboard LibCore)
target_link_libraries(LibKeyboard PRIVATE LibCore)

View file

@ -7,4 +7,4 @@ set(SOURCES
)
serenity_lib(LibLine line)
target_link_libraries(LibLine LibCore)
target_link_libraries(LibLine PRIVATE LibCore)

View file

@ -10,7 +10,7 @@ if (DEFINED LOCALE_DATA_SOURCES)
serenity_generated_sources(LibLocaleData)
endif()
target_compile_options(LibLocaleData PRIVATE -g0 -Os -Wno-parentheses-equality)
target_link_libraries(LibLocaleData LibCore LibTimeZone)
target_link_libraries(LibLocaleData PRIVATE LibCore LibTimeZone)
unset(GENERATED_SOURCES)
endif()
@ -23,13 +23,13 @@ set(SOURCES
)
serenity_lib(LibLocale locale)
target_link_libraries(LibLocale LibCore LibUnicode)
target_link_libraries(LibLocale PRIVATE LibCore LibUnicode)
target_compile_definitions(LibLocale PRIVATE ENABLE_UNICODE_DATA=$<BOOL:${ENABLE_UNICODE_DATABASE_DOWNLOAD}>)
if (DEFINED LOCALE_DATA_SOURCES)
if (SERENITYOS)
add_dependencies(LibLocale LibLocaleData)
else()
target_link_libraries(LibLocale LibLocaleData)
target_link_libraries(LibLocale PRIVATE LibLocaleData)
endif()
endif()

View file

@ -14,4 +14,4 @@ set(SOURCES
)
serenity_lib(LibMarkdown markdown)
target_link_libraries(LibMarkdown LibJS)
target_link_libraries(LibMarkdown PRIVATE LibJS LibRegex)

View file

@ -19,4 +19,4 @@ set(SOURCES
)
serenity_lib(LibPDF pdf)
target_link_libraries(LibPDF LibCore LibIPC LibGfx LibTextCodec LibCrypto)
target_link_libraries(LibPDF PRIVATE LibCore LibCompress LibIPC LibGfx LibTextCodec LibCrypto)

View file

@ -7,4 +7,4 @@ set(SOURCES
)
serenity_lib(LibPartition partition)
target_link_libraries(LibPartition LibCore)
target_link_libraries(LibPartition PRIVATE LibCore)

View file

@ -13,4 +13,4 @@ set(GENERATED_SOURCES
)
serenity_lib(LibProtocol protocol)
target_link_libraries(LibProtocol LibIPC)
target_link_libraries(LibProtocol PRIVATE LibCore LibIPC)

View file

@ -11,4 +11,4 @@ if(SERENITYOS)
endif()
serenity_lib(LibRegex regex)
target_link_libraries(LibRegex LibCore LibUnicode)
target_link_libraries(LibRegex PRIVATE LibCore LibUnicode)

View file

@ -36,4 +36,4 @@ if (SERENITYOS)
endif()
serenity_lib(LibSQL sql)
target_link_libraries(LibSQL LibCore LibSyntax LibRegex)
target_link_libraries(LibSQL PRIVATE LibCore LibIPC LibSyntax LibRegex)

View file

@ -8,4 +8,4 @@ set(SOURCES
add_compile_options(-Wno-psabi)
serenity_lib(LibSoftGPU softgpu)
target_link_libraries(LibSoftGPU LibCore LibGfx)
target_link_libraries(LibSoftGPU PRIVATE LibCore LibGfx)

View file

@ -3,4 +3,4 @@ set(SOURCES
)
serenity_lib(LibSymbolication symbolication)
target_link_libraries(LibSymbolication LibDebug)
target_link_libraries(LibSymbolication PRIVATE LibCore LibDebug)

View file

@ -12,4 +12,4 @@ set(SOURCES
)
serenity_lib(LibTLS tls)
target_link_libraries(LibTLS LibCore LibCrypto)
target_link_libraries(LibTLS PRIVATE LibCore LibCrypto)

View file

@ -4,4 +4,4 @@ set(SOURCES
)
serenity_lib(LibThreading threading)
target_link_libraries(LibThreading LibCore)
target_link_libraries(LibThreading PRIVATE LibCore)

View file

@ -10,5 +10,5 @@ set(SOURCES
set(GENERATED_SOURCES ${CURRENT_LIB_GENERATED})
serenity_lib(LibUnicode unicode)
target_link_libraries(LibUnicode LibCore)
target_link_libraries(LibUnicode PRIVATE LibCore)
target_compile_definitions(LibUnicode PRIVATE ENABLE_UNICODE_DATA=$<BOOL:${ENABLE_UNICODE_DATABASE_DOWNLOAD}>)

View file

@ -11,4 +11,4 @@ set(GENERATED_SOURCES
generate_state_machine(StateMachine.txt EscapeSequenceStateMachine.h)
serenity_lib(LibVT vt)
target_link_libraries(LibVT LibCore LibGUI LibGfx LibDesktop LibConfig)
target_link_libraries(LibVT PRIVATE LibCore LibGUI LibGfx LibDesktop LibConfig)

View file

@ -15,4 +15,4 @@ set(SOURCES
)
serenity_lib(LibVideo video)
target_link_libraries(LibVideo LibAudio LibCore LibIPC LibGfx)
target_link_libraries(LibVideo PRIVATE LibAudio LibCore LibIPC LibGfx)

View file

@ -8,4 +8,4 @@ set(SOURCES
)
serenity_lib(LibWasm wasm)
target_link_libraries(LibWasm LibCore)
target_link_libraries(LibWasm PRIVATE LibCore)

View file

@ -469,7 +469,7 @@ set(GENERATED_SOURCES
serenity_lib(LibWeb web)
# NOTE: We link with LibSoftGPU here instead of lazy loading it via dlopen() so that we do not have to unveil the library and pledge prot_exec.
target_link_libraries(LibWeb LibCore LibJS LibMarkdown LibGemini LibGL LibGUI LibGfx LibSoftGPU LibTextCodec LibWasm LibXML LibIDL)
target_link_libraries(LibWeb PRIVATE LibCore LibCrypto LibJS LibMarkdown LibGemini LibGL LibGUI LibGfx LibIPC LibLocale LibRegex LibSoftGPU LibSyntax LibTextCodec LibUnicode LibWasm LibXML LibIDL)
link_with_locale_data(LibWeb)
generate_js_bindings(LibWeb)

View file

@ -5,4 +5,4 @@ set(SOURCES
)
serenity_lib(LibWebSocket websocket)
target_link_libraries(LibWebSocket LibCore LibCrypto LibTLS)
target_link_libraries(LibWebSocket PRIVATE LibCore LibCrypto LibTLS)

View file

@ -15,6 +15,6 @@ set(GENERATED_SOURCES
)
serenity_lib(LibWebView webview)
target_link_libraries(LibWebView LibFileSystemAccessClient LibGfx LibGUI LibIPC LibProtocol LibWeb)
target_link_libraries(LibWebView PRIVATE LibCore LibFileSystemAccessClient LibGfx LibGUI LibIPC LibProtocol LibWeb)
add_subdirectory(DumpLayoutTree)

View file

@ -3,4 +3,4 @@ set(SOURCES
)
serenity_bin(DumpLayoutTree)
target_link_libraries(DumpLayoutTree LibWebView LibWeb)
target_link_libraries(DumpLayoutTree PRIVATE LibWebView LibWeb)