From 893d3ce218097f5bb479cd3edcf3be989f6cbb54 Mon Sep 17 00:00:00 2001 From: PatTheMav Date: Sat, 28 May 2022 18:22:40 +0200 Subject: [PATCH] obs-scripting: Fix missing frontend bindings for Lua The obslua.i file requires `ENABLE_UI` to be defined for the swig compiler to pull in the actual obs-frontend-api header. If this is not the case, swig will not discover the required methods and ENUMs and in turn will not make those available in the scripting environment. --- deps/obs-scripting/obslua/CMakeLists.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/deps/obs-scripting/obslua/CMakeLists.txt b/deps/obs-scripting/obslua/CMakeLists.txt index 6e65da835..9ee23cf86 100644 --- a/deps/obs-scripting/obslua/CMakeLists.txt +++ b/deps/obs-scripting/obslua/CMakeLists.txt @@ -30,9 +30,8 @@ swig_add_library( target_link_libraries(obslua PRIVATE OBS::scripting OBS::libobs Luajit::Luajit) -set_target_properties( - obslua PROPERTIES SWIG_COMPILE_DEFINITIONS - "SWIG_TYPE_TABLE=obslua;SWIG_LUA_INTERPRETER_NO_DEBUG") +list(APPEND _SWIG_DEFINITIONS "SWIG_TYPE_TABLE=obslua" + "SWIG_LUA_INTERPRETER_NO_DEBUG") set_target_properties( obslua @@ -44,11 +43,15 @@ target_compile_definitions(obslua PRIVATE SWIG_TYPE_TABLE=obslua SWIG_LUA_INTERPRETER_NO_DEBUG) if(ENABLE_UI) + list(APPEND _SWIG_DEFINITIONS "ENABLE_UI") target_link_libraries(obslua PRIVATE OBS::frontend-api) target_compile_definitions(obslua PRIVATE ENABLE_UI) endif() +set_target_properties(obslua PROPERTIES SWIG_COMPILE_DEFINITIONS + "${_SWIG_DEFINITIONS}") + if(OS_WINDOWS) if(MSVC) target_compile_options(obslua PRIVATE /wd4054 /wd4197 /wd4244 /wd4267)