@@ -48,6 +48,22 @@ function(_compute_lto_flag option out_var)
48
48
endif ()
49
49
endfunction ()
50
50
51
+ function (_set_target_prefix_and_suffix target kind sdk )
52
+ precondition (target MESSAGE "target is required" )
53
+ precondition (kind MESSAGE "kind is required" )
54
+ precondition (sdk MESSAGE "sdk is required" )
55
+
56
+ if ("${sdk} " STREQUAL "WINDOWS" )
57
+ if ("${kind} " STREQUAL "STATIC" )
58
+ set_property (TARGET "${target} " PROPERTY PREFIX "lib" )
59
+ set_property (TARGET "${target} " PROPERTY SUFFIX ".lib" )
60
+ elseif ("${libkind} " STREQUAL "SHARED" )
61
+ set_property (TARGET "${target} " PROPERTY PREFIX "" )
62
+ set_property (TARGET "${target} " PROPERTY SUFFIX ".dll" )
63
+ endif ()
64
+ endif ()
65
+ endfunction ()
66
+
51
67
function (is_darwin_based_sdk sdk_name out_var )
52
68
if ("${sdk_name} " STREQUAL "OSX" OR
53
69
"${sdk_name} " STREQUAL "IOS" OR
@@ -683,6 +699,7 @@ function(_add_swift_library_single target name)
683
699
${SWIFTLIB_INCORPORATED_OBJECT_LIBRARIES_EXPRESSIONS}
684
700
${SWIFTLIB_SINGLE_XCODE_WORKAROUND_SOURCES}
685
701
${SWIFT_SECTIONS_OBJECT_END} )
702
+ _set_target_prefix_and_suffix ("${target} " "${libkind} " "${SWIFTLIB_SINGLE_SDK} " )
686
703
687
704
if (SWIFTLIB_SINGLE_TARGET_LIBRARY )
688
705
if (NOT "${SWIFT_${SWIFTLIB_SINGLE_SDK} _ICU_UC_INCLUDE}" STREQUAL "" )
@@ -696,13 +713,7 @@ function(_add_swift_library_single target name)
696
713
endif ()
697
714
698
715
if ("${SWIFTLIB_SINGLE_SDK} " STREQUAL "WINDOWS" )
699
- if ("${libkind} " STREQUAL "STATIC" )
700
- set_property (TARGET "${target} " PROPERTY PREFIX "lib" )
701
- set_property (TARGET "${target} " PROPERTY SUFFIX ".lib" )
702
- elseif ("${libkind} " STREQUAL "SHARED" )
703
- set_property (TARGET "${target} " PROPERTY PREFIX "" )
704
- set_property (TARGET "${target} " PROPERTY SUFFIX ".dll" )
705
-
716
+ if ("${libkind} " STREQUAL "SHARED" )
706
717
# Each dll has an associated .lib (import library); since we may be
707
718
# building on a non-DLL platform (not windows), create an imported target
708
719
# for the library which created implicitly by the dll.
0 commit comments