diff --git a/lib/lib.pro b/lib/lib.pro
index c1266626b7178bfc95a911b3974d69c92f71d4d9..76924ecd4c5860ae72004d048fd126f60fc3c059 100644
--- a/lib/lib.pro
+++ b/lib/lib.pro
@@ -84,3 +84,15 @@ HEADERS = \
         web_event_factory.h \
         yuv_video_node.h
 
+# It's difficult to convince the gyp/ninja combination to install the
+# output, so use qmake for that purpose. We need to use target.extra
+# rather than target.files since qmake is not convinced this file will
+# exist after the build completes.
+# FIXME: Remove this once we get rid of libQt5WebEngineCore.so and fold
+#        the object files into libQt5WebEngine.so instead.
+unix {
+    OUTPUT_DIR = $$getOutDir()/$$getConfigDir()
+    target.extra = $(INSTALL_FILE) $$OUTPUT_DIR/lib/lib$${TARGET}.so $$[QT_INSTALL_LIBS]
+    target.path = $$[QT_INSTALL_LIBS]
+    INSTALLS += target
+}
diff --git a/process/process.pro b/process/process.pro
index 47a5839d81cba534ebba999324b10345f25f6ff6..6234d839f8c3756cebd337ecc5d2a863203f289b 100644
--- a/process/process.pro
+++ b/process/process.pro
@@ -15,3 +15,7 @@ DESTDIR = $$getOutDir()/$$getConfigDir()
 INCLUDEPATH += ../lib
 
 SOURCES = main.cpp
+
+target.files = $$DESTDIR/$$QTWEBENGINEPROCESS_NAME
+target.path = $$[QT_INSTALL_LIBEXECS]
+INSTALLS += target