2023-03-26 03:55:25 +02:00
|
|
|
option(ENABLE_SCRIPTING_LUA "Enable Lua scripting support" ON)
|
|
|
|
|
|
|
|
if(ENABLE_SCRIPTING_LUA)
|
|
|
|
add_subdirectory(obslua)
|
2023-10-02 22:41:59 +02:00
|
|
|
|
2023-03-26 03:55:25 +02:00
|
|
|
find_package(Luajit REQUIRED)
|
|
|
|
|
2023-10-02 22:41:59 +02:00
|
|
|
add_custom_command(
|
|
|
|
OUTPUT swig/swigluarun.h
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
PRE_BUILD
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory swig
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E env "SWIG_LIB=${SWIG_DIR}" ${SWIG_EXECUTABLE} -lua -external-runtime swig/swigluarun.h
|
|
|
|
COMMENT "obs-scripting - generating Luajit SWIG interface headers"
|
|
|
|
)
|
|
|
|
|
|
|
|
set_source_files_properties(swig/swigluarun.h PROPERTIES GENERATED TRUE)
|
2023-03-26 03:55:25 +02:00
|
|
|
|
2023-10-02 22:41:59 +02:00
|
|
|
target_sources(
|
|
|
|
obs-scripting
|
|
|
|
PRIVATE
|
|
|
|
$<$<BOOL:${ENABLE_UI}>:obs-scripting-lua-frontend.c>
|
|
|
|
obs-scripting-lua-source.c
|
|
|
|
obs-scripting-lua.c
|
|
|
|
obs-scripting-lua.h
|
|
|
|
swig/swigluarun.h
|
|
|
|
)
|
2023-03-26 03:55:25 +02:00
|
|
|
|
2023-10-02 22:41:59 +02:00
|
|
|
target_compile_definitions(obs-scripting PUBLIC LUAJIT_FOUND)
|
2023-03-26 03:55:25 +02:00
|
|
|
|
2023-10-02 22:41:59 +02:00
|
|
|
set_source_files_properties(
|
|
|
|
obs-scripting-lua.c
|
|
|
|
obs-scripting-lua-source.c
|
|
|
|
PROPERTIES COMPILE_OPTIONS $<$<COMPILE_LANG_AND_ID:C,AppleClang,Clang>:-Wno-error=shorten-64-to-32>
|
|
|
|
)
|
|
|
|
|
|
|
|
target_link_libraries(obs-scripting PRIVATE Luajit::Luajit)
|
|
|
|
else()
|
|
|
|
target_disable_feature(obs-scripting "Lua scripting support")
|
|
|
|
endif()
|