From 35c7a5a1732c7fb2d2ef2e1d1782930a4dc53b87 Mon Sep 17 00:00:00 2001 From: PatTheMav Date: Mon, 1 Jun 2026 18:59:35 +0200 Subject: [PATCH] cmake: Fix frontend feature flag mismatch The actual frontend provided an "ENABLE_FRONTEND" build flag, whereas the global project still provided an "ENABLE_UI" flag, which itself was only read and respected by the scripting module. This change retains the global flag and makes both the actual frontend as well as the scripting module respect its value. --- CMakeLists.txt | 2 +- frontend/CMakeLists.txt | 2 -- shared/obs-scripting/CMakeLists.txt | 4 ++-- shared/obs-scripting/cmake/lua.cmake | 2 +- shared/obs-scripting/cmake/python.cmake | 2 +- shared/obs-scripting/obs-scripting-config.h.in | 2 +- shared/obs-scripting/obs-scripting-lua.c | 4 ++-- shared/obs-scripting/obslua/CMakeLists.txt | 6 +++--- shared/obs-scripting/obslua/obslua.i | 4 ++-- shared/obs-scripting/obspython/CMakeLists.txt | 6 +++--- shared/obs-scripting/obspython/obspython.i | 4 ++-- 11 files changed, 18 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4af6f90b7..7ae561131 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,7 +15,7 @@ include(compilerconfig) include(defaults) include(helpers) -option(ENABLE_UI "Enable building with UI (requires Qt)" ON) +option(ENABLE_FRONTEND "Enable building with UI (requires Qt)" ON) option(ENABLE_SCRIPTING "Enable scripting support" ON) option(ENABLE_HEVC "Enable HEVC encoders" ON) diff --git a/frontend/CMakeLists.txt b/frontend/CMakeLists.txt index 6f677d4fe..7685d465e 100644 --- a/frontend/CMakeLists.txt +++ b/frontend/CMakeLists.txt @@ -2,8 +2,6 @@ cmake_minimum_required(VERSION 3.28...3.30) add_subdirectory(api) -option(ENABLE_FRONTEND "Enable building with UI frontend (requires Qt6)" ON) - if(NOT ENABLE_FRONTEND) target_disable_feature(obs "User Interface") return() diff --git a/shared/obs-scripting/CMakeLists.txt b/shared/obs-scripting/CMakeLists.txt index c609c257b..a747b6f09 100644 --- a/shared/obs-scripting/CMakeLists.txt +++ b/shared/obs-scripting/CMakeLists.txt @@ -30,7 +30,7 @@ target_sources( target_compile_definitions( obs-scripting - PRIVATE SCRIPT_DIR="${OBS_SCRIPT_PLUGIN_PATH}" $<$:ENABLE_UI> + PRIVATE SCRIPT_DIR="${OBS_SCRIPT_PLUGIN_PATH}" $<$:ENABLE_FRONTEND> ) target_include_directories(obs-scripting PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") @@ -40,7 +40,7 @@ target_link_libraries( PRIVATE OBS::libobs OBS::cstrcache - $<$:OBS::frontend-api> + $<$:OBS::frontend-api> $<$:OBS::w32-pthreads> $<$:objc> ) diff --git a/shared/obs-scripting/cmake/lua.cmake b/shared/obs-scripting/cmake/lua.cmake index e7e8147e2..0a67adfae 100644 --- a/shared/obs-scripting/cmake/lua.cmake +++ b/shared/obs-scripting/cmake/lua.cmake @@ -19,7 +19,7 @@ if(ENABLE_SCRIPTING_LUA) target_sources( obs-scripting PRIVATE - $<$:obs-scripting-lua-frontend.c> + $<$:obs-scripting-lua-frontend.c> obs-scripting-lua-source.c obs-scripting-lua.c obs-scripting-lua.h diff --git a/shared/obs-scripting/cmake/python.cmake b/shared/obs-scripting/cmake/python.cmake index 5ea5fda77..cb75a3dc9 100644 --- a/shared/obs-scripting/cmake/python.cmake +++ b/shared/obs-scripting/cmake/python.cmake @@ -27,7 +27,7 @@ if(ENABLE_SCRIPTING_PYTHON) target_sources( obs-scripting PRIVATE - $<$:obs-scripting-python-frontend.c> + $<$:obs-scripting-python-frontend.c> $<$:obs-scripting-python-import.c> obs-scripting-python-import.h obs-scripting-python.c diff --git a/shared/obs-scripting/obs-scripting-config.h.in b/shared/obs-scripting/obs-scripting-config.h.in index 09bb9da0b..e4e42f4fd 100644 --- a/shared/obs-scripting/obs-scripting-config.h.in +++ b/shared/obs-scripting/obs-scripting-config.h.in @@ -26,4 +26,4 @@ #define SCRIPT_DIR "@OBS_SCRIPT_PLUGIN_PATH@" #define PYTHON_LIB "@OBS_SCRIPT_PYTHON_PATH@" -#define UI_ENABLED @ENABLE_UI@ +#define UI_ENABLED @ENABLE_FRONTEND@ diff --git a/shared/obs-scripting/obs-scripting-lua.c b/shared/obs-scripting/obs-scripting-lua.c index 912b128bf..28e3141dc 100644 --- a/shared/obs-scripting/obs-scripting-lua.c +++ b/shared/obs-scripting/obs-scripting-lua.c @@ -72,7 +72,7 @@ static void add_hook_functions(lua_State *script); static int obs_lua_remove_tick_callback(lua_State *script); static int obs_lua_remove_main_render_callback(lua_State *script); -#ifdef ENABLE_UI +#ifdef ENABLE_FRONTEND void add_lua_frontend_funcs(lua_State *script); #endif @@ -112,7 +112,7 @@ static bool load_lua_script(struct obs_lua_script *data) add_lua_source_functions(script); add_hook_functions(script); -#ifdef ENABLE_UI +#ifdef ENABLE_FRONTEND add_lua_frontend_funcs(script); #endif diff --git a/shared/obs-scripting/obslua/CMakeLists.txt b/shared/obs-scripting/obslua/CMakeLists.txt index 3e617f43c..1f06a9059 100644 --- a/shared/obs-scripting/obslua/CMakeLists.txt +++ b/shared/obs-scripting/obslua/CMakeLists.txt @@ -33,12 +33,12 @@ target_compile_options( target_compile_definitions( obslua - PRIVATE SWIG_TYPE_TABLE=obslua SWIG_LUA_INTERPRETER_NO_DEBUG $<$:ENABLE_UI> + PRIVATE SWIG_TYPE_TABLE=obslua SWIG_LUA_INTERPRETER_NO_DEBUG $<$:ENABLE_FRONTEND> ) target_link_libraries( obslua - PRIVATE OBS::cstrcache OBS::libobs OBS::scripting Luajit::Luajit $<$:OBS::frontend-api> + PRIVATE OBS::cstrcache OBS::libobs OBS::scripting Luajit::Luajit $<$:OBS::frontend-api> ) set_property( @@ -48,7 +48,7 @@ set_property( SWIG_COMPILE_DEFINITIONS "SWIG_TYPE_TABLE=obslua" "SWIG_LUA_INTERPRETER_NO_DEBUG" - "$<$:ENABLE_UI>" + "$<$:ENABLE_FRONTEND>" ) set_target_properties_obs(obslua PROPERTIES FOLDER scripting XCODE_ATTRIBUTE_STRIP_STYLE non-global) diff --git a/shared/obs-scripting/obslua/obslua.i b/shared/obs-scripting/obslua/obslua.i index dcd08057a..f246da4d4 100644 --- a/shared/obs-scripting/obslua/obslua.i +++ b/shared/obs-scripting/obslua/obslua.i @@ -26,7 +26,7 @@ #include #include -#if defined(ENABLE_UI) +#if defined(ENABLE_FRONTEND) #include "obs-frontend-api.h" #endif @@ -106,6 +106,6 @@ static inline void wrap_blog(int log_level, const char *message) %include "util/platform.h" %include "util/config-file.h" -#if defined(ENABLE_UI) +#if defined(ENABLE_FRONTEND) %include "obs-frontend-api.h" #endif diff --git a/shared/obs-scripting/obspython/CMakeLists.txt b/shared/obs-scripting/obspython/CMakeLists.txt index 28266ca47..ad6396683 100644 --- a/shared/obs-scripting/obspython/CMakeLists.txt +++ b/shared/obs-scripting/obspython/CMakeLists.txt @@ -58,7 +58,7 @@ target_compile_definitions( SWIG_TYPE_TABLE=obspython Py_ENABLE_SHARED=1 SWIG_PYTHON_INTERPRETER_NO_DEBUG - $<$:ENABLE_UI> + $<$:ENABLE_FRONTEND> ) target_link_libraries( @@ -67,7 +67,7 @@ target_link_libraries( OBS::cstrcache OBS::libobs OBS::scripting - $<$:OBS::frontend-api> + $<$:OBS::frontend-api> $<$>:Python::Python> ) @@ -92,7 +92,7 @@ set_property( "SWIG_TYPE_TABLE=obspython" "Py_ENABLE_SHARED=1" "SWIG_PYTHON_INTERPRETER_NO_DEBUG" - "$<$:ENABLE_UI>" + "$<$:ENABLE_FRONTEND>" "$<$:MS_NO_COREDLL>" ) diff --git a/shared/obs-scripting/obspython/obspython.i b/shared/obs-scripting/obspython/obspython.i index 506af53c5..826b3ef27 100644 --- a/shared/obs-scripting/obspython/obspython.i +++ b/shared/obs-scripting/obspython/obspython.i @@ -27,7 +27,7 @@ #include #include -#if defined(ENABLE_UI) +#if defined(ENABLE_FRONTEND) #include "obs-frontend-api.h" #endif @@ -128,7 +128,7 @@ static inline void wrap_blog(int log_level, const char *message) %include "util/platform.h" %include "util/config-file.h" -#if defined(ENABLE_UI) +#if defined(ENABLE_FRONTEND) %include "obs-frontend-api.h" #endif