浏览代码

Meta/gn: Build WebContent Qt bits only if enable_qt is set

With this, it's possible to build Ladybird without having Qt installed.
(Previously, the build required `moc` to exist.)

In fact, it's possible to build Ladybird without anything off `brew`
as long as you have `ninja` and `gn` (both of which don't have any
dependencies themselves and are easy to build).
Nico Weber 1 年之前
父节点
当前提交
40138a4a3b
共有 1 个文件被更改,包括 20 次插入15 次删除
  1. 20 15
      Meta/gn/secondary/Ladybird/WebContent/BUILD.gn

+ 20 - 15
Meta/gn/secondary/Ladybird/WebContent/BUILD.gn

@@ -1,3 +1,4 @@
+import("//Ladybird/enable_qt.gni")
 import("//Ladybird/link_qt.gni")
 import("//Ladybird/moc_qt_objects.gni")
 import("//Meta/gn/build/libs/pulse/enable.gni")
@@ -20,16 +21,12 @@ link_qt("WebContent_qt") {
 }
 
 executable("WebContent") {
-  configs += [
-    "//Ladybird:ladybird_config",
-    ":WebContent_qt",
-  ]
+  configs += [ "//Ladybird:ladybird_config" ]
   include_dirs = [
     "//Userland/Services",
     "//Ladybird",
   ]
   deps = [
-    ":generate_moc",
     "//AK",
     "//Meta/gn/build/libs/pulse",
     "//Userland/Libraries/LibCore",
@@ -52,15 +49,6 @@ executable("WebContent") {
     "//Ladybird/FontPlugin.cpp",
     "//Ladybird/HelperProcess.cpp",
     "//Ladybird/ImageCodecPlugin.cpp",
-    "//Ladybird/Qt/AudioCodecPluginQt.cpp",
-    "//Ladybird/Qt/AudioThread.cpp",
-    "//Ladybird/Qt/EventLoopImplementationQt.cpp",
-    "//Ladybird/Qt/EventLoopImplementationQtEventTarget.cpp",
-    "//Ladybird/Qt/RequestManagerQt.cpp",
-    "//Ladybird/Qt/StringUtils.cpp",
-    "//Ladybird/Qt/WebSocketClientManagerQt.cpp",
-    "//Ladybird/Qt/WebSocketImplQt.cpp",
-    "//Ladybird/Qt/WebSocketQt.cpp",
     "//Ladybird/Utilities.cpp",
     "//Userland/Services/WebContent/ConnectionFromClient.cpp",
     "//Userland/Services/WebContent/ConsoleGlobalEnvironmentExtensions.cpp",
@@ -70,7 +58,24 @@ executable("WebContent") {
     "//Userland/Services/WebContent/WebDriverConnection.cpp",
     "main.cpp",
   ]
-  sources += get_target_outputs(":generate_moc")
+
+  if (enable_qt) {
+    configs += [ ":WebContent_qt" ]
+    sources += [
+      "//Ladybird/Qt/AudioCodecPluginQt.cpp",
+      "//Ladybird/Qt/AudioThread.cpp",
+      "//Ladybird/Qt/EventLoopImplementationQt.cpp",
+      "//Ladybird/Qt/EventLoopImplementationQtEventTarget.cpp",
+      "//Ladybird/Qt/RequestManagerQt.cpp",
+      "//Ladybird/Qt/StringUtils.cpp",
+      "//Ladybird/Qt/WebSocketClientManagerQt.cpp",
+      "//Ladybird/Qt/WebSocketImplQt.cpp",
+      "//Ladybird/Qt/WebSocketQt.cpp",
+    ]
+
+    sources += get_target_outputs(":generate_moc")
+    deps += [ ":generate_moc" ]
+  }
 
   if (current_os == "linux" || current_os == "mac") {
     cflags_cc = [ "-DHAS_ACCELERATED_GRAPHICS" ]