summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/tools/lld/CMakeLists.txt2
-rw-r--r--lld/tools/lld/install_symlink.cmake21
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}")
OpenPOWER on IntegriCloud