Bläddra i källkod

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.
Tim Schumacher 2 år sedan
förälder
incheckning
ce2f1b845f
100 ändrade filer med 122 tillägg och 120 borttagningar
  1. 4 4
      Meta/CMake/utils.cmake
  2. 10 10
      Meta/Lagom/CMakeLists.txt
  3. 3 1
      Tests/Kernel/CMakeLists.txt
  4. 2 2
      Tests/LibCore/CMakeLists.txt
  5. 2 2
      Tests/LibELF/CMakeLists.txt
  6. 1 1
      Tests/LibGL/CMakeLists.txt
  7. 1 1
      Tests/LibGfx/CMakeLists.txt
  8. 6 6
      Tests/LibJS/CMakeLists.txt
  9. 1 1
      Tests/UserspaceEmulator/CMakeLists.txt
  10. 1 1
      Userland/Applets/Audio/CMakeLists.txt
  11. 1 1
      Userland/Applets/ClipboardHistory/CMakeLists.txt
  12. 1 1
      Userland/Applets/Keymap/CMakeLists.txt
  13. 1 1
      Userland/Applets/Network/CMakeLists.txt
  14. 1 1
      Userland/Applets/ResourceGraph/CMakeLists.txt
  15. 1 1
      Userland/Applets/WorkspacePicker/CMakeLists.txt
  16. 1 1
      Userland/Applications/3DFileViewer/CMakeLists.txt
  17. 1 1
      Userland/Applications/About/CMakeLists.txt
  18. 1 1
      Userland/Applications/AnalogClock/CMakeLists.txt
  19. 1 1
      Userland/Applications/Assistant/CMakeLists.txt
  20. 1 1
      Userland/Applications/Browser/CMakeLists.txt
  21. 1 1
      Userland/Applications/BrowserSettings/CMakeLists.txt
  22. 1 1
      Userland/Applications/Calculator/CMakeLists.txt
  23. 1 1
      Userland/Applications/Calendar/CMakeLists.txt
  24. 1 1
      Userland/Applications/CalendarSettings/CMakeLists.txt
  25. 1 1
      Userland/Applications/CharacterMap/CMakeLists.txt
  26. 1 1
      Userland/Applications/ClockSettings/CMakeLists.txt
  27. 1 1
      Userland/Applications/CrashReporter/CMakeLists.txt
  28. 1 1
      Userland/Applications/Debugger/CMakeLists.txt
  29. 1 1
      Userland/Applications/DisplaySettings/CMakeLists.txt
  30. 1 1
      Userland/Applications/Escalator/CMakeLists.txt
  31. 1 1
      Userland/Applications/FileManager/CMakeLists.txt
  32. 1 1
      Userland/Applications/FontEditor/CMakeLists.txt
  33. 1 1
      Userland/Applications/GamesSettings/CMakeLists.txt
  34. 1 1
      Userland/Applications/Help/CMakeLists.txt
  35. 1 1
      Userland/Applications/HexEditor/CMakeLists.txt
  36. 1 1
      Userland/Applications/ImageViewer/CMakeLists.txt
  37. 1 1
      Userland/Applications/KeyboardMapper/CMakeLists.txt
  38. 1 1
      Userland/Applications/KeyboardSettings/CMakeLists.txt
  39. 1 1
      Userland/Applications/Magnifier/CMakeLists.txt
  40. 1 1
      Userland/Applications/Mail/CMakeLists.txt
  41. 1 1
      Userland/Applications/MailSettings/CMakeLists.txt
  42. 1 1
      Userland/Applications/MouseSettings/CMakeLists.txt
  43. 1 1
      Userland/Applications/NetworkSettings/CMakeLists.txt
  44. 1 1
      Userland/Applications/PDFViewer/CMakeLists.txt
  45. 1 1
      Userland/Applications/PartitionEditor/CMakeLists.txt
  46. 1 1
      Userland/Applications/Piano/CMakeLists.txt
  47. 1 1
      Userland/Applications/PixelPaint/CMakeLists.txt
  48. 1 1
      Userland/Applications/Run/CMakeLists.txt
  49. 1 1
      Userland/Applications/Settings/CMakeLists.txt
  50. 1 1
      Userland/Applications/SoundPlayer/CMakeLists.txt
  51. 1 1
      Userland/Applications/SpaceAnalyzer/CMakeLists.txt
  52. 1 1
      Userland/Applications/Spreadsheet/CMakeLists.txt
  53. 1 1
      Userland/Applications/SystemMonitor/CMakeLists.txt
  54. 1 1
      Userland/Applications/Terminal/CMakeLists.txt
  55. 1 1
      Userland/Applications/TerminalSettings/CMakeLists.txt
  56. 1 1
      Userland/Applications/TextEditor/CMakeLists.txt
  57. 1 1
      Userland/Applications/ThemeEditor/CMakeLists.txt
  58. 1 1
      Userland/Applications/VideoPlayer/CMakeLists.txt
  59. 1 1
      Userland/Applications/Welcome/CMakeLists.txt
  60. 1 1
      Userland/Demos/CatDog/CMakeLists.txt
  61. 1 1
      Userland/Demos/Cube/CMakeLists.txt
  62. 1 1
      Userland/Demos/Eyes/CMakeLists.txt
  63. 1 1
      Userland/Demos/Fire/CMakeLists.txt
  64. 1 1
      Userland/Demos/LibGfxDemo/CMakeLists.txt
  65. 1 1
      Userland/Demos/LibGfxScaleDemo/CMakeLists.txt
  66. 1 1
      Userland/Demos/Mandelbrot/CMakeLists.txt
  67. 1 1
      Userland/Demos/ModelGallery/CMakeLists.txt
  68. 1 1
      Userland/Demos/Mouse/CMakeLists.txt
  69. 1 1
      Userland/Demos/Screensaver/CMakeLists.txt
  70. 1 1
      Userland/Demos/Starfield/CMakeLists.txt
  71. 1 1
      Userland/Demos/Tubes/CMakeLists.txt
  72. 1 1
      Userland/Demos/VirGLDemo/CMakeLists.txt
  73. 1 1
      Userland/Demos/WidgetGallery/CMakeLists.txt
  74. 1 1
      Userland/DevTools/GMLPlayground/CMakeLists.txt
  75. 1 1
      Userland/DevTools/HackStudio/CMakeLists.txt
  76. 1 1
      Userland/DevTools/HackStudio/LanguageServers/CMakeLists.txt
  77. 1 1
      Userland/DevTools/HackStudio/LanguageServers/Cpp/CMakeLists.txt
  78. 1 1
      Userland/DevTools/HackStudio/LanguageServers/Shell/CMakeLists.txt
  79. 1 1
      Userland/DevTools/Inspector/CMakeLists.txt
  80. 1 1
      Userland/DevTools/Profiler/CMakeLists.txt
  81. 1 1
      Userland/DevTools/SQLStudio/CMakeLists.txt
  82. 1 1
      Userland/DevTools/UserspaceEmulator/CMakeLists.txt
  83. 1 1
      Userland/Games/2048/CMakeLists.txt
  84. 1 1
      Userland/Games/Chess/CMakeLists.txt
  85. 1 1
      Userland/Games/FlappyBug/CMakeLists.txt
  86. 1 1
      Userland/Games/GameOfLife/CMakeLists.txt
  87. 1 1
      Userland/Games/Hearts/CMakeLists.txt
  88. 1 1
      Userland/Games/MasterWord/CMakeLists.txt
  89. 1 1
      Userland/Games/Minesweeper/CMakeLists.txt
  90. 1 1
      Userland/Games/Snake/CMakeLists.txt
  91. 1 1
      Userland/Games/Solitaire/CMakeLists.txt
  92. 1 1
      Userland/Games/Spider/CMakeLists.txt
  93. 1 1
      Userland/Libraries/LibArchive/CMakeLists.txt
  94. 1 1
      Userland/Libraries/LibAudio/CMakeLists.txt
  95. 1 1
      Userland/Libraries/LibC/CMakeLists.txt
  96. 1 1
      Userland/Libraries/LibCards/CMakeLists.txt
  97. 1 1
      Userland/Libraries/LibChess/CMakeLists.txt
  98. 2 2
      Userland/Libraries/LibCodeComprehension/Cpp/CMakeLists.txt
  99. 1 1
      Userland/Libraries/LibCodeComprehension/Shell/CMakeLists.txt
  100. 1 1
      Userland/Libraries/LibCompress/CMakeLists.txt

