Merge topic 'swift-install-names' into release-3.29

8669176576 Swift: Fix INSTALL_NAME_DIR under CMP0157 NEW behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9692
This commit is contained in:
Brad King 2024-08-02 09:48:49 -04:00
commit 931dd7d3a5
5 changed files with 39 additions and 4 deletions

View File

@ -132,7 +132,7 @@ if(CMAKE_Swift_COMPILATION_MODE_DEFAULT)
endif()
if(NOT CMAKE_Swift_CREATE_SHARED_LIBRARY)
set(CMAKE_Swift_CREATE_SHARED_LIBRARY "<CMAKE_Swift_COMPILER> ${CMAKE_Swift_PARALLEL_FLAGS} -emit-library <CMAKE_SHARED_LIBRARY_Swift_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> ${CMAKE_Swift_IMPLIB_LINKER_FLAGS} <SONAME_FLAG> <TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
set(CMAKE_Swift_CREATE_SHARED_LIBRARY "<CMAKE_Swift_COMPILER> ${CMAKE_Swift_PARALLEL_FLAGS} -emit-library <CMAKE_SHARED_LIBRARY_Swift_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> ${CMAKE_Swift_IMPLIB_LINKER_FLAGS} <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
endif()
if(NOT CMAKE_Swift_CREATE_SHARED_MODULE)

View File

@ -0,0 +1,13 @@
.*swiftc(.exe)? [^
]* -parse-as-library -static -emit-module [^
]* -module-name StaticLibrary [^
]*
.*swiftc(.exe)? [^
]* -parse-as-library -emit-module [^
]* -module-name DynamicLibrary [^
]*
.*swiftc(.exe)? [^
]* -emit-library [^
]* -Xlinker -install_name -Xlinker @rpath/libDynamicLibrary.dylib -o ([A-Za-z]+/)?libDynamicLibrary.dylib [^
]*
.*swiftc(.exe)? -j [0-9]+ -num-threads [0-9]+ -c -module-name Executable

View File

@ -0,0 +1,13 @@
.*swiftc(.exe)? [^
]* -parse-as-library -static -emit-module [^
]* -module-name StaticLibrary [^
]*
.*swiftc(.exe)? [^
]* -parse-as-library -emit-module [^
]* -module-name DynamicLibrary [^
]*
.*swiftc(.exe)? [^
]* -emit-library [^
]* -Xlinker -implib:DynamicLibrary.lib +-o ([A-Za-z]+/)?DynamicLibrary.dll [^
]*
.*swiftc(.exe)? -j [0-9]+ -num-threads [0-9]+ -c -module-name Executable

View File

@ -1,5 +1,13 @@
.*swiftc(.exe)? .* -parse-as-library -static -emit-module .* -module-name StaticLibrary [^
.*swiftc(.exe)? [^
]* -parse-as-library -static -emit-module [^
]* -module-name StaticLibrary [^
]*
.*swiftc(.exe)? .* -parse-as-library -emit-module .* -module-name DynamicLibrary [^
.*swiftc(.exe)? [^
]* -parse-as-library -emit-module [^
]* -module-name DynamicLibrary [^
]*
.*swiftc(.exe)? .* -j [0-9]* -num-threads [0-9]* -c -module-name Executable
.*swiftc(.exe)? [^
]* -emit-library [^
]* -Xlinker -soname -Xlinker libDynamicLibrary.so -o ([A-Za-z]+/)?libDynamicLibrary.so [^
]*
.*swiftc(.exe)? -j [0-9]+ -num-threads [0-9]+ -c -module-name Executable

View File

@ -6,6 +6,7 @@ enable_language(Swift)
add_library(StaticLibrary STATIC L.swift)
add_library(DynamicLibrary SHARED L.swift)
set_target_properties(DynamicLibrary PROPERTIES INSTALL_NAME_DIR "@rpath")
add_executable(Executable E.swift)
add_dependencies(DynamicLibrary StaticLibrary)