diff --git a/Modules/CMakeSwiftInformation.cmake b/Modules/CMakeSwiftInformation.cmake index f8b6748a622..d891de50dc4 100644 --- a/Modules/CMakeSwiftInformation.cmake +++ b/Modules/CMakeSwiftInformation.cmake @@ -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_PARALLEL_FLAGS} -emit-library ${CMAKE_Swift_IMPLIB_LINKER_FLAGS} -o ") + set(CMAKE_Swift_CREATE_SHARED_LIBRARY " ${CMAKE_Swift_PARALLEL_FLAGS} -emit-library ${CMAKE_Swift_IMPLIB_LINKER_FLAGS} -o ") endif() if(NOT CMAKE_Swift_CREATE_SHARED_MODULE) diff --git a/Tests/RunCMake/Swift/SwiftLibraryModuleCommand-check-stdout-darwin.txt b/Tests/RunCMake/Swift/SwiftLibraryModuleCommand-check-stdout-darwin.txt new file mode 100644 index 00000000000..20c656d600c --- /dev/null +++ b/Tests/RunCMake/Swift/SwiftLibraryModuleCommand-check-stdout-darwin.txt @@ -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 diff --git a/Tests/RunCMake/Swift/SwiftLibraryModuleCommand-check-stdout-windows.txt b/Tests/RunCMake/Swift/SwiftLibraryModuleCommand-check-stdout-windows.txt new file mode 100644 index 00000000000..220a8056029 --- /dev/null +++ b/Tests/RunCMake/Swift/SwiftLibraryModuleCommand-check-stdout-windows.txt @@ -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 diff --git a/Tests/RunCMake/Swift/SwiftLibraryModuleCommand-check-stdout.txt b/Tests/RunCMake/Swift/SwiftLibraryModuleCommand-check-stdout.txt index 7e7fc7dee92..c3530aab511 100644 --- a/Tests/RunCMake/Swift/SwiftLibraryModuleCommand-check-stdout.txt +++ b/Tests/RunCMake/Swift/SwiftLibraryModuleCommand-check-stdout.txt @@ -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 diff --git a/Tests/RunCMake/Swift/SwiftLibraryModuleCommand.cmake b/Tests/RunCMake/Swift/SwiftLibraryModuleCommand.cmake index af4aede0b99..700edf0bbc6 100644 --- a/Tests/RunCMake/Swift/SwiftLibraryModuleCommand.cmake +++ b/Tests/RunCMake/Swift/SwiftLibraryModuleCommand.cmake @@ -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)