Skip to content

Commit 9c69aa8

Browse files
committed
wip
1 parent 6b5e554 commit 9c69aa8

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

lib/CompilerSwiftSyntax/CMakeLists.txt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ if(NOT EXISTS "${SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE}")
66
return()
77
endif()
88

9+
# Build swift-syntax libraries with FetchContent.
910
function(includeSwiftSyntax)
10-
# Build swift-syntax libraries with FetchContent.
1111
set(CMAKE_Swift_COMPILER_TARGET ${SWIFT_HOST_TRIPLE})
1212
set(BUILD_SHARED_LIBS OFF)
1313
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
@@ -31,15 +31,20 @@ set_target_properties(swiftSyntaxUnified PROPERTIES LINKER_LANGUAGE Swift)
3131

3232
macro(target_link_libraries_whole_archive target)
3333
foreach(lib ${ARGN})
34+
force_add_dependencies(${target} ${lib})
35+
36+
# Set auto linking name to the unified shared library name for each module.
3437
target_compile_options(${lib} PRIVATE "SHELL:-module-link-name ${target}")
38+
39+
# Link all the object file into one unified library.
3540
target_sources(${target} PRIVATE $<TARGET_OBJECTS:${lib}>)
3641
# Workaround for CMake doesn't recognize '.o' files as sources.
3742
target_link_options(${target} PRIVATE $<TARGET_OBJECTS:${lib}>)
43+
44+
set_property(TARGET ${target} PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
3845
set_property(TARGET ${target} APPEND PROPERTY
3946
INTERFACE_INCLUDE_DIRECTORIES "$<TARGET_PROPERTY:${lib},INTERFACE_INCLUDE_DIRECTORIES>"
4047
)
41-
force_add_dependencies(${target} ${lib})
42-
4348
endforeach()
4449
endmacro()
4550

0 commit comments

Comments
 (0)