[cfe-commits] [PATCH] cmake: create a relative symlink to clang

nobled nobled at dreamwidth.org
Mon Jan 30 13:08:10 PST 2012


Hardcoding the location of the build directory seems like it would
break at `make install`/packaging time.
---
 tools/driver/CMakeLists.txt |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt
index b7f5e7a..8946c48 100644
--- a/tools/driver/CMakeLists.txt
+++ b/tools/driver/CMakeLists.txt
@@ -40,16 +40,17 @@ set_target_properties(clang PROPERTIES VERSION
${CLANG_EXECUTABLE_VERSION})

 if(UNIX)
   set(CLANGXX_LINK_OR_COPY create_symlink)
+# Create a relative symlink
+  set(clang_binary "./clang${CMAKE_EXECUTABLE_SUFFIX}")
 else()
   set(CLANGXX_LINK_OR_COPY copy)
+  set(clang_binary
"${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/clang${CMAKE_EXECUTABLE_SUFFIX}")
 endif()

 # Create the clang++ symlink in the build directory.
 set(clang_pp "${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/clang++${CMAKE_EXECUTABLE_SUFFIX}")
 add_custom_command(TARGET clang POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E ${CLANGXX_LINK_OR_COPY}
-    "${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/clang${CMAKE_EXECUTABLE_SUFFIX}"
-    "${clang_pp}")
+    COMMAND ${CMAKE_COMMAND} -E ${CLANGXX_LINK_OR_COPY}
"${clang_binary}" "${clang_pp}")

 set_property(DIRECTORY APPEND
   PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${clang_pp})
-- 
1.7.4.1



More information about the cfe-commits mailing list