diff options
-rw-r--r-- | tools/driver/CMakeLists.txt | 3 | ||||
-rw-r--r-- | tools/driver/clang_symlink.cmake | 18 |
2 files changed, 19 insertions, 2 deletions
diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt index ec6e9c6e80..b5c7b14886 100644 --- a/tools/driver/CMakeLists.txt +++ b/tools/driver/CMakeLists.txt @@ -35,7 +35,6 @@ add_clang_executable(clang if(UNIX) set(CLANGXX_LINK_OR_COPY create_symlink) - set(CLANGXX_DESTDIR $ENV{DESTDIR}/) else() set(CLANGXX_LINK_OR_COPY copy) endif() @@ -51,4 +50,4 @@ install(TARGETS clang RUNTIME DESTINATION bin) # Create the clang++ symlink at installation time. -install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" -E ${CLANGXX_LINK_OR_COPY} \"${CMAKE_INSTALL_PREFIX}/bin/clang${CMAKE_EXECUTABLE_SUFFIX}\" \"${CLANGXX_DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/clang++${CMAKE_EXECUTABLE_SUFFIX}\")") +install(SCRIPT clang_symlink.cmake -DCMAKE_INSTALL_PREFIX=\"${CMAKE_INSTALL_PREFIX}\") diff --git a/tools/driver/clang_symlink.cmake b/tools/driver/clang_symlink.cmake new file mode 100644 index 0000000000..d3f11d313e --- /dev/null +++ b/tools/driver/clang_symlink.cmake @@ -0,0 +1,18 @@ +# We need to execute this script at installation time because the +# DESTDIR environment variable may be unset at configuration time. +# See PR8397. + +if(UNIX) + set(CLANGXX_LINK_OR_COPY create_symlink) + set(CLANGXX_DESTDIR $ENV{DESTDIR}) +else() + set(CLANGXX_LINK_OR_COPY copy) +endif() + +set(bindir "${CLANGXX_DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/") +set(clang "${bindir}clang${CMAKE_EXECUTABLE_SUFFIX}") +set(clangxx "${bindir}clang++${CMAKE_EXECUTABLE_SUFFIX}") + +message("Creating clang++ executable based on ${clang}") + +execute_process(COMMAND "${CMAKE_COMMAND}" -E ${CLANGXX_LINK_OR_COPY} "${clang}" "${clangxx}") |