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_DATA_PATH "../${OBS_DATA_DESTINATION}")
|
||||||
set(OBS_INSTALL_PREFIX "")
|
set(OBS_INSTALL_PREFIX "")
|
||||||
set(OBS_RELATIVE_PREFIX "../")
|
set(OBS_RELATIVE_PREFIX "../")
|
||||||
|
|
||||||
|
set(OBS_SCRIPT_PLUGIN_DESTINATION "${OBS_DATA_DESTINATION}/obs-scripting/${_lib_suffix}bit")
|
||||||
else()
|
else()
|
||||||
set(OBS_EXECUTABLE_DESTINATION "bin/${_lib_suffix}bit")
|
set(OBS_EXECUTABLE_DESTINATION "bin/${_lib_suffix}bit")
|
||||||
set(OBS_EXECUTABLE32_DESTINATION "bin/32bit")
|
set(OBS_EXECUTABLE32_DESTINATION "bin/32bit")
|
||||||
@ -74,10 +76,14 @@ if(NOT UNIX_STRUCTURE)
|
|||||||
set(OBS_DATA_PATH "../../${OBS_DATA_DESTINATION}")
|
set(OBS_DATA_PATH "../../${OBS_DATA_DESTINATION}")
|
||||||
set(OBS_INSTALL_PREFIX "")
|
set(OBS_INSTALL_PREFIX "")
|
||||||
set(OBS_RELATIVE_PREFIX "../../")
|
set(OBS_RELATIVE_PREFIX "../../")
|
||||||
|
|
||||||
|
set(OBS_SCRIPT_PLUGIN_DESTINATION "${OBS_DATA_DESTINATION}/obs-scripting/${_lib_suffix}bit")
|
||||||
endif()
|
endif()
|
||||||
set(OBS_CMAKE_DESTINATION "cmake")
|
set(OBS_CMAKE_DESTINATION "cmake")
|
||||||
set(OBS_INCLUDE_DESTINATION "include")
|
set(OBS_INCLUDE_DESTINATION "include")
|
||||||
set(OBS_UNIX_STRUCTURE "0")
|
set(OBS_UNIX_STRUCTURE "0")
|
||||||
|
|
||||||
|
set(OBS_SCRIPT_PLUGIN_PATH "${OBS_RELATIVE_PREFIX}${OBS_SCRIPT_PLUGIN_DESTINATION}")
|
||||||
else()
|
else()
|
||||||
if(NOT OBS_MULTIARCH_SUFFIX AND DEFINED ENV{OBS_MULTIARCH_SUFFIX})
|
if(NOT OBS_MULTIARCH_SUFFIX AND DEFINED ENV{OBS_MULTIARCH_SUFFIX})
|
||||||
set(OBS_MULTIARCH_SUFFIX "$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_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/")
|
||||||
set(OBS_RELATIVE_PREFIX "../")
|
set(OBS_RELATIVE_PREFIX "../")
|
||||||
set(OBS_UNIX_STRUCTURE "1")
|
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()
|
endif()
|
||||||
|
|
||||||
function(obs_finish_bundle)
|
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
|
#define OFF 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define SCRIPT_DIR "@OBS_SCRIPT_PLUGIN_PATH@"
|
||||||
#define PYTHON_LIB "@PYTHON_LIB@"
|
#define PYTHON_LIB "@PYTHON_LIB@"
|
||||||
#define COMPILE_LUA @LUAJIT_FOUND@
|
#define COMPILE_LUA @LUAJIT_FOUND@
|
||||||
#define COMPILE_PYTHON @PYTHON_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"
|
# define ARCH_DIR "32bit"
|
||||||
#endif
|
#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 = "\
|
static const char *startup_script_template = "\
|
||||||
for val in pairs(package.preload) do\n\
|
for val in pairs(package.preload) do\n\
|
||||||
package.preload[val] = nil\n\
|
package.preload[val] = nil\n\
|
||||||
end\n\
|
end\n\
|
||||||
require \"obslua\"\n\
|
package.cpath = package.cpath .. \";\" .. \"%s\" .. \"/?." SO_EXT "\"\n\
|
||||||
package.path = package.path .. \"%s\"\n";
|
require \"obslua\"\n";
|
||||||
|
|
||||||
static const char *get_script_path_func = "\
|
static const char *get_script_path_func = "\
|
||||||
function script_path()\n\
|
function script_path()\n\
|
||||||
@ -1267,8 +1275,7 @@ void obs_lua_load(void)
|
|||||||
/* ---------------------------------------------- */
|
/* ---------------------------------------------- */
|
||||||
/* Initialize Lua startup script */
|
/* Initialize Lua startup script */
|
||||||
|
|
||||||
dstr_printf(&tmp, startup_script_template,
|
dstr_printf(&tmp, startup_script_template, SCRIPT_DIR);
|
||||||
dep_paths.array);
|
|
||||||
startup_script = tmp.array;
|
startup_script = tmp.array;
|
||||||
|
|
||||||
dstr_free(&dep_paths);
|
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 */
|
/* Load main interface module */
|
||||||
|
|
||||||
|
add_to_python_path(SCRIPT_DIR);
|
||||||
|
|
||||||
py_obspython = PyImport_ImportModule("obspython");
|
py_obspython = PyImport_ImportModule("obspython");
|
||||||
bool success = !py_error();
|
bool success = !py_error();
|
||||||
if (!success) {
|
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
|
set_target_properties(${additional_target} PROPERTIES
|
||||||
PREFIX "")
|
PREFIX "")
|
||||||
|
|
||||||
|
install(TARGETS "${additional_target}"
|
||||||
|
LIBRARY DESTINATION "${OBS_SCRIPT_PLUGIN_DESTINATION}")
|
||||||
|
|
||||||
add_custom_command(TARGET ${additional_target} POST_BUILD
|
add_custom_command(TARGET ${additional_target} POST_BUILD
|
||||||
COMMAND "${CMAKE_COMMAND}" -E copy
|
COMMAND "${CMAKE_COMMAND}" -E copy
|
||||||
"$<TARGET_FILE:${additional_target}>"
|
"$<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)
|
VERBATIM)
|
||||||
endfunction()
|
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
|
set_target_properties(${additional_target} PROPERTIES
|
||||||
PREFIX "")
|
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
|
add_custom_command(TARGET ${additional_target} POST_BUILD
|
||||||
COMMAND "${CMAKE_COMMAND}" -E copy
|
COMMAND "${CMAKE_COMMAND}" -E copy
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/obspython.py"
|
"${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)
|
VERBATIM)
|
||||||
add_custom_command(TARGET ${additional_target} POST_BUILD
|
add_custom_command(TARGET ${additional_target} POST_BUILD
|
||||||
COMMAND "${CMAKE_COMMAND}" -E copy
|
COMMAND "${CMAKE_COMMAND}" -E copy
|
||||||
"$<TARGET_FILE:${additional_target}>"
|
"$<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)
|
VERBATIM)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user