commit 6c83b58ee7a5c621bb71c481fadccf103f63b9c0
Author: Nathan Ho <nathan@snappizz.com>
Date:   Sun Jun 2 01:43:47 2019 -0700

    scide: Remove some Qt components if SC_USE_WEBENGINE is off

Index: supercollider-3.10.0+repack/editors/sc-ide/CMakeLists.txt
===================================================================
--- supercollider-3.10.0+repack.orig/editors/sc-ide/CMakeLists.txt
+++ supercollider-3.10.0+repack/editors/sc-ide/CMakeLists.txt
@@ -2,9 +2,7 @@
 SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
 SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
 
-find_package(
-    Qt5 ${REQUIRED_QT_VERSION}
-    COMPONENTS
+set(QT_IDE_COMPONENTS
     Concurrent
     Core
     LinguistTools
@@ -13,12 +11,7 @@ find_package(
     Qml
     Quick
     Sql
-    WebChannel
-    WebEngine
-    WebEngineWidgets
-    WebSockets
     Widgets
-    REQUIRED
 )
 
 set(QT_IDE_LIBRARIES
@@ -29,9 +22,27 @@ set(QT_IDE_LIBRARIES
     Qt5::Qml
     Qt5::Quick
     Qt5::Sql
-    Qt5::WebChannel
-    Qt5::WebEngineWidgets
-    Qt5::WebSockets
+)
+
+if(SC_USE_WEBENGINE)
+    list(APPEND QT_IDE_COMPONENTS
+        WebChannel
+        WebEngine
+        WebEngineWidgets
+        WebSockets
+    )
+    list(APPEND QT_IDE_LIBRARIES
+        Qt5::WebChannel
+        Qt5::WebEngineWidgets
+        Qt5::WebSockets
+    )
+endif()
+
+find_package(
+    Qt5 ${REQUIRED_QT_VERSION}
+    COMPONENTS
+    ${QT_IDE_COMPONENTS}
+    REQUIRED
 )
 
 if(${CMAKE_COMPILER_IS_GNUCXX})
Index: supercollider-3.10.0+repack/editors/sc-ide/core/main.cpp
===================================================================
--- supercollider-3.10.0+repack.orig/editors/sc-ide/core/main.cpp
+++ supercollider-3.10.0+repack/editors/sc-ide/core/main.cpp
@@ -23,13 +23,9 @@
 #include "session_manager.hpp"
 #include "util/standard_dirs.hpp"
 #include "../widgets/main_window.hpp"
-#include "../widgets/help_browser.hpp"
 #include "../widgets/lookup_dialog.hpp"
 #include "../widgets/code_editor/highlighter.hpp"
 #include "../widgets/style/style.hpp"
-#include "../widgets/util/WebSocketClientWrapper.hpp"
-#include "../widgets/util/WebSocketTransport.hpp"
-#include "../widgets/util/IDEWebChannelWrapper.hpp"
 #include "../../../QtCollider/hacks/hacks_mac.hpp"
 #include "../primitives/localsocket_utils.hpp"
 
@@ -45,9 +41,15 @@
 #include <QLibraryInfo>
 #include <QTranslator>
 #include <QDebug>
-#include <QWebChannel>
 #include <QStyleFactory>
 
+#ifdef SC_USE_WEBENGINE
+#    include <QWebChannel>
+#    include "../widgets/util/WebSocketClientWrapper.hpp"
+#    include "../widgets/util/WebSocketTransport.hpp"
+#    include "../widgets/util/IDEWebChannelWrapper.hpp"
+#endif // SC_USE_WEBENGINE
+
 using namespace ScIDE;
 
 int main( int argc, char *argv[] )
Index: supercollider-3.10.0+repack/editors/sc-ide/core/sc_process.cpp
===================================================================
--- supercollider-3.10.0+repack.orig/editors/sc-ide/core/sc_process.cpp
+++ supercollider-3.10.0+repack/editors/sc-ide/core/sc_process.cpp
@@ -35,8 +35,6 @@
 #include "util/standard_dirs.hpp"
 #include "../primitives/localsocket_utils.hpp"
 
-#include "../widgets/help_browser.hpp"
-
 #include <yaml-cpp/node/node.h>
 #include <yaml-cpp/parser.h>
 
Index: supercollider-3.10.0+repack/editors/sc-ide/widgets/code_editor/autocompleter.cpp
===================================================================
--- supercollider-3.10.0+repack.orig/editors/sc-ide/widgets/code_editor/autocompleter.cpp
+++ supercollider-3.10.0+repack/editors/sc-ide/widgets/code_editor/autocompleter.cpp
@@ -28,7 +28,10 @@
 #include "../../core/main.hpp"
 #include "../../core/util/standard_dirs.hpp"
 #include "../main_window.hpp"
-#include "../help_browser.hpp"
+
+#ifdef SC_USE_WEBENGINE
+#    include "../help_browser.hpp"
+#endif // SC_USE_WEBENGINE
 
 #include <yaml-cpp/node/node.h>
 #include <yaml-cpp/parser.h>
Index: supercollider-3.10.0+repack/editors/sc-ide/widgets/code_editor/sc_editor.cpp
===================================================================
--- supercollider-3.10.0+repack.orig/editors/sc-ide/widgets/code_editor/sc_editor.cpp
+++ supercollider-3.10.0+repack/editors/sc-ide/widgets/code_editor/sc_editor.cpp
@@ -22,20 +22,22 @@
 #include "autocompleter.hpp"
 #include "line_indicator.hpp"
 #include "main_window.hpp"
-#include "help_browser.hpp"
 #include "../util/gui_utilities.hpp"
 #include "../../core/main.hpp"
 #include "../../core/doc_manager.hpp"
 #include "../../core/settings/manager.hpp"
 #include "../../core/settings/theme.hpp"
 
+#ifdef SC_USE_WEBENGINE
+#    include "help_browser.hpp"
+#endif // SC_USE_WEBENGINE
+
 #include "QtCollider/hacks/hacks_qt.hpp"
 
 #include <QKeyEvent>
 #include <QStack>
 #include <QMimeData>
 #include <QUrl>
-#include <QWebEngineView>
 
 namespace ScIDE {
 
Index: supercollider-3.10.0+repack/editors/sc-ide/widgets/main_window.cpp
===================================================================
--- supercollider-3.10.0+repack.orig/editors/sc-ide/widgets/main_window.cpp
+++ supercollider-3.10.0+repack/editors/sc-ide/widgets/main_window.cpp
@@ -30,7 +30,6 @@
 #include "multi_editor.hpp"
 #include "popup_text_input.hpp"
 #include "post_window.hpp"
-#include "help_browser.hpp"
 #include "session_switch_dialog.hpp"
 #include "sessions_dialog.hpp"
 #include "tool_box.hpp"
@@ -44,6 +43,10 @@
 #include "code_editor/sc_editor.hpp"
 #include "settings/dialog.hpp"
 
+#ifdef SC_USE_WEBENGINE
+#    include "help_browser.hpp"
+#endif // SC_USE_WEBENGINE
+
 #include "QtCollider/hacks/hacks_qt.hpp"
 
 #include "SC_Version.hpp"
Index: supercollider-3.10.0+repack/editors/sc-ide/widgets/style/style.cpp
===================================================================
--- supercollider-3.10.0+repack.orig/editors/sc-ide/widgets/style/style.cpp
+++ supercollider-3.10.0+repack/editors/sc-ide/widgets/style/style.cpp
@@ -32,7 +32,10 @@
 #include <QToolButton>
 #include <QLayout>
 #include <QDebug>
-#include <QWebEngineView>
+
+#ifdef SC_USE_WEBENGINE
+#    include <QWebEngineView>
+#endif // SC_USE_WEBENGINE
 
 namespace ScIDE {
 
@@ -71,6 +74,7 @@ void Style::drawComplexControl(ComplexCo
     }
 
     switch (control) {
+#ifdef SC_USE_WEBENGINE
     // FIXME: this is a workaround for the WebKit bug #104116 (or a variation on it).
     case QStyle::CC_ScrollBar: {
         if (qobject_cast<const QWebEngineView*>(widget) != 0 && option->type == QStyleOption::SO_Slider) {
@@ -83,6 +87,7 @@ void Style::drawComplexControl(ComplexCo
             return;
         }
     }
+#endif // SC_USE_WEBENGINE
     case QStyle::CC_ToolButton: {
         // TODO: We only draw either text, or icon, or arrow
 
Index: supercollider-3.10.0+repack/editors/sc-ide/widgets/util/WebSocketTransport.cpp
===================================================================
--- supercollider-3.10.0+repack.orig/editors/sc-ide/widgets/util/WebSocketTransport.cpp
+++ supercollider-3.10.0+repack/editors/sc-ide/widgets/util/WebSocketTransport.cpp
@@ -48,10 +48,12 @@
     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-#include "WebSocketTransport.hpp"
+#ifdef SC_USE_WEBENGINE
 
-#include <QJsonDocument>
-#include <QWebSocket>
+#    include "WebSocketTransport.hpp"
+
+#    include <QJsonDocument>
+#    include <QWebSocket>
 
 namespace ScIDE {
 
@@ -85,3 +87,5 @@ void WebSocketTransport::textMessageRece
 }
 
 } // namespace ScIDE
+
+#endif // SC_USE_WEBENGINE
