diff --git a/Modules/CMakeSwiftInformation.cmake b/Modules/CMakeSwiftInformation.cmake index 60df6a2087..869a50863f 100644 --- a/Modules/CMakeSwiftInformation.cmake +++ b/Modules/CMakeSwiftInformation.cmake @@ -134,7 +134,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 0000000000..20c656d600 --- /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 0000000000..220a805602 --- /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 7e7fc7dee9..c3530aab51 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 af4aede0b9..700edf0bbc 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)