Skip to content

Commit 6c8c0b8

Browse files
authored
Merge pull request swiftlang#62972 from artemcm/MoveLibSwiftScanToHostDir
Set install path of libSwiftScan to 'lib/swift/host' instead of platform-specific path string
2 parents c7a9360 + d95cb95 commit 6c8c0b8

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

tools/libSwiftScan/CMakeLists.txt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,38 @@ add_llvm_symbol_exports(libSwiftScan ${LLVM_EXPORTED_SYMBOL_FILE})
4545
add_link_opts(libSwiftScan)
4646

4747
add_dependencies(compiler libSwiftScan)
48+
49+
50+
if(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows)
4851
swift_install_in_component(TARGETS libSwiftScan
4952
ARCHIVE DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}" COMPONENT compiler
5053
LIBRARY DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}" COMPONENT compiler
5154
RUNTIME DESTINATION "bin" COMPONENT compiler)
55+
else()
56+
# On other platforms, instead install the library into 'lib/swift/host' and symlink to it from 'lib/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}'
57+
swift_install_in_component(TARGETS libSwiftScan
58+
ARCHIVE DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/host" COMPONENT compiler
59+
LIBRARY DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/host" COMPONENT compiler
60+
RUNTIME DESTINATION "bin" COMPONENT compiler)
61+
62+
# Create a symlink to previously-used path of 'lib/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}'
63+
# to the new location under 'lib/swift/host' for clients of the legacy path.
64+
if(EXISTS ${LLVM_CMAKE_DIR}/LLVMInstallSymlink.cmake)
65+
set(INSTALL_SYMLINK ${LLVM_CMAKE_DIR}/LLVMInstallSymlink.cmake)
66+
endif()
67+
precondition(INSTALL_SYMLINK
68+
MESSAGE "LLVMInstallSymlink script must be available.")
69+
file(RELATIVE_PATH target_install_relative_path
70+
${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}
71+
${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}/swift/host/lib${SWIFT_SCAN_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
72+
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}")
73+
install(SCRIPT ${INSTALL_SYMLINK}
74+
CODE "install_symlink(lib${SWIFT_SCAN_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
75+
${target_install_relative_path}
76+
lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR})"
77+
COMPONENT compiler)
78+
endif()
79+
5280
swift_install_in_component(DIRECTORY "${SWIFT_MAIN_INCLUDE_DIR}/swift-c/DependencyScan/"
5381
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SCAN_LIB_NAME}"
5482
COMPONENT compiler)

0 commit comments

Comments
 (0)