From fbfe899a1c5467d82296b0a61782051911d48163 Mon Sep 17 00:00:00 2001 From: Oscar Fuentes Date: Sun, 17 Oct 2010 16:10:32 +0000 Subject: [PATCH] Use a script for creating the clang++ executable. The previous method used the DESTDIR environment variable at configure time, but sometimes it is only available at install time. See PR8397. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116689 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/driver/CMakeLists.txt | 3 +-- tools/driver/clang_symlink.cmake | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 tools/driver/clang_symlink.cmake 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}") -- 2.40.0