mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
This change fixes the RUNPATH of installed c++ tests so that the linker can find the shared libraries they depend on. For example, currently: ```bash venv/lib/python3.10/site-packages/torch $ ./bin/test_lazy ./bin/test_lazy: error while loading shared libraries: libtorch.so: cannot open shared object file: No such file or directory ``` Pull Request resolved: https://github.com/pytorch/pytorch/pull/136627 Approved by: https://github.com/malfet
20 lines
759 B
CMake
20 lines
759 B
CMake
# ---[ Test binaries.
|
|
|
|
file(GLOB_RECURSE C10_ALL_TEST_FILES *_test.cpp)
|
|
if(BUILD_TEST)
|
|
foreach(test_src ${C10_ALL_TEST_FILES})
|
|
get_filename_component(test_file_name ${test_src} NAME_WE)
|
|
set(test_name "c10_${test_file_name}")
|
|
add_executable(${test_name} "${test_src}")
|
|
if(NOT MSVC)
|
|
target_compile_options(${test_name} PRIVATE -Wno-unused-variable)
|
|
endif()
|
|
target_link_libraries(${test_name} ${C10_LIB} gmock gtest gtest_main)
|
|
add_test(NAME ${test_name} COMMAND $<TARGET_FILE:${test_name}>)
|
|
if(INSTALL_TEST)
|
|
set_target_properties(${test_name} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_RPATH}:${_rpath_portable_origin}/../lib")
|
|
install(TARGETS ${test_name} DESTINATION test)
|
|
endif()
|
|
endforeach()
|
|
endif()
|