[llvm] r250573 - [CMake] Cleaning up and generalizing the LLVMInstallSymlink script so that it can be used for libraries too.

Chris Bieneman via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 16 16:17:13 PDT 2015


Author: cbieneman
Date: Fri Oct 16 18:17:13 2015
New Revision: 250573

URL: http://llvm.org/viewvc/llvm-project?rev=250573&view=rev
Log:
[CMake] Cleaning up and generalizing the LLVMInstallSymlink script so that it can be used for libraries too.

In order to resolve PR25059, we're going to need to be able to generate symlinks to libraries manually, so I need this code to be reusable.

Modified:
    llvm/trunk/cmake/modules/AddLLVM.cmake
    llvm/trunk/cmake/modules/LLVMInstallSymlink.cmake

Modified: llvm/trunk/cmake/modules/AddLLVM.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/AddLLVM.cmake?rev=250573&r1=250572&r2=250573&view=diff
==============================================================================
--- llvm/trunk/cmake/modules/AddLLVM.cmake (original)
+++ llvm/trunk/cmake/modules/AddLLVM.cmake Fri Oct 16 18:17:13 2015
@@ -1044,8 +1044,11 @@ function(llvm_install_symlink name dest)
     set(component ${name})
   endif()
 
+  set(full_name ${name}${CMAKE_EXECUTABLE_SUFFIX})
+  set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX})
+
   install(SCRIPT ${INSTALL_SYMLINK}
-          CODE "install_symlink(${name} ${dest})"
+          CODE "install_symlink(${full_name} ${full_dest} bin)"
           COMPONENT ${component})
 
   if (NOT CMAKE_CONFIGURATION_TYPES AND NOT ARG_ALWAYS_GENERATE)

Modified: llvm/trunk/cmake/modules/LLVMInstallSymlink.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/LLVMInstallSymlink.cmake?rev=250573&r1=250572&r2=250573&view=diff
==============================================================================
--- llvm/trunk/cmake/modules/LLVMInstallSymlink.cmake (original)
+++ llvm/trunk/cmake/modules/LLVMInstallSymlink.cmake Fri Oct 16 18:17:13 2015
@@ -2,7 +2,7 @@
 # DESTDIR environment variable may be unset at configuration time.
 # See PR8397.
 
-function(install_symlink name target)
+function(install_symlink name target outdir)
   if(UNIX)
     set(LINK_OR_COPY create_symlink)
     set(DESTDIR $ENV{DESTDIR})
@@ -10,19 +10,12 @@ function(install_symlink name target)
     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/")
+  set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}/")
 
   message("Creating ${name}")
 
   execute_process(
-    COMMAND "${CMAKE_COMMAND}" -E ${LINK_OR_COPY} "${target}${EXECUTABLE_SUFFIX}" "${name}${EXECUTABLE_SUFFIX}"
+    COMMAND "${CMAKE_COMMAND}" -E ${LINK_OR_COPY} "${target}" "${name}"
     WORKING_DIRECTORY "${bindir}")
 
 endfunction()




More information about the llvm-commits mailing list