Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 000c1e2a authored by hhakim's avatar hhakim
Browse files

Fix symlink loop on gpu_mod shared library which occurs if cmake is ran two times in a row.

parent 9fe5e789
No related branches found
No related tags found
No related merge requests found
Pipeline #834108 skipped
......@@ -725,11 +725,14 @@ if(USE_GPU_MOD)
endif()
foreach(CUDA_CONF IN LISTS CUDA_VERSIONS)
string(REGEX REPLACE "\\." "-${CUDA_CONF}." GPU_MOD_LIB_CUDA_CONF ${GPU_MOD_LIB})
file(COPY ${GPU_MOD_INCLUDE_DIR}/../build-${CUDA_CONF}/${GPU_MOD_LIB} DESTINATION ${PROJECT_BINARY_DIR})
file(RENAME ${PROJECT_BINARY_DIR}/${GPU_MOD_LIB} ${GPU_MOD_INCLUDE_DIR}/../build-${CUDA_CONF}/${GPU_MOD_LIB_CUDA_CONF})
if (CUDA_CONF MATCHES "cu11.4")
file(CREATE_LINK ${GPU_MOD_LIB_CUDA_CONF} ${GPU_MOD_INCLUDE_DIR}/../build-${CUDA_CONF}/${GPU_MOD_LIB} RESULT SYMLINK_OK SYMBOLIC)
install(FILES ${GPU_MOD_INCLUDE_DIR}/../build-${CUDA_CONF}/${GPU_MOD_LIB} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_EXECUTE WORLD_READ)
# if ${GPU_MOD_LIB} is already a symlink, then we've already gone through it, skip
if(NOT IS_SYMLINK ${GPU_MOD_INCLUDE_DIR}/../build-${CUDA_CONF}/${GPU_MOD_LIB})
file(COPY ${GPU_MOD_INCLUDE_DIR}/../build-${CUDA_CONF}/${GPU_MOD_LIB} DESTINATION ${PROJECT_BINARY_DIR})
file(RENAME ${PROJECT_BINARY_DIR}/${GPU_MOD_LIB} ${GPU_MOD_INCLUDE_DIR}/../build-${CUDA_CONF}/${GPU_MOD_LIB_CUDA_CONF})
if (CUDA_CONF MATCHES "cu11.4")
file(CREATE_LINK ${GPU_MOD_LIB_CUDA_CONF} ${GPU_MOD_INCLUDE_DIR}/../build-${CUDA_CONF}/${GPU_MOD_LIB} RESULT SYMLINK_OK SYMBOLIC)
install(FILES ${GPU_MOD_INCLUDE_DIR}/../build-${CUDA_CONF}/${GPU_MOD_LIB} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_EXECUTE WORLD_READ)
endif()
endif()
install(FILES ${GPU_MOD_INCLUDE_DIR}/../build-${CUDA_CONF}/${GPU_MOD_LIB_CUDA_CONF} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_EXECUTE WORLD_READ)
endforeach()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment