From 9b5959dd9a0eb0fc005b92be7ef7f3a5e3377b81 Mon Sep 17 00:00:00 2001 From: Fraser Cormack Date: Wed, 9 Jul 2025 17:20:56 +0100 Subject: [PATCH] [libclc] Change symlinks to copies on Windows (#147759) This mirrors how other LLVM libraries handle symlinks --- libclc/cmake/modules/AddLibclc.cmake | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libclc/cmake/modules/AddLibclc.cmake b/libclc/cmake/modules/AddLibclc.cmake index a8160e04d46a..056706ee629c 100644 --- a/libclc/cmake/modules/AddLibclc.cmake +++ b/libclc/cmake/modules/AddLibclc.cmake @@ -425,11 +425,17 @@ function(add_libclc_builtin_set) WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) endif() - foreach( a ${ARG_ALIASES} ) + if(CMAKE_HOST_UNIX OR LLVM_USE_SYMLINKS) + set(LIBCLC_LINK_OR_COPY create_symlink) + else() + set(LIBCLC_LINK_OR_COPY copy) + endif() + + foreach( a IN LISTS ARG_ALIASES ) set( alias_suffix "${a}-${ARG_TRIPLE}.bc" ) add_custom_command( OUTPUT ${LIBCLC_OUTPUT_LIBRARY_DIR}/${alias_suffix} - COMMAND ${CMAKE_COMMAND} -E create_symlink ${libclc_builtins_lib} ${LIBCLC_OUTPUT_LIBRARY_DIR}/${alias_suffix} + COMMAND ${CMAKE_COMMAND} -E ${LIBCLC_LINK_OR_COPY} ${libclc_builtins_lib} ${LIBCLC_OUTPUT_LIBRARY_DIR}/${alias_suffix} DEPENDS prepare-${obj_suffix} ) add_custom_target( alias-${alias_suffix} ALL