Skip to content

Commit d2ee246

Browse files
Copilotdellaert
andcommitted
Fix Ubuntu CI: Add library path for python-stubs target
Co-authored-by: dellaert <10515273+dellaert@users.noreply.github.com>
1 parent fabb347 commit d2ee246

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

python/CMakeLists.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,23 @@ endif()
5555
set(GTD_PYTHON_INSTALL_EXTRA "")
5656
set(GTD_PYTHON_STUB_MODULE "${PROJECT_NAME}.${PROJECT_NAME}")
5757

58+
# Determine library path for stub generation
59+
# On Linux/Unix, we need LD_LIBRARY_PATH; on macOS, DYLD_LIBRARY_PATH
60+
get_target_property(GTSAM_LIBRARY_LOCATION gtsam LOCATION)
61+
get_filename_component(GTSAM_LIBRARY_DIR "${GTSAM_LIBRARY_LOCATION}" DIRECTORY)
62+
63+
if(APPLE)
64+
set(GTD_STUB_LIB_PATH_VAR "DYLD_LIBRARY_PATH")
65+
else()
66+
set(GTD_STUB_LIB_PATH_VAR "LD_LIBRARY_PATH")
67+
endif()
68+
5869
add_custom_target(
5970
python-stubs
6071
COMMAND
6172
${CMAKE_COMMAND} -E env
6273
"PYTHONPATH=${GTD_PYTHON_BINARY_DIR}${GTD_PATH_SEP}$ENV{PYTHONPATH}"
74+
"${GTD_STUB_LIB_PATH_VAR}=${GTSAM_LIBRARY_DIR}${GTD_PATH_SEP}${CMAKE_LIBRARY_OUTPUT_DIRECTORY}${GTD_PATH_SEP}$ENV{${GTD_STUB_LIB_PATH_VAR}}"
6375
${PYTHON_EXECUTABLE} -m pybind11_stubgen -o . --ignore-all-errors
6476
${GTD_PYTHON_STUB_MODULE}
6577
DEPENDS ${PROJECT_NAME}_py

0 commit comments

Comments
 (0)