mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-24 12:19:53 +00:00
[CMake] Minor change to symlink generation for LLDB
If OUTPUT_DIR is not specified we can assume the symlink is linking to a file in the same directory, so we can use $<TARGET_FILE_NAME:${target}> to create a relative symlink. In the case of LLDB, when we build a framework, we are creating symlinks in a different directory than the file we're pointing to, and we don't install those links. To make this work in the build directory we can use $<TARGET_FILE:${target}> instead, which uses the full path to the target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289840 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b10a96eb1c
commit
69a678c244
@ -1290,6 +1290,8 @@ endfunction()
|
||||
|
||||
function(add_llvm_tool_symlink link_name target)
|
||||
cmake_parse_arguments(ARG "ALWAYS_GENERATE" "OUTPUT_DIR" "" ${ARGN})
|
||||
set(dest_binary "$<TARGET_FILE:${target}>")
|
||||
|
||||
# This got a bit gross... For multi-configuration generators the target
|
||||
# properties return the resolved value of the string, not the build system
|
||||
# expression. To reconstruct the platform-agnostic path we have to do some
|
||||
@ -1298,6 +1300,11 @@ function(add_llvm_tool_symlink link_name target)
|
||||
# and replace it with CMAKE_CFG_INTDIR. This allows the build step to be type
|
||||
# agnostic again.
|
||||
if(NOT ARG_OUTPUT_DIR)
|
||||
# If you're not overriding the OUTPUT_DIR, we can make the link relative in
|
||||
# the same directory.
|
||||
if(UNIX)
|
||||
set(dest_binary "$<TARGET_FILE_NAME:${target}>")
|
||||
endif()
|
||||
if(CMAKE_CONFIGURATION_TYPES)
|
||||
list(GET CMAKE_CONFIGURATION_TYPES 0 first_type)
|
||||
string(TOUPPER ${first_type} first_type_upper)
|
||||
@ -1323,10 +1330,8 @@ function(add_llvm_tool_symlink link_name target)
|
||||
|
||||
if(UNIX)
|
||||
set(LLVM_LINK_OR_COPY create_symlink)
|
||||
set(dest_binary "$<TARGET_FILE_NAME:${target}>")
|
||||
else()
|
||||
set(LLVM_LINK_OR_COPY copy)
|
||||
set(dest_binary "$<TARGET_FILE:${target}>")
|
||||
endif()
|
||||
|
||||
set(output_path "${ARG_OUTPUT_DIR}/${link_name}${CMAKE_EXECUTABLE_SUFFIX}")
|
||||
|
Loading…
Reference in New Issue
Block a user