@@ -488,6 +488,10 @@ function(_add_swift_library_single target name)
488
488
489
489
file (GLOB_RECURSE SWIFTLIB_SINGLE_TDS
490
490
${SWIFT_SOURCE_DIR} /include/swift${dir}/*.td )
491
+
492
+ set_source_files_properties (${SWIFTLIB_SINGLE_HEADERS} ${SWIFTLIB_SINGLE_TDS}
493
+ PROPERTIES
494
+ HEADER_FILE_ONLY true )
491
495
source_group ("TableGen descriptions" FILES ${SWIFTLIB_SINGLE_TDS} )
492
496
493
497
set (SWIFTLIB_SINGLE_SOURCES ${SWIFTLIB_SINGLE_SOURCES} ${SWIFTLIB_SINGLE_HEADERS} ${SWIFTLIB_SINGLE_TDS} )
@@ -575,11 +579,20 @@ function(_add_swift_library_single target name)
575
579
$< TARGET_OBJECTS:${object_library}${VARIANT_SUFFIX} > )
576
580
endforeach ()
577
581
582
+ set (SWIFTLIB_SINGLE_XCODE_WORKAROUND_SOURCES )
583
+ if (XCODE AND SWIFTLIB_SINGLE_TARGET_LIBRARY )
584
+ set (SWIFTLIB_SINGLE_XCODE_WORKAROUND_SOURCES
585
+ # Note: the dummy.cpp source file provides no definitions. However,
586
+ # it forces Xcode to properly link the static library.
587
+ ${SWIFT_SOURCE_DIR} /cmake/dummy.cpp )
588
+ endif ()
589
+
578
590
add_library ("${target} " ${libkind}
579
591
${SWIFT_SECTIONS_OBJECT_BEGIN}
580
592
${SWIFTLIB_SINGLE_SOURCES}
581
593
${SWIFTLIB_SINGLE_EXTERNAL_SOURCES}
582
594
${SWIFTLIB_INCORPORATED_OBJECT_LIBRARIES_EXPRESSIONS}
595
+ ${SWIFTLIB_SINGLE_XCODE_WORKAROUND_SOURCES}
583
596
${SWIFT_SECTIONS_OBJECT_END} )
584
597
585
598
# The section metadata objects are generated sources, and we need to tell CMake
@@ -661,10 +674,7 @@ function(_add_swift_library_single target name)
661
674
add_library (${target_static} STATIC
662
675
${SWIFTLIB_SINGLE_SOURCES}
663
676
${SWIFTLIB_INCORPORATED_OBJECT_LIBRARIES_EXPRESSIONS}
664
-
665
- # Note: the dummy.c source file provides no definitions. However,
666
- # it forces Xcode to properly link the static library.
667
- ${SWIFT_SOURCE_DIR} /cmake/dummy.c )
677
+ ${SWIFTLIB_SINGLE_XCODE_WORKAROUND_SOURCES} )
668
678
669
679
set_output_directory (${target_static}
670
680
BINARY_DIR ${SWIFT_RUNTIME_OUTPUT_INTDIR}
0 commit comments