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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@248009
91177308-0d34-0410-b5e6-
96231b3b80d8
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})
--- /dev/null
+# 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()
+++ /dev/null
-# 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()