Переглянути джерело

Merge pull request #1759 from cg2121/enable-linux-browser

obs-browser: Enable Linux support
Jim 5 роки тому
батько
коміт
535e94dc0e

+ 1 - 1
CI/before-script-linux.sh

@@ -8,4 +8,4 @@ fi
 set -ex
 ccache -s || echo "CCache is not available."
 mkdir build && cd build
-cmake -DBUILD_CAPTIONS=ON ..
+cmake -DBUILD_CAPTIONS=ON -DBUILD_BROWSER=ON -DCEF_ROOT_DIR="../cef_binary_${CEF_BUILD_VERSION}_linux64" ..

+ 4 - 0
CI/install-dependencies-linux.sh

@@ -54,3 +54,7 @@ sudo apt-get install -y \
         libqt5svg5-dev \
         swig \
         clang-format-8
+
+# build cef
+wget --quiet --retry-connrefused --waitretry=1 https://cdn-fastly.obsproject.com/downloads/cef_binary_${CEF_BUILD_VERSION}_linux64.tar.bz2
+tar -xjf ./cef_binary_${CEF_BUILD_VERSION}_linux64.tar.bz2

+ 4 - 0
UI/obs-app.cpp

@@ -1763,6 +1763,10 @@ static int run_program(fstream &logFile, int argc, char *argv[])
 	QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
 #endif
 
+#if !defined(_WIN32) && !defined(__APPLE__) && BROWSER_AVAILABLE
+	setenv("QT_NO_GLIB", "1", true);
+#endif
+
 	QCoreApplication::addLibraryPath(".");
 
 #if __APPLE__

+ 2 - 1
UI/window-basic-main.cpp

@@ -1724,7 +1724,8 @@ void OBSBasic::OBSInit()
 	if (cef) {
 		QAction *action = new QAction(QTStr("Basic.MainMenu."
 						    "View.Docks."
-						    "CustomBrowserDocks"));
+						    "CustomBrowserDocks"),
+					      this);
 		ui->viewMenuDocks->insertAction(ui->toggleScenes, action);
 		connect(action, &QAction::triggered, this,
 			&OBSBasic::ManageExtraBrowserDocks);

+ 10 - 10
plugins/CMakeLists.txt

@@ -48,20 +48,20 @@ elseif("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD")
 	add_subdirectory(linux-jack)
 endif()
 
-if(WIN32 OR APPLE)
-	option(BUILD_BROWSER "Build browser plugin" OFF)
-	if (BUILD_BROWSER)
-		if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/obs-browser/CMakeLists.txt")
-			add_subdirectory(obs-browser)
-			set(BROWSER_AVAILABLE_INTERNAL ON CACHE BOOL "Internal global cmake variable" FORCE)
-		else()
-			message(STATUS "obs-browser submodule not found!  Please fetch submodules.  obs-browser plugin disabled.")
-			set(BROWSER_AVAILABLE_INTERNAL OFF CACHE BOOL "Internal global cmake variable" FORCE)
-		endif()
+option(BUILD_BROWSER "Build browser plugin" OFF)
+if (BUILD_BROWSER)
+	if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/obs-browser/CMakeLists.txt")
+		add_subdirectory(obs-browser)
+		set(BROWSER_AVAILABLE_INTERNAL ON CACHE BOOL "Internal global cmake variable" FORCE)
 	else()
+		message(STATUS "obs-browser submodule not found!  Please fetch submodules.  obs-browser plugin disabled.")
 		set(BROWSER_AVAILABLE_INTERNAL OFF CACHE BOOL "Internal global cmake variable" FORCE)
 	endif()
+else()
+	set(BROWSER_AVAILABLE_INTERNAL OFF CACHE BOOL "Internal global cmake variable" FORCE)
+endif()
 
+if(WIN32 OR APPLE)
 	if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/obs-vst/CMakeLists.txt")
 		add_subdirectory(obs-vst)
 	else()