diff options
-rw-r--r-- | lld/tools/lld/CMakeLists.txt | 2 | ||||
-rw-r--r-- | lld/tools/lld/install_symlink.cmake | 21 |
2 files changed, 23 insertions, 0 deletions
diff --git a/lld/tools/lld/CMakeLists.txt b/lld/tools/lld/CMakeLists.txt index 1041c9be3d3..133503c570f 100644 --- a/lld/tools/lld/CMakeLists.txt +++ b/lld/tools/lld/CMakeLists.txt @@ -24,3 +24,5 @@ endif() set(dst "${LLVM_RUNTIME_OUTPUT_INTDIR}/lld-link${CMAKE_EXECUTABLE_SUFFIX}") add_custom_command(TARGET lld POST_BUILD COMMAND ${CMAKE_COMMAND} -E ${command} ${src} ${dst}) + +install(SCRIPT install_symlink.cmake -DCMAKE_INSTALL_PREFIX=\"${CMAKE_INSTALL_PREFIX}\") diff --git a/lld/tools/lld/install_symlink.cmake b/lld/tools/lld/install_symlink.cmake new file mode 100644 index 00000000000..2095f1e230f --- /dev/null +++ b/lld/tools/lld/install_symlink.cmake @@ -0,0 +1,21 @@ +if(UNIX) + set(LINK_OR_COPY create_symlink) + set(DESTDIR $ENV{DESTDIR}) +else() + set(LINK_OR_COPY copy) +endif() + +# CMAKE_EXECUTABLE_SUFFIX is undefined on cmake scripts. See PR9286. +if(WIN32) + set(EXECUTABLE_SUFFIX ".exe") +else() + set(EXECUTABLE_SUFFIX "") +endif() + +set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/") + +message("Creating lld-link") + +execute_process( + COMMAND "${CMAKE_COMMAND}" -E ${LINK_OR_COPY} "lld${EXECUTABLE_SUFFIX}" "lld-link${EXECUTABLE_SUFFIX}" + WORKING_DIRECTORY "${bindir}") |