Skip to content

Commit c16d3ae

Browse files
committed
Set install path of libSwiftScan to 'lib/swift/host' instead of platform-specific path string
1 parent f3327fb commit c16d3ae

File tree

1 file changed

+46
-2
lines changed

1 file changed

+46
-2
lines changed

tools/libSwiftScan/CMakeLists.txt

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,53 @@ add_link_opts(libSwiftScan)
4646

4747
add_dependencies(compiler libSwiftScan)
4848
swift_install_in_component(TARGETS libSwiftScan
49-
ARCHIVE DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}" COMPONENT compiler
50-
LIBRARY DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}" COMPONENT compiler
49+
ARCHIVE DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/host" COMPONENT compiler
50+
LIBRARY DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/host" COMPONENT compiler
5151
RUNTIME DESTINATION "bin" COMPONENT compiler)
52+
53+
# Create a symlink to previously-used path of 'lib/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}'
54+
# to the new location under 'lib/swift/host' for clients of the legacy path.
55+
if(EXISTS ${LLVM_CMAKE_DIR}/LLVMInstallSymlink.cmake)
56+
set(INSTALL_SYMLINK ${LLVM_CMAKE_DIR}/LLVMInstallSymlink.cmake)
57+
endif()
58+
precondition(INSTALL_SYMLINK
59+
MESSAGE "LLVMInstallSymlink script must be available.")
60+
61+
62+
if(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows)
63+
# Shared Runtime
64+
file(RELATIVE_PATH target_install_relative_path
65+
${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}
66+
${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}/swift/host/${SWIFT_SCAN_LIB_NAME}.dll)
67+
message(STATUS "Installing symlink (${target_install_relative_path}) to lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}/${SWIFT_SCAN_LIB_NAME}.dll")
68+
install(SCRIPT ${INSTALL_SYMLINK}
69+
CODE "install_symlink(${SWIFT_SCAN_LIB_NAME}.dll
70+
${target_install_relative_path}
71+
${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR})"
72+
COMPONENT compiler)
73+
74+
# Import Library
75+
file(RELATIVE_PATH target_install_relative_path
76+
${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}
77+
${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}/swift/host/${SWIFT_SCAN_LIB_NAME}.lib)
78+
message(STATUS "Installing symlink (${target_install_relative_path}) to lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}/${SWIFT_SCAN_LIB_NAME}.lib")
79+
install(SCRIPT ${INSTALL_SYMLINK}
80+
CODE "install_symlink(${SWIFT_SCAN_LIB_NAME}.lib
81+
${target_install_relative_path}
82+
${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR})"
83+
COMPONENT compiler)
84+
else()
85+
file(RELATIVE_PATH target_install_relative_path
86+
${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}
87+
${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}/swift/host/lib${SWIFT_SCAN_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
88+
message(STATUS "Installing symlink (${target_install_relative_path}) to lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}/lib${SWIFT_SCAN_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}")
89+
install(SCRIPT ${INSTALL_SYMLINK}
90+
CODE "install_symlink(lib${SWIFT_SCAN_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
91+
${target_install_relative_path}
92+
lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR})"
93+
COMPONENT compiler)
94+
endif()
95+
5296
swift_install_in_component(DIRECTORY "${SWIFT_MAIN_INCLUDE_DIR}/swift-c/DependencyScan/"
5397
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SCAN_LIB_NAME}"
5498
COMPONENT compiler)

0 commit comments

Comments
 (0)