[llvm] r248009 - [CMake] More cleanup of installing symlinks.

Chris Bieneman via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 18 10:39:58 PDT 2015


Author: cbieneman
Date: Fri Sep 18 12:39:58 2015
New Revision: 248009

URL: http://llvm.org/viewvc/llvm-project?rev=248009&view=rev
Log:
[CMake] More cleanup of installing symlinks.

In order to support building clang out-of-tree the install_symlink script needs to be installed, and it needs to be found by searching the CMAKE_MODULE_PATH.

This change renames install_symlink -> LLVMInstallSymlink so it doesn't conflict with naming from other projects, and adds searching behavior in AddLLVM.cmake

Added:
    llvm/trunk/cmake/modules/LLVMInstallSymlink.cmake
      - copied, changed from r248006, llvm/trunk/cmake/modules/install_symlink.cmake
Removed:
    llvm/trunk/cmake/modules/install_symlink.cmake
Modified:
    llvm/trunk/cmake/modules/AddLLVM.cmake

Modified: llvm/trunk/cmake/modules/AddLLVM.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/AddLLVM.cmake?rev=248009&r1=248008&r2=248009&view=diff
==============================================================================
--- llvm/trunk/cmake/modules/AddLLVM.cmake (original)
+++ llvm/trunk/cmake/modules/AddLLVM.cmake Fri Sep 18 12:39:58 2015
@@ -1024,7 +1024,13 @@ function(add_lit_testsuites project dire
 endfunction()
 
 function(llvm_install_symlink name dest)
-  install(SCRIPT ${CMAKE_SOURCE_DIR}/cmake/modules/install_symlink.cmake
+  foreach(path ${CMAKE_MODULE_PATH})
+    if(EXISTS ${path}/LLVMInstallSymlink.cmake)
+      set(INSTALL_SYMLINK ${path}/LLVMInstallSymlink.cmake)
+      break()
+    endif()
+  endforeach()
+  install(SCRIPT ${INSTALL_SYMLINK}
           CODE "install_symlink(${name} ${dest})"
           COMPONENT ${name})
 

Copied: llvm/trunk/cmake/modules/LLVMInstallSymlink.cmake (from r248006, llvm/trunk/cmake/modules/install_symlink.cmake)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/LLVMInstallSymlink.cmake?p2=llvm/trunk/cmake/modules/LLVMInstallSymlink.cmake&p1=llvm/trunk/cmake/modules/install_symlink.cmake&r1=248006&r2=248009&rev=248009&view=diff
==============================================================================
    (empty)

Removed: llvm/trunk/cmake/modules/install_symlink.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/install_symlink.cmake?rev=248008&view=auto
==============================================================================
--- llvm/trunk/cmake/modules/install_symlink.cmake (original)
+++ llvm/trunk/cmake/modules/install_symlink.cmake (removed)
@@ -1,28 +0,0 @@
-# We need to execute this script at installation time because the
-# DESTDIR environment variable may be unset at configuration time.
-# See PR8397.
-
-function(install_symlink name target)
-  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 ${name}")
-
-  execute_process(
-    COMMAND "${CMAKE_COMMAND}" -E ${LINK_OR_COPY} "${target}${EXECUTABLE_SUFFIX}" "${name}${EXECUTABLE_SUFFIX}"
-    WORKING_DIRECTORY "${bindir}")
-
-endfunction()




More information about the llvm-commits mailing list