diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -2081,6 +2081,11 @@ endif() endfunction() +# By default we use symlinks on Unix platforms and copy binaries on Windows +# If you have the correct setup on Windows you can use this option to enable +# symlinks and save a lot of diskspace. +option(LLVM_USE_SYMLINKS ${CMAKE_HOST_UNIX} "Use symlinks instead of copying binaries") + function(llvm_add_tool_symlink project link_name target) cmake_parse_arguments(ARG "ALWAYS_GENERATE" "OUTPUT_DIR" "" ${ARGN}) @@ -2101,7 +2106,7 @@ if(NOT ARG_OUTPUT_DIR) # If you're not overriding the OUTPUT_DIR, we can make the link relative in # the same directory. - if(CMAKE_HOST_UNIX) + if(LLVM_USE_SYMLINKS) set(dest_binary "$") endif() if(CMAKE_CONFIGURATION_TYPES) @@ -2127,7 +2132,7 @@ endif() endif() - if(CMAKE_HOST_UNIX) + if(LLVM_USE_SYMLINKS) set(LLVM_LINK_OR_COPY create_symlink) else() set(LLVM_LINK_OR_COPY copy)