mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 04:42:18 +02:00
deps/obs-scripting: Fix installed files/locations on linux
Uses the 'install' command in cmake to install scripting modules/files (such as _obspython.so, obslua.so, and obspython.py), and changes the install location of those files on all operating systems. If using a non-unix structure install, those files will be installed in data/obs-scripting/[32bit/64bit], otherwise with unix structure installs those files will be installed to [/usr/local/lib]/obs-scripting.
This commit is contained in:
parent
17d2a17f9e
commit
db2d4c97e8
@ -60,6 +60,8 @@ if(NOT UNIX_STRUCTURE)
|
||||
set(OBS_DATA_PATH "../${OBS_DATA_DESTINATION}")
|
||||
set(OBS_INSTALL_PREFIX "")
|
||||
set(OBS_RELATIVE_PREFIX "../")
|
||||
|
||||
set(OBS_SCRIPT_PLUGIN_DESTINATION "${OBS_DATA_DESTINATION}/obs-scripting/${_lib_suffix}bit")
|
||||
else()
|
||||
set(OBS_EXECUTABLE_DESTINATION "bin/${_lib_suffix}bit")
|
||||
set(OBS_EXECUTABLE32_DESTINATION "bin/32bit")
|
||||
@ -74,10 +76,14 @@ if(NOT UNIX_STRUCTURE)
|
||||
set(OBS_DATA_PATH "../../${OBS_DATA_DESTINATION}")
|
||||
set(OBS_INSTALL_PREFIX "")
|
||||
set(OBS_RELATIVE_PREFIX "../../")
|
||||
|
||||
set(OBS_SCRIPT_PLUGIN_DESTINATION "${OBS_DATA_DESTINATION}/obs-scripting/${_lib_suffix}bit")
|
||||
endif()
|
||||
set(OBS_CMAKE_DESTINATION "cmake")
|
||||
set(OBS_INCLUDE_DESTINATION "include")
|
||||
set(OBS_UNIX_STRUCTURE "0")
|
||||
|
||||
set(OBS_SCRIPT_PLUGIN_PATH "${OBS_RELATIVE_PREFIX}${OBS_SCRIPT_PLUGIN_DESTINATION}")
|
||||
else()
|
||||
if(NOT OBS_MULTIARCH_SUFFIX AND DEFINED ENV{OBS_MULTIARCH_SUFFIX})
|
||||
set(OBS_MULTIARCH_SUFFIX "$ENV{OBS_MULTIARCH_SUFFIX}")
|
||||
@ -100,6 +106,9 @@ else()
|
||||
set(OBS_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/")
|
||||
set(OBS_RELATIVE_PREFIX "../")
|
||||
set(OBS_UNIX_STRUCTURE "1")
|
||||
|
||||
set(OBS_SCRIPT_PLUGIN_DESTINATION "${OBS_LIBRARY_DESTINATION}/obs-scripting")
|
||||
set(OBS_SCRIPT_PLUGIN_PATH "${OBS_INSTALL_PREFIX}${OBS_SCRIPT_PLUGIN_DESTINATION}")
|
||||
endif()
|
||||
|
||||
function(obs_finish_bundle)
|
||||
|
1
deps/obs-scripting/obs-scripting-config.h.in
vendored
1
deps/obs-scripting/obs-scripting-config.h.in
vendored
@ -16,6 +16,7 @@
|
||||
#define OFF 0
|
||||
#endif
|
||||
|
||||
#define SCRIPT_DIR "@OBS_SCRIPT_PLUGIN_PATH@"
|
||||
#define PYTHON_LIB "@PYTHON_LIB@"
|
||||
#define COMPILE_LUA @LUAJIT_FOUND@
|
||||
#define COMPILE_PYTHON @PYTHON_FOUND@
|
||||
|
15
deps/obs-scripting/obs-scripting-lua.c
vendored
15
deps/obs-scripting/obs-scripting-lua.c
vendored
@ -31,12 +31,20 @@
|
||||
# define ARCH_DIR "32bit"
|
||||
#endif
|
||||
|
||||
#ifdef __APPLE__
|
||||
# define SO_EXT "dylib"
|
||||
#elif _WIN32
|
||||
# define SO_EXT "dll"
|
||||
#else
|
||||
# define SO_EXT "so"
|
||||
#endif
|
||||
|
||||
static const char *startup_script_template = "\
|
||||
for val in pairs(package.preload) do\n\
|
||||
package.preload[val] = nil\n\
|
||||
end\n\
|
||||
require \"obslua\"\n\
|
||||
package.path = package.path .. \"%s\"\n";
|
||||
package.cpath = package.cpath .. \";\" .. \"%s\" .. \"/?." SO_EXT "\"\n\
|
||||
require \"obslua\"\n";
|
||||
|
||||
static const char *get_script_path_func = "\
|
||||
function script_path()\n\
|
||||
@ -1267,8 +1275,7 @@ void obs_lua_load(void)
|
||||
/* ---------------------------------------------- */
|
||||
/* Initialize Lua startup script */
|
||||
|
||||
dstr_printf(&tmp, startup_script_template,
|
||||
dep_paths.array);
|
||||
dstr_printf(&tmp, startup_script_template, SCRIPT_DIR);
|
||||
startup_script = tmp.array;
|
||||
|
||||
dstr_free(&dep_paths);
|
||||
|
2
deps/obs-scripting/obs-scripting-python.c
vendored
2
deps/obs-scripting/obs-scripting-python.c
vendored
@ -1649,6 +1649,8 @@ bool obs_scripting_load_python(const char *python_path)
|
||||
/* ---------------------------------------------- */
|
||||
/* Load main interface module */
|
||||
|
||||
add_to_python_path(SCRIPT_DIR);
|
||||
|
||||
py_obspython = PyImport_ImportModule("obspython");
|
||||
bool success = !py_error();
|
||||
if (!success) {
|
||||
|
5
deps/obs-scripting/obslua/CMakeLists.txt
vendored
5
deps/obs-scripting/obslua/CMakeLists.txt
vendored
@ -31,10 +31,13 @@ function(install_plugin_bin_swig target additional_target)
|
||||
set_target_properties(${additional_target} PROPERTIES
|
||||
PREFIX "")
|
||||
|
||||
install(TARGETS "${additional_target}"
|
||||
LIBRARY DESTINATION "${OBS_SCRIPT_PLUGIN_DESTINATION}")
|
||||
|
||||
add_custom_command(TARGET ${additional_target} POST_BUILD
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy
|
||||
"$<TARGET_FILE:${additional_target}>"
|
||||
"${OBS_OUTPUT_DIR}/$<CONFIGURATION>/bin/${_bit_suffix}$<TARGET_FILE_NAME:${additional_target}>"
|
||||
"${OBS_OUTPUT_DIR}/$<CONFIGURATION>/data/obs-scripting/${_bit_suffix}$<TARGET_FILE_NAME:${additional_target}>"
|
||||
VERBATIM)
|
||||
endfunction()
|
||||
|
||||
|
9
deps/obs-scripting/obspython/CMakeLists.txt
vendored
9
deps/obs-scripting/obspython/CMakeLists.txt
vendored
@ -45,15 +45,20 @@ function(install_plugin_bin_swig target additional_target)
|
||||
set_target_properties(${additional_target} PROPERTIES
|
||||
PREFIX "")
|
||||
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/obspython.py"
|
||||
DESTINATION "${OBS_SCRIPT_PLUGIN_DESTINATION}")
|
||||
install(TARGETS "${additional_target}"
|
||||
LIBRARY DESTINATION "${OBS_SCRIPT_PLUGIN_DESTINATION}")
|
||||
|
||||
add_custom_command(TARGET ${additional_target} POST_BUILD
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/obspython.py"
|
||||
"${OBS_OUTPUT_DIR}/$<CONFIGURATION>/bin/${_bit_suffix}/obspython.py"
|
||||
"${OBS_OUTPUT_DIR}/$<CONFIGURATION>/data/obs-scripting/${_bit_suffix}/obspython.py"
|
||||
VERBATIM)
|
||||
add_custom_command(TARGET ${additional_target} POST_BUILD
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy
|
||||
"$<TARGET_FILE:${additional_target}>"
|
||||
"${OBS_OUTPUT_DIR}/$<CONFIGURATION>/bin/${_bit_suffix}$<TARGET_FILE_NAME:${additional_target}>"
|
||||
"${OBS_OUTPUT_DIR}/$<CONFIGURATION>/data/obs-scripting/${_bit_suffix}$<TARGET_FILE_NAME:${additional_target}>"
|
||||
VERBATIM)
|
||||
endfunction()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user