Skip to content

Commit 9237e85

Browse files
make portable linux .so files
1 parent 692eb73 commit 9237e85

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

CMakeLists.txt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,14 @@ set_target_properties(${LIBNAME}
8888
OUTPUT_NAME "${LIBNAME}${GODOTCPP_SUFFIX}"
8989
)
9090

91+
if (LINUX)
92+
# hardcode ./ and ./bin/linux and ./addons/godot-orbbec/bin/linux in the rpath
93+
# to make sure the .so can find the orbbecsdk.so file in the most likely places
94+
set_target_properties(${LIBNAME} PROPERTIES LINK_FLAGS "-Wl,-rpath,./bin/linux -Wl,-rpath,./ -Wl,-rpath,./addons/godot-orbbec/bin/linux")
95+
endif()
96+
9197
set(GODOT_PROJECT_BINARY_DIR "${PROJECT_SOURCE_DIR}/${GODOT_PROJECT_DIR}/bin/${GODOTCPP_PLATFORM}")
98+
set(BINARY_DIR "${PROJECT_SOURCE_DIR}/bin/${GODOTCPP_PLATFORM}")
9299

93100
add_custom_command(TARGET ${LIBNAME} POST_BUILD
94101
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:${LIBNAME}>" "${GODOT_PROJECT_BINARY_DIR}/$<TARGET_FILE_NAME:${LIBNAME}>"
@@ -97,8 +104,19 @@ add_custom_command(TARGET ${LIBNAME} POST_BUILD
97104
if (WIN32)
98105
# fetch OrbbecSDK.dll when compiling under windows.
99106
add_custom_command(TARGET ${LIBNAME} POST_BUILD
100-
# COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE_DIR:${LIBNAME}>/OrbbecSDK.dll" "${GODOT_PROJECT_BINARY_DIR}/OrbbecSDK.dll"
101107
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:OrbbecSDK>" "${GODOT_PROJECT_BINARY_DIR}/OrbbecSDK.dll"
102108
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:OrbbecSDK>" "$<TARGET_FILE_DIR:${LIBNAME}>/OrbbecSDK.dll"
103109
)
104110
endif()
111+
112+
if (LINUX)
113+
# fetch libOrbbecSDK.dll when compiling under windows.
114+
add_custom_command(TARGET ${LIBNAME} POST_BUILD
115+
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:OrbbecSDK>" "${GODOT_PROJECT_BINARY_DIR}/libOrbbecSDK.so.2.5.5"
116+
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:OrbbecSDK>" "${GODOT_PROJECT_BINARY_DIR}/libOrbbecSDK.so.2"
117+
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:OrbbecSDK>" "${GODOT_PROJECT_BINARY_DIR}/libOrbbecSDK.so"
118+
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:OrbbecSDK>" "${BINARY_DIR}/libOrbbecSDK.so.2.5.5"
119+
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:OrbbecSDK>" "${BINARY_DIR}/libOrbbecSDK.so.2"
120+
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:OrbbecSDK>" "${BINARY_DIR}/libOrbbecSDK.so"
121+
)
122+
endif()

0 commit comments

Comments
 (0)