+ 4 - 4
Meta/CMake/utils.cmake

@@ -8,7 +8,7 @@ function(serenity_set_implicit_links target_name)
     # The latter is a problem with Clang especially, since we might have the
     # slightly outdated stub in the sysroot, but have not yet installed the freshly
     # built LibC.
-    target_link_libraries(${target_name} LibC)
+    target_link_libraries(${target_name} PRIVATE LibC)
 
     # Same goes for -lssp_nonshared, which is required during build time but is not
     # yet installed in the sysroot. However, we just want to add the link directory
@@ -118,9 +118,9 @@ function(serenity_test test_src sub_dir)
     add_dependencies(ComponentTests ${test_name})
     set_target_properties(${test_name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
     serenity_set_implicit_links(${test_name})
-    target_link_libraries(${test_name} LibTest LibCore)
+    target_link_libraries(${test_name} PRIVATE LibTest LibCore)
     foreach(lib ${SERENITY_TEST_LIBS})
-        target_link_libraries(${test_name} ${lib})
+        target_link_libraries(${test_name} PRIVATE ${lib})
     endforeach()
     install(TARGETS ${test_name} RUNTIME DESTINATION usr/Tests/${sub_dir} OPTIONAL)
 endfunction()
@@ -178,7 +178,7 @@ endfunction()
 
 function(link_with_locale_data target)
     if (ENABLE_UNICODE_DATABASE_DOWNLOAD AND SERENITYOS)
-        target_link_libraries("${target}" LibLocaleData)
+        target_link_libraries("${target}" PRIVATE LibLocaleData)
     endif()
 endfunction()
 

+ 10 - 10
Meta/Lagom/CMakeLists.txt

@@ -202,9 +202,9 @@ function(lagom_lib target_name fs_name)
         EXPORT_NAME ${library}
         OUTPUT_NAME lagom-${fs_name}
     )
-    target_link_libraries(${target_name} ${LAGOM_LIBRARY_LIBS})
+    target_link_libraries(${target_name} PRIVATE ${LAGOM_LIBRARY_LIBS})
     if (NOT ${target_name} STREQUAL "LibCore")
-        target_link_libraries(${target_name} LibCore)
+        target_link_libraries(${target_name} PRIVATE LibCore)
     endif()
     install(
         TARGETS ${target_name}
@@ -306,7 +306,7 @@ install(TARGETS LibC LibCrypt LibSystem NoCoverage EXPORT LagomTargets)
 # Note: AK is included in LibCore for the host build instead of LibC per the target build
 add_serenity_subdirectory(AK)
 add_serenity_subdirectory(Userland/Libraries/LibCore)
-target_link_libraries(LibCore Threads::Threads)
+target_link_libraries(LibCore PRIVATE Threads::Threads)
 target_sources(LibCore PRIVATE ${AK_SOURCES})
 
 # LibMain
@@ -385,7 +385,7 @@ if (BUILD_LAGOM)
         set(GENERATED_SOURCES ${LIBWEBVIEW_GENERATED_SOURCES})
         lagom_lib(LibWebView webview
             SOURCES ${LIBWEBVIEW_SOURCES} ${LIBWEBVIEW_GENERATED_SOURCES}
-            LIBS LibGUI LibWeb)
+            LIBS LibGfx LibGUI LibIPC LibWeb)
         unset(GENERATED_SOURCES)
     endif()
 
@@ -425,7 +425,7 @@ if (BUILD_LAGOM)
 
     # FIXME: LibLocaleData is an object lib in Lagom, because the weak symbol trick we use on serenity
     #    straight up isn't supposed to work per ELF rules
-    target_link_libraries(LibLocale LibTimeZone)
+    target_link_libraries(LibLocale PRIVATE LibTimeZone)
     install(TARGETS LibLocaleData EXPORT LagomTargets)
 
     add_serenity_subdirectory(Userland/Shell)
@@ -457,11 +457,11 @@ if (BUILD_LAGOM)
 
         if (ENABLE_LAGOM_LIBWEB)
             add_executable(headless-browser ../../Userland/Utilities/headless-browser.cpp)
-            target_link_libraries(headless-browser LibWeb LibWebSocket LibHTTP LibJS LibGfx LibMain)
+            target_link_libraries(headless-browser LibWeb LibWebSocket LibCrypto LibGemini LibHTTP LibJS LibGfx LibMain LibTLS)
         endif()
 
         add_executable(js ../../Userland/Utilities/js.cpp)
-        target_link_libraries(js LibJS LibLine LibMain LibTextCodec Threads::Threads)
+        target_link_libraries(js LibCrypto LibJS LibLine LibLocale LibMain LibTextCodec Threads::Threads)
 
         add_executable(markdown-check ../../Userland/Utilities/markdown-check.cpp)
         target_link_libraries(markdown-check LibMarkdown LibMain)
@@ -486,7 +486,7 @@ if (BUILD_LAGOM)
             LibTest
             ${LIBTEST_SOURCES}
         )
-        target_link_libraries(LibTest LibCore)
+        target_link_libraries(LibTest PRIVATE LibCore)
         set_target_properties(LibTest PROPERTIES OUTPUT_NAME lagom-test)
         add_library(
             LibTestMain
@@ -527,7 +527,7 @@ if (BUILD_LAGOM)
         file(COPY "${SERENITY_PROJECT_ROOT}/Tests/LibGL/reference-images" DESTINATION "./")
         file(GLOB LIBGL_TESTS CONFIGURE_DEPENDS "../../Tests/LibGL/*.cpp")
         foreach(source ${LIBGL_TESTS})
-            lagom_test(${source} LIBS LibGL LibGPU LibSoftGPU)
+            lagom_test(${source} LIBS LibGfx LibGL LibGPU LibSoftGPU)
         endforeach()
 
         # Locale
@@ -567,7 +567,7 @@ if (BUILD_LAGOM)
         # TLS
         file(GLOB LIBTLS_TESTS CONFIGURE_DEPENDS "../../Tests/LibTLS/*.cpp")
         foreach(source ${LIBTLS_TESTS})
-            lagom_test(${source} LIBS LibTLS
+            lagom_test(${source} LIBS LibCrypto LibTLS
                 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../Tests/LibTLS)
         endforeach()
 

+ 3 - 1
Tests/Kernel/CMakeLists.txt

@@ -25,11 +25,13 @@ set(TEST_SOURCES
 foreach(source IN LISTS TEST_SOURCES)
     get_filename_component(test_name "${source}" NAME_WE)
     add_executable("${test_name}" "${source}")
-    target_link_libraries("${test_name}" LibCore)
+    target_link_libraries("${test_name}" PRIVATE LibCore)
     serenity_set_implicit_links("${test_name}")
     install(TARGETS "${test_name}" RUNTIME DESTINATION usr/Tests/Kernel/Legacy)
 endforeach()
 
+target_link_libraries(fuzz-syscalls PRIVATE LibSystem)
+
 serenity_test("crash.cpp" Kernel MAIN_ALREADY_DEFINED)
 
 set(LIBTEST_BASED_SOURCES

+ 2 - 2
Tests/LibCore/CMakeLists.txt

@@ -13,7 +13,7 @@ foreach(source IN LISTS TEST_SOURCES)
 endforeach()
 
 # NOTE: Required because of the LocalServer tests
-target_link_libraries(TestLibCoreStream LibThreading)
-target_link_libraries(TestLibCoreSharedSingleProducerCircularQueue LibThreading)
+target_link_libraries(TestLibCoreStream PRIVATE LibThreading)
+target_link_libraries(TestLibCoreSharedSingleProducerCircularQueue PRIVATE LibThreading)
 
 install(FILES long_lines.txt 10kb.txt small.txt DESTINATION usr/Tests/LibCore)

+ 2 - 2
Tests/LibELF/CMakeLists.txt

@@ -3,7 +3,7 @@ macro(add_dlopen_lib NAME FUNCTION)
     add_library(${NAME} SHARED Dynlib.cpp)
     target_compile_definitions(${NAME} PRIVATE -DFUNCTION=${FUNCTION})
     # LibLine is not special, just an "external" dependency
-    target_link_libraries(${NAME} LibLine)
+    target_link_libraries(${NAME} PRIVATE LibLine)
     serenity_set_implicit_links(${NAME})
 	 # Avoid execution by the test runner
     install(TARGETS ${NAME}
@@ -16,7 +16,7 @@ add_dlopen_lib(DynlibB dynlibb_function)
 add_dlopen_lib(DynlibC dynlibc_function)
 set(CMAKE_INSTALL_RPATH $ORIGIN)
 add_dlopen_lib(DynlibD dynlibd_function)
-target_link_libraries(DynlibD DynlibC)
+target_link_libraries(DynlibD PRIVATE DynlibC)
 unset(CMAKE_INSTALL_RPATH)
 
 set(TEST_SOURCES

+ 1 - 1
Tests/LibGL/CMakeLists.txt

@@ -4,7 +4,7 @@ set(TEST_SOURCES
 )
 
 foreach(source IN LISTS TEST_SOURCES)
-    serenity_test("${source}" LibGL LIBS LibCore LibGL)
+    serenity_test("${source}" LibGL LIBS LibCore LibGfx LibGL)
 endforeach()
 
 install(DIRECTORY reference-images DESTINATION usr/Tests/LibGL)

+ 1 - 1
Tests/LibGfx/CMakeLists.txt

@@ -5,7 +5,7 @@ set(TEST_SOURCES
 )
 
 foreach(source IN LISTS TEST_SOURCES)
-    serenity_test("${source}" LibGfx LIBS LibGUI)
+    serenity_test("${source}" LibGfx LIBS LibGfx LibGUI)
 endforeach()
 
 install(FILES TestFont.font DESTINATION usr/Tests/LibGfx)

+ 6 - 6
Tests/LibJS/CMakeLists.txt

@@ -1,15 +1,15 @@
-serenity_testjs_test(test-js.cpp test-js)
+serenity_testjs_test(test-js.cpp test-js LIBS LibLocale)
 
 install(TARGETS test-js RUNTIME DESTINATION bin OPTIONAL)
 link_with_locale_data(test-js)
 
-serenity_test(test-invalid-unicode-js.cpp LibJS LIBS LibJS)
+serenity_test(test-invalid-unicode-js.cpp LibJS LIBS LibJS LibLocale)
 link_with_locale_data(test-invalid-unicode-js)
 
-serenity_test(test-bytecode-js.cpp LibJS LIBS LibJS)
+serenity_test(test-bytecode-js.cpp LibJS LIBS LibJS LibLocale)
 link_with_locale_data(test-bytecode-js)
 
-serenity_test(test-value-js.cpp LibJS LIBS LibJS)
+serenity_test(test-value-js.cpp LibJS LIBS LibJS LibLocale)
 link_with_locale_data(test-value-js)
 
 serenity_component(
@@ -17,7 +17,7 @@ serenity_component(
     TARGETS test262-runner
 )
 add_executable(test262-runner test262-runner.cpp)
-target_link_libraries(test262-runner LibJS LibCore)
+target_link_libraries(test262-runner PRIVATE LibJS LibCore LibLocale)
 serenity_set_implicit_links(test262-runner)
 link_with_locale_data(test262-runner)
 install(TARGETS test262-runner RUNTIME DESTINATION bin OPTIONAL)
@@ -27,6 +27,6 @@ serenity_component(
         TARGETS test-test262
 )
 add_executable(test-test262 test-test262.cpp)
-target_link_libraries(test-test262 LibMain LibCore)
+target_link_libraries(test-test262 PRIVATE LibMain LibCore)
 serenity_set_implicit_links(test-test262)
 install(TARGETS test-test262 RUNTIME DESTINATION bin OPTIONAL)

+ 1 - 1
Tests/UserspaceEmulator/CMakeLists.txt

@@ -7,7 +7,7 @@ set(TEST_SOURCES
 foreach(source IN LISTS TEST_SOURCES)
     get_filename_component(test_name "${source}" NAME_WE)
     add_executable("${test_name}" "${source}")
-    target_link_libraries("${test_name}" LibCore)
+    target_link_libraries("${test_name}" PRIVATE LibCore)
     serenity_set_implicit_links("${test_name}")
     install(TARGETS "${test_name}" RUNTIME DESTINATION usr/Tests/UserEmulator)
 endforeach()

+ 1 - 1
Userland/Applets/Audio/CMakeLists.txt

@@ -9,4 +9,4 @@ set(SOURCES
 )
 
 serenity_app(Audio.Applet ICON audio-volume-high)
-target_link_libraries(Audio.Applet LibGUI LibGfx LibAudio LibCore LibConfig LibMain)
+target_link_libraries(Audio.Applet PRIVATE LibGUI LibGfx LibAudio LibCore LibConfig LibIPC LibMain)

+ 1 - 1
Userland/Applets/ClipboardHistory/CMakeLists.txt

@@ -10,4 +10,4 @@ set(SOURCES
 )
 
 serenity_app(ClipboardHistory.Applet ICON edit-copy)
-target_link_libraries(ClipboardHistory.Applet LibGUI LibCore LibGfx LibConfig LibMain)
+target_link_libraries(ClipboardHistory.Applet PRIVATE LibGUI LibCore LibGfx LibConfig LibMain)

+ 1 - 1
Userland/Applets/Keymap/CMakeLists.txt

@@ -11,4 +11,4 @@ set(SOURCES
 )
 
 serenity_bin(Keymap.Applet)
-target_link_libraries(Keymap.Applet LibGUI LibCore LibGfx LibMain LibKeyboard)
+target_link_libraries(Keymap.Applet PRIVATE LibGUI LibCore LibGfx LibIPC LibMain LibKeyboard)

+ 1 - 1
Userland/Applets/Network/CMakeLists.txt

@@ -9,4 +9,4 @@ set(SOURCES
 )
 
 serenity_app(Network.Applet ICON network)
-target_link_libraries(Network.Applet LibGUI LibCore LibGfx LibMain)
+target_link_libraries(Network.Applet PRIVATE LibGUI LibCore LibGfx LibMain)

+ 1 - 1
Userland/Applets/ResourceGraph/CMakeLists.txt

@@ -9,4 +9,4 @@ set(SOURCES
 )
 
 serenity_bin(ResourceGraph.Applet)
-target_link_libraries(ResourceGraph.Applet LibGUI LibCore LibGfx LibMain)
+target_link_libraries(ResourceGraph.Applet PRIVATE LibGUI LibCore LibGfx LibMain)

+ 1 - 1
Userland/Applets/WorkspacePicker/CMakeLists.txt

@@ -10,4 +10,4 @@ set(SOURCES
 )
 
 serenity_bin(WorkspacePicker.Applet)
-target_link_libraries(WorkspacePicker.Applet LibGUI LibCore LibGfx LibMain)
+target_link_libraries(WorkspacePicker.Applet PRIVATE LibGUI LibCore LibGfx LibIPC LibMain)

+ 1 - 1
Userland/Applications/3DFileViewer/CMakeLists.txt

@@ -12,4 +12,4 @@ set(SOURCES
 )
 
 serenity_app(3DFileViewer ICON app-3d-file-viewer)
-target_link_libraries(3DFileViewer LibGUI LibGL LibFileSystemAccessClient LibMain)
+target_link_libraries(3DFileViewer PRIVATE LibCore LibGfx LibGUI LibGL LibFileSystemAccessClient LibMain)

+ 1 - 1
Userland/Applications/About/CMakeLists.txt

@@ -15,4 +15,4 @@ execute_process(COMMAND "git diff-index --quiet HEAD -- && echo tracked || echo
 add_definitions(-DGIT_COMMIT="${GIT_COMMIT}" -DGIT_BRANCH="${GIT_BRANCH}" -DGIT_CHANGES="${GIT_CHANGES}")
 
 serenity_bin(About)
-target_link_libraries(About LibGUI LibMain)
+target_link_libraries(About PRIVATE LibCore LibGfx LibGUI LibMain)

+ 1 - 1
Userland/Applications/AnalogClock/CMakeLists.txt

@@ -10,4 +10,4 @@ set(SOURCES
         )
 
 serenity_app(AnalogClock ICON app-analog-clock)
-target_link_libraries(AnalogClock LibGUI LibMain)
+target_link_libraries(AnalogClock PRIVATE LibCore LibGfx LibGUI LibMain)

+ 1 - 1
Userland/Applications/Assistant/CMakeLists.txt

@@ -10,4 +10,4 @@ set(SOURCES
     )
 
 serenity_app(Assistant ICON app-run)
-target_link_libraries(Assistant LibCore LibDesktop LibGUI LibJS LibMain LibThreading)
+target_link_libraries(Assistant PRIVATE LibCore LibDesktop LibGfx LibGUI LibJS LibMain LibThreading)

+ 1 - 1
Userland/Applications/Browser/CMakeLists.txt

@@ -42,5 +42,5 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(Browser ICON app-browser)
-target_link_libraries(Browser LibWebView LibWeb LibProtocol LibGUI LibDesktop LibConfig LibMain)
+target_link_libraries(Browser PRIVATE LibCore LibWebView LibWeb LibProtocol LibGUI LibDesktop LibConfig LibGfx LibIPC LibJS LibLocale LibMain LibSyntax)
 link_with_locale_data(Browser)

+ 1 - 1
Userland/Applications/BrowserSettings/CMakeLists.txt

@@ -19,4 +19,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(BrowserSettings ICON app-browser)
-target_link_libraries(BrowserSettings LibGUI LibConfig LibMain)
+target_link_libraries(BrowserSettings PRIVATE LibCore LibGfx LibGUI LibConfig LibMain)

+ 1 - 1
Userland/Applications/Calculator/CMakeLists.txt

@@ -18,4 +18,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(Calculator ICON app-calculator)
-target_link_libraries(Calculator LibGUI LibMain)
+target_link_libraries(Calculator PRIVATE LibCore LibCrypto LibGfx LibGUI LibMain)

+ 1 - 1
Userland/Applications/Calendar/CMakeLists.txt

@@ -15,4 +15,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(Calendar ICON app-calendar)
-target_link_libraries(Calendar LibGUI LibMain)
+target_link_libraries(Calendar PRIVATE LibConfig LibCore LibGfx LibGUI LibMain)

+ 1 - 1
Userland/Applications/CalendarSettings/CMakeLists.txt

@@ -16,4 +16,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(CalendarSettings ICON app-calendar)
-target_link_libraries(CalendarSettings LibConfig LibGUI LibMain)
+target_link_libraries(CalendarSettings PRIVATE LibConfig LibCore LibGfx LibGUI LibMain)

+ 1 - 1
Userland/Applications/CharacterMap/CMakeLists.txt

@@ -19,4 +19,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(CharacterMap ICON app-character-map)
-target_link_libraries(CharacterMap LibDesktop LibGUI LibMain LibUnicode)
+target_link_libraries(CharacterMap PRIVATE LibConfig LibCore LibDesktop LibGfx LibGUI LibMain LibUnicode)

+ 1 - 1
Userland/Applications/ClockSettings/CMakeLists.txt

@@ -19,5 +19,5 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(ClockSettings ICON app-analog-clock) # FIXME: Create a ClockSettings icon.
-target_link_libraries(ClockSettings LibGUI LibMain LibLocale)
+target_link_libraries(ClockSettings PRIVATE LibConfig LibCore LibGfx LibGUI LibMain LibLocale)
 link_with_locale_data(ClockSettings)

+ 1 - 1
Userland/Applications/CrashReporter/CMakeLists.txt

@@ -16,4 +16,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(CrashReporter ICON app-crash-reporter)
-target_link_libraries(CrashReporter LibCore LibCoredump LibDesktop LibFileSystemAccessClient LibGUI LibMain)
+target_link_libraries(CrashReporter PRIVATE LibCore LibCoredump LibDebug LibDesktop LibFileSystemAccessClient LibGfx LibGUI LibMain LibThreading)

+ 1 - 1
Userland/Applications/Debugger/CMakeLists.txt

@@ -8,4 +8,4 @@ set(SOURCES
 )
 
 serenity_bin(Debugger)
-target_link_libraries(Debugger LibCore LibDebug LibLine LibMain LibX86)
+target_link_libraries(Debugger PRIVATE LibCore LibDebug LibLine LibMain LibX86)

+ 1 - 1
Userland/Applications/DisplaySettings/CMakeLists.txt

@@ -33,4 +33,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(DisplaySettings ICON app-display-settings)
-target_link_libraries(DisplaySettings LibDesktop LibGUI LibConfig LibMain LibEDID)
+target_link_libraries(DisplaySettings PRIVATE LibCore LibDesktop LibGfx LibGUI LibConfig LibIPC LibMain LibEDID LibThreading)

+ 1 - 1
Userland/Applications/Escalator/CMakeLists.txt

@@ -16,4 +16,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(Escalator ICON app-escalator)
-target_link_libraries(Escalator LibCore LibDesktop LibGUI LibMain)
+target_link_libraries(Escalator PRIVATE LibCore LibDesktop LibGfx LibGUI LibMain)

+ 1 - 1
Userland/Applications/FileManager/CMakeLists.txt

@@ -25,4 +25,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(FileManager ICON app-file-manager)
-target_link_libraries(FileManager LibGUI LibDesktop LibConfig LibMain)
+target_link_libraries(FileManager PRIVATE LibCore LibGfx LibGUI LibDesktop LibConfig LibMain)

+ 1 - 1
Userland/Applications/FontEditor/CMakeLists.txt

@@ -25,4 +25,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(FontEditor ICON app-font-editor)
-target_link_libraries(FontEditor LibGUI LibDesktop LibGfx LibMain LibUnicode)
+target_link_libraries(FontEditor PRIVATE LibConfig LibCore LibGUI LibDesktop LibGfx LibMain LibUnicode)

+ 1 - 1
Userland/Applications/GamesSettings/CMakeLists.txt

@@ -16,4 +16,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(GamesSettings ICON games)
-target_link_libraries(GamesSettings LibGUI LibMain LibCards)
+target_link_libraries(GamesSettings PRIVATE LibConfig LibCore LibGfx LibGUI LibMain LibCards)

+ 1 - 1
Userland/Applications/Help/CMakeLists.txt

@@ -21,4 +21,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(Help ICON app-help)
-target_link_libraries(Help LibWebView LibWeb LibMarkdown LibGUI LibDesktop LibMain)
+target_link_libraries(Help PRIVATE LibCore LibWebView LibWeb LibMarkdown LibGfx LibGUI LibDesktop LibMain)

+ 1 - 1
Userland/Applications/HexEditor/CMakeLists.txt

@@ -24,4 +24,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(HexEditor ICON app-hex-editor)
-target_link_libraries(HexEditor LibGUI LibConfig LibDesktop LibFileSystemAccessClient LibMain)
+target_link_libraries(HexEditor PRIVATE LibCore LibGfx LibGUI LibConfig LibDesktop LibFileSystemAccessClient LibMain)

+ 1 - 1
Userland/Applications/ImageViewer/CMakeLists.txt

@@ -11,4 +11,4 @@ set(SOURCES
 )
 
 serenity_app(ImageViewer ICON filetype-image)
-target_link_libraries(ImageViewer LibDesktop LibGUI LibGfx LibImageDecoderClient LibMain)
+target_link_libraries(ImageViewer PRIVATE LibCore LibDesktop LibGUI LibGfx LibImageDecoderClient LibMain)

+ 1 - 1
Userland/Applications/KeyboardMapper/CMakeLists.txt

@@ -11,4 +11,4 @@ set(SOURCES
 )
 
 serenity_app(KeyboardMapper ICON app-keyboard-mapper)
-target_link_libraries(KeyboardMapper LibGUI LibKeyboard LibMain)
+target_link_libraries(KeyboardMapper PRIVATE LibCore LibGfx LibGUI LibKeyboard LibMain)

+ 1 - 1
Userland/Applications/KeyboardSettings/CMakeLists.txt

@@ -18,4 +18,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(KeyboardSettings ICON app-keyboard-settings)
-target_link_libraries(KeyboardSettings LibGUI LibKeyboard LibConfig LibMain)
+target_link_libraries(KeyboardSettings PRIVATE LibCore LibGfx LibGUI LibKeyboard LibConfig LibMain)

+ 1 - 1
Userland/Applications/Magnifier/CMakeLists.txt

@@ -10,4 +10,4 @@ set(SOURCES
 )
 
 serenity_app(Magnifier ICON app-magnifier)
-target_link_libraries(Magnifier LibGfx LibGUI LibMain LibFileSystemAccessClient)
+target_link_libraries(Magnifier PRIVATE LibCore LibGfx LibGUI LibIPC LibMain LibFileSystemAccessClient)

+ 1 - 1
Userland/Applications/Mail/CMakeLists.txt

@@ -20,4 +20,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(Mail ICON app-mail)
-target_link_libraries(Mail LibConfig LibCore LibDesktop LibGfx LibGUI LibIMAP LibWebView LibWeb LibMain)
+target_link_libraries(Mail PRIVATE LibConfig LibCore LibDesktop LibGfx LibGUI LibIMAP LibWebView LibWeb LibMain)

+ 1 - 1
Userland/Applications/MailSettings/CMakeLists.txt

@@ -16,4 +16,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(MailSettings ICON app-mail)
-target_link_libraries(MailSettings LibConfig LibGUI LibMain)
+target_link_libraries(MailSettings PRIVATE LibConfig LibCore LibGfx LibGUI LibMain)

+ 1 - 1
Userland/Applications/MouseSettings/CMakeLists.txt

@@ -24,4 +24,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(MouseSettings ICON app-mouse)
-target_link_libraries(MouseSettings LibGUI LibMain)
+target_link_libraries(MouseSettings PRIVATE LibCore LibGfx LibGUI LibIPC LibMain)

+ 1 - 1
Userland/Applications/NetworkSettings/CMakeLists.txt

@@ -16,4 +16,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(NetworkSettings ICON network)
-target_link_libraries(NetworkSettings LibGUI LibMain)
+target_link_libraries(NetworkSettings PRIVATE LibCore LibGfx LibGUI LibMain)

+ 1 - 1
Userland/Applications/PDFViewer/CMakeLists.txt

@@ -13,4 +13,4 @@ set(SOURCES
     )
 
 serenity_app(PDFViewer ICON app-pdf-viewer)
-target_link_libraries(PDFViewer LibGUI LibPDF LibFileSystemAccessClient LibConfig LibMain)
+target_link_libraries(PDFViewer PRIVATE LibCore LibGfx LibGUI LibPDF LibFileSystemAccessClient LibConfig LibMain)

+ 1 - 1
Userland/Applications/PartitionEditor/CMakeLists.txt

@@ -15,4 +15,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(PartitionEditor ICON app-partition-editor)
-target_link_libraries(PartitionEditor LibMain LibGUI LibPartition)
+target_link_libraries(PartitionEditor PRIVATE LibCore LibGfx LibMain LibGUI LibPartition)

+ 1 - 1
Userland/Applications/Piano/CMakeLists.txt

@@ -21,4 +21,4 @@ set(SOURCES
 )
 
 serenity_app(Piano ICON app-piano)
-target_link_libraries(Piano LibAudio LibDSP LibGUI LibMain)
+target_link_libraries(Piano PRIVATE LibAudio LibCore LibDSP LibGfx LibGUI LibIPC LibMain)

+ 1 - 1
Userland/Applications/PixelPaint/CMakeLists.txt

@@ -83,4 +83,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(PixelPaint ICON app-pixel-paint)
-target_link_libraries(PixelPaint LibImageDecoderClient LibGUI LibGfx LibFileSystemAccessClient LibConfig LibMain)
+target_link_libraries(PixelPaint PRIVATE LibCore LibImageDecoderClient LibGUI LibGfx LibFileSystemAccessClient LibConfig LibMain LibThreading)

+ 1 - 1
Userland/Applications/Run/CMakeLists.txt

@@ -16,4 +16,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(Run ICON app-run)
-target_link_libraries(Run LibCore LibDesktop LibGUI LibMain)
+target_link_libraries(Run PRIVATE LibCore LibDesktop LibGfx LibGUI LibMain)

+ 1 - 1
Userland/Applications/Settings/CMakeLists.txt

@@ -9,4 +9,4 @@ set(SOURCES
 )
 
 serenity_app(Settings ICON app-settings)
-target_link_libraries(Settings LibGUI LibDesktop LibMain)
+target_link_libraries(Settings PRIVATE LibCore LibGfx LibGUI LibDesktop LibMain)

+ 1 - 1
Userland/Applications/SoundPlayer/CMakeLists.txt

@@ -19,4 +19,4 @@ set(SOURCES
 )
 
 serenity_app(SoundPlayer ICON app-sound-player)
-target_link_libraries(SoundPlayer LibAudio LibDSP LibGUI LibMain LibThreading)
+target_link_libraries(SoundPlayer PRIVATE LibAudio LibCore LibDSP LibGfx LibGUI LibIPC LibMain LibThreading)

+ 1 - 1
Userland/Applications/SpaceAnalyzer/CMakeLists.txt

@@ -15,4 +15,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(SpaceAnalyzer ICON app-space-analyzer)
-target_link_libraries(SpaceAnalyzer LibDesktop LibGfx LibGUI LibMain)
+target_link_libraries(SpaceAnalyzer PRIVATE LibCore LibDesktop LibGfx LibGUI LibIPC LibMain)

+ 1 - 1
Userland/Applications/Spreadsheet/CMakeLists.txt

@@ -42,7 +42,7 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(Spreadsheet ICON app-spreadsheet)
-target_link_libraries(Spreadsheet LibFileSystemAccessClient LibGUI LibJS LibMain LibWebView LibWeb)
+target_link_libraries(Spreadsheet PRIVATE LibCore LibFileSystemAccessClient LibGfx LibGUI LibJS LibMain LibMarkdown LibSyntax LibWebView LibWeb)
 
 serenity_test(Writers/Test/TestXSVWriter.cpp Spreadsheet)
 

+ 1 - 1
Userland/Applications/SystemMonitor/CMakeLists.txt

@@ -26,4 +26,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(SystemMonitor ICON app-system-monitor)
-target_link_libraries(SystemMonitor LibGUI LibSymbolication LibMain)
+target_link_libraries(SystemMonitor PRIVATE LibConfig LibCore LibGfx LibGUI LibMain LibSymbolication LibThreading)

+ 1 - 1
Userland/Applications/Terminal/CMakeLists.txt

@@ -9,4 +9,4 @@ set(SOURCES
 )
 
 serenity_app(Terminal ICON app-terminal)
-target_link_libraries(Terminal LibGUI LibVT LibMain)
+target_link_libraries(Terminal PRIVATE LibConfig LibCore LibDesktop LibGfx LibGUI LibVT LibMain)

+ 1 - 1
Userland/Applications/TerminalSettings/CMakeLists.txt

@@ -18,4 +18,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(TerminalSettings ICON app-terminal)
-target_link_libraries(TerminalSettings LibGUI LibConfig LibMain LibVT)
+target_link_libraries(TerminalSettings PRIVATE LibCore LibGfx LibGUI LibConfig LibMain LibVT)

+ 1 - 1
Userland/Applications/TextEditor/CMakeLists.txt

@@ -18,4 +18,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(TextEditor ICON app-text-editor)
-target_link_libraries(TextEditor LibWebView LibWeb LibMarkdown LibGUI LibShell LibRegex LibDesktop LibCpp LibJS LibSQL LibFileSystemAccessClient LibConfig LibMain)
+target_link_libraries(TextEditor PRIVATE LibCore LibWebView LibWeb LibMarkdown LibGfx LibGUI LibShell LibRegex LibDesktop LibCpp LibJS LibSQL LibSyntax LibFileSystemAccessClient LibConfig LibMain)

+ 1 - 1
Userland/Applications/ThemeEditor/CMakeLists.txt

@@ -28,4 +28,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(ThemeEditor ICON app-theme-editor)
-target_link_libraries(ThemeEditor LibGUI LibFileSystemAccessClient LibMain)
+target_link_libraries(ThemeEditor PRIVATE LibCore LibGfx LibGUI LibFileSystemAccessClient LibIPC LibMain)

+ 1 - 1
Userland/Applications/VideoPlayer/CMakeLists.txt

@@ -11,4 +11,4 @@ set(SOURCES
 )
 
 serenity_bin(VideoPlayer)
-target_link_libraries(VideoPlayer LibVideo LibAudio LibGUI LibMain)
+target_link_libraries(VideoPlayer PRIVATE LibVideo LibAudio LibCore LibGfx LibGUI LibMain)

+ 1 - 1
Userland/Applications/Welcome/CMakeLists.txt

@@ -16,4 +16,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(Welcome ICON app-welcome)
-target_link_libraries(Welcome LibGUI LibWebView LibWeb LibMain)
+target_link_libraries(Welcome PRIVATE LibConfig LibCore LibGfx LibGUI LibWebView LibWeb LibMain)

+ 1 - 1
Userland/Demos/CatDog/CMakeLists.txt

@@ -11,4 +11,4 @@ set(SOURCES
 )
 
 serenity_app(CatDog ICON app-catdog)
-target_link_libraries(CatDog LibGUI LibGfx LibCore LibMain)
+target_link_libraries(CatDog PRIVATE LibGUI LibGfx LibCore LibMain)

+ 1 - 1
Userland/Demos/Cube/CMakeLists.txt

@@ -8,4 +8,4 @@ set(SOURCES
 )
 
 serenity_app(Cube ICON app-cube)
-target_link_libraries(Cube LibGUI LibMain)
+target_link_libraries(Cube PRIVATE LibCore LibGfx LibGUI LibMain)

+ 1 - 1
Userland/Demos/Eyes/CMakeLists.txt

@@ -9,4 +9,4 @@ set(SOURCES
 )
 
 serenity_app(Eyes ICON app-eyes)
-target_link_libraries(Eyes LibDesktop LibGUI LibGfx LibMain)
+target_link_libraries(Eyes PRIVATE LibCore LibDesktop LibGUI LibGfx LibMain)

+ 1 - 1
Userland/Demos/Fire/CMakeLists.txt

@@ -8,4 +8,4 @@ set(SOURCES
 )
 
 serenity_app(Fire ICON app-fire)
-target_link_libraries(Fire LibGUI LibCore LibGfx LibMain)
+target_link_libraries(Fire PRIVATE LibGUI LibCore LibGfx LibMain)

+ 1 - 1
Userland/Demos/LibGfxDemo/CMakeLists.txt

@@ -8,4 +8,4 @@ set(SOURCES
 )
 
 serenity_app(LibGfxDemo ICON app-libgfx-demo)
-target_link_libraries(LibGfxDemo LibGUI LibIPC LibGfx LibCore LibMain)
+target_link_libraries(LibGfxDemo PRIVATE LibGUI LibIPC LibGfx LibCore LibMain)

+ 1 - 1
Userland/Demos/LibGfxScaleDemo/CMakeLists.txt

@@ -8,4 +8,4 @@ set(SOURCES
 )
 
 serenity_app(LibGfxScaleDemo ICON app-libgfx-demo)
-target_link_libraries(LibGfxScaleDemo LibGUI LibIPC LibGfx LibCore LibMain)
+target_link_libraries(LibGfxScaleDemo PRIVATE LibGUI LibIPC LibGfx LibCore LibMain)

+ 1 - 1
Userland/Demos/Mandelbrot/CMakeLists.txt

@@ -8,4 +8,4 @@ set(SOURCES
 )
 
 serenity_app(Mandelbrot ICON app-mandelbrot)
-target_link_libraries(Mandelbrot LibGUI LibCore LibGfx LibMain)
+target_link_libraries(Mandelbrot PRIVATE LibGUI LibCore LibGfx LibMain)

+ 1 - 1
Userland/Demos/ModelGallery/CMakeLists.txt

@@ -17,4 +17,4 @@ set(GENERATED_SOURCES
 
 serenity_app(ModelGallery ICON app-model-gallery)
 
-target_link_libraries(ModelGallery LibGUI LibGfx LibMain)
+target_link_libraries(ModelGallery PRIVATE LibCore LibGUI LibGfx LibMain)

+ 1 - 1
Userland/Demos/Mouse/CMakeLists.txt

@@ -8,4 +8,4 @@ set(SOURCES
 )
 
 serenity_app(Mouse ICON app-mouse)
-target_link_libraries(Mouse LibGUI LibGfx LibMain)
+target_link_libraries(Mouse PRIVATE LibCore LibGUI LibGfx LibIPC LibMain)

+ 1 - 1
Userland/Demos/Screensaver/CMakeLists.txt

@@ -8,4 +8,4 @@ set(SOURCES
 )
 
 serenity_app(Screensaver ICON app-screensaver)
-target_link_libraries(Screensaver LibGUI LibCore LibGfx LibMain)
+target_link_libraries(Screensaver PRIVATE LibGUI LibCore LibGfx LibMain)

+ 1 - 1
Userland/Demos/Starfield/CMakeLists.txt

@@ -8,4 +8,4 @@ set(SOURCES
 )
 
 serenity_app(Starfield ICON app-starfield)
-target_link_libraries(Starfield LibGUI LibCore LibGfx LibMain)
+target_link_libraries(Starfield PRIVATE LibGUI LibCore LibGfx LibMain)

+ 1 - 1
Userland/Demos/Tubes/CMakeLists.txt

@@ -10,4 +10,4 @@ set(SOURCES
 )
 
 serenity_app(Tubes ICON app-tubes)
-target_link_libraries(Tubes LibGUI LibCore LibGfx LibGL LibMain)
+target_link_libraries(Tubes PRIVATE LibGUI LibCore LibGfx LibGL LibMain)

+ 1 - 1
Userland/Demos/VirGLDemo/CMakeLists.txt

@@ -10,4 +10,4 @@ set(SOURCES
 )
 
 serenity_app(VirGLDemo ICON app-cube)
-target_link_libraries(VirGLDemo LibMain LibGUI)
+target_link_libraries(VirGLDemo PRIVATE LibCore LibMain LibGfx LibGUI)

+ 1 - 1
Userland/Demos/WidgetGallery/CMakeLists.txt

@@ -30,4 +30,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(WidgetGallery ICON app-widget-gallery)
-target_link_libraries(WidgetGallery LibGUI LibMain LibFileSystemAccessClient)
+target_link_libraries(WidgetGallery PRIVATE LibCore LibGfx LibGUI LibMain LibFileSystemAccessClient LibIPC)

+ 1 - 1
Userland/DevTools/GMLPlayground/CMakeLists.txt

@@ -9,4 +9,4 @@ set(SOURCES
 )
 
 serenity_app(GMLPlayground ICON app-gml-playground)
-target_link_libraries(GMLPlayground LibDesktop LibFileSystemAccessClient LibGUI LibMain)
+target_link_libraries(GMLPlayground PRIVATE LibCore LibDesktop LibFileSystemAccessClient LibGfx LibGUI LibMain LibSyntax)

+ 1 - 1
Userland/DevTools/HackStudio/CMakeLists.txt

@@ -58,5 +58,5 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(HackStudio ICON app-hack-studio)
-target_link_libraries(HackStudio LibWebView LibWeb LibMarkdown LibGUI LibCpp LibGfx LibCore LibVT LibDebug LibX86 LibDiff LibShell LibSymbolication LibRegex LibSQL LibCoredump LibMain)
+target_link_libraries(HackStudio PRIVATE LibWebView LibWeb LibMarkdown LibGUI LibCpp LibGfx LibCore LibVT LibDebug LibX86 LibDiff LibShell LibSymbolication LibSyntax LibRegex LibSQL LibConfig LibCore LibCoredump LibDesktop LibIPC LibJS LibMain LibThreading)
 add_dependencies(HackStudio CppLanguageServer)

+ 1 - 1
Userland/DevTools/HackStudio/LanguageServers/CMakeLists.txt

@@ -9,7 +9,7 @@ set(GENERATED_SOURCES
         LanguageServerEndpoint.h)
 
 serenity_lib(LibLanguageServer languageserver)
-target_link_libraries(LibLanguageServer LibCodeComprehension)
+target_link_libraries(LibLanguageServer PRIVATE LibCodeComprehension LibCore)
 
 add_subdirectory(Cpp)
 add_subdirectory(Shell)

+ 1 - 1
Userland/DevTools/HackStudio/LanguageServers/Cpp/CMakeLists.txt

@@ -15,4 +15,4 @@ serenity_bin(CppLanguageServer)
 
 # We link with LibGUI because we use GUI::TextDocument to update
 # the content of files according to the edit actions we receive over IPC.
-target_link_libraries(CppLanguageServer LibIPC LibCpp LibGUI LibLanguageServer LibCppComprehension LibMain)
+target_link_libraries(CppLanguageServer PRIVATE LibIPC LibCore LibCpp LibGUI LibLanguageServer LibCppComprehension LibMain LibRegex)

+ 1 - 1
Userland/DevTools/HackStudio/LanguageServers/Shell/CMakeLists.txt

@@ -15,4 +15,4 @@ serenity_bin(ShellLanguageServer)
 
 # We link with LibGUI because we use GUI::TextDocument to update
 # the content of files according to the edit actions we receive over IPC.
-target_link_libraries(ShellLanguageServer LibIPC LibShell LibGUI LibLanguageServer LibShellComprehension LibMain)
+target_link_libraries(ShellLanguageServer PRIVATE LibCore LibIPC LibShell LibGUI LibLanguageServer LibShellComprehension LibMain)

+ 1 - 1
Userland/DevTools/Inspector/CMakeLists.txt

@@ -13,4 +13,4 @@ set(SOURCES
 )
 
 serenity_app(Inspector ICON app-inspector)
-target_link_libraries(Inspector LibDesktop LibGUI LibMain)
+target_link_libraries(Inspector PRIVATE LibCore LibDesktop LibGfx LibGUI LibIPC LibMain)

+ 1 - 1
Userland/DevTools/Profiler/CMakeLists.txt

@@ -24,4 +24,4 @@ set(SOURCES
         )
 
 serenity_app(Profiler ICON app-profiler)
-target_link_libraries(Profiler LibGUI LibDesktop LibX86 LibSymbolication LibMain)
+target_link_libraries(Profiler PRIVATE LibCore LibDebug LibGfx LibGUI LibDesktop LibX86 LibSymbolication LibMain)

+ 1 - 1
Userland/DevTools/SQLStudio/CMakeLists.txt

@@ -11,4 +11,4 @@ set(SOURCES
 )
 
 serenity_app(SQLStudio ICON app-sql-studio)
-target_link_libraries(SQLStudio LibCore LibDesktop LibGUI LibMain LibSQL)
+target_link_libraries(SQLStudio PRIVATE LibCore LibDesktop LibGfx LibGUI LibIPC LibMain LibSQL LibSyntax)

+ 1 - 1
Userland/DevTools/UserspaceEmulator/CMakeLists.txt

@@ -23,4 +23,4 @@ set(SOURCES
 add_compile_options(-mmmx -Wno-psabi -frounding-math)
 
 serenity_bin(UserspaceEmulator)
-target_link_libraries(UserspaceEmulator LibX86 LibDebug LibCore LibLine)
+target_link_libraries(UserspaceEmulator PRIVATE LibX86 LibDebug LibCore LibLine LibSystem)

+ 1 - 1
Userland/Games/2048/CMakeLists.txt

@@ -20,4 +20,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(2048 ICON app-2048)
-target_link_libraries(2048 LibConfig LibGUI LibMain LibDesktop)
+target_link_libraries(2048 PRIVATE LibConfig LibCore LibGfx LibGUI LibMain LibDesktop)

+ 1 - 1
Userland/Games/Chess/CMakeLists.txt

@@ -13,4 +13,4 @@ set(SOURCES
 )
 
 serenity_app(Chess ICON app-chess)
-target_link_libraries(Chess LibChess LibConfig LibFileSystemAccessClient LibGUI LibCore LibMain LibDesktop)
+target_link_libraries(Chess PRIVATE LibChess LibConfig LibFileSystemAccessClient LibGfx LibGUI LibCore LibMain LibDesktop)

+ 1 - 1
Userland/Games/FlappyBug/CMakeLists.txt

@@ -10,4 +10,4 @@ set(SOURCES
 )
 
 serenity_app(FlappyBug ICON app-flappybug)
-target_link_libraries(FlappyBug LibGUI LibConfig LibMain LibDesktop)
+target_link_libraries(FlappyBug PRIVATE LibCore LibGfx LibGUI LibConfig LibMain LibDesktop)

+ 1 - 1
Userland/Games/GameOfLife/CMakeLists.txt

@@ -18,4 +18,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(GameOfLife ICON app-gameoflife)
-target_link_libraries(GameOfLife LibGUI LibMain LibDesktop)
+target_link_libraries(GameOfLife PRIVATE LibCore LibGfx LibGUI LibMain LibDesktop)

+ 1 - 1
Userland/Games/Hearts/CMakeLists.txt

@@ -20,4 +20,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(Hearts ICON app-hearts)
-target_link_libraries(Hearts LibCards LibGUI LibGfx LibCore LibConfig LibMain LibDesktop)
+target_link_libraries(Hearts PRIVATE LibCards LibGUI LibGfx LibCore LibConfig LibMain LibDesktop)

+ 1 - 1
Userland/Games/MasterWord/CMakeLists.txt

@@ -10,4 +10,4 @@ set(SOURCES
 )
 
 serenity_app(MasterWord ICON app-masterword)
-target_link_libraries(MasterWord LibGUI LibConfig LibMain LibDesktop)
+target_link_libraries(MasterWord PRIVATE LibCore LibGfx LibGUI LibConfig LibMain LibDesktop)

+ 1 - 1
Userland/Games/Minesweeper/CMakeLists.txt

@@ -19,4 +19,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(Minesweeper ICON app-minesweeper)
-target_link_libraries(Minesweeper LibGUI LibConfig LibMain LibDesktop)
+target_link_libraries(Minesweeper PRIVATE LibCore LibGfx LibGUI LibConfig LibMain LibDesktop)

+ 1 - 1
Userland/Games/Snake/CMakeLists.txt

@@ -10,4 +10,4 @@ set(SOURCES
 )
 
 serenity_app(Snake ICON app-snake)
-target_link_libraries(Snake LibGUI LibConfig LibMain LibDesktop)
+target_link_libraries(Snake PRIVATE LibCore LibGfx LibGUI LibConfig LibMain LibDesktop)

+ 1 - 1
Userland/Games/Solitaire/CMakeLists.txt

@@ -16,4 +16,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(Solitaire ICON app-solitaire)
-target_link_libraries(Solitaire LibCards LibConfig LibGUI LibGfx LibCore LibMain)
+target_link_libraries(Solitaire PRIVATE LibCards LibConfig LibGUI LibGfx LibCore LibMain)

+ 1 - 1
Userland/Games/Spider/CMakeLists.txt

@@ -16,4 +16,4 @@ set(GENERATED_SOURCES
 )
 
 serenity_app(Spider ICON app-spider)
-target_link_libraries(Spider LibCards LibGUI LibGfx LibCore LibConfig LibMain)
+target_link_libraries(Spider PRIVATE LibCards LibGUI LibGfx LibCore LibConfig LibMain)

+ 1 - 1
Userland/Libraries/LibArchive/CMakeLists.txt

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

+ 1 - 1
Userland/Libraries/LibAudio/CMakeLists.txt

@@ -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)

+ 1 - 1
Userland/Libraries/LibC/CMakeLists.txt

@@ -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)

+ 1 - 1
Userland/Libraries/LibCards/CMakeLists.txt

@@ -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)

+ 1 - 1
Userland/Libraries/LibChess/CMakeLists.txt

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

+ 2 - 2
Userland/Libraries/LibCodeComprehension/Cpp/CMakeLists.txt

@@ -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)

+ 1 - 1
Userland/Libraries/LibCodeComprehension/Shell/CMakeLists.txt

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

+ 1 - 1
Userland/Libraries/LibCompress/CMakeLists.txt

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

Vissa filer visades inte eftersom för många filer har ändrats