Xcode: Implement Swift include directories

Populate Xcode's `SWIFT_INCLUDE_PATHS` build setting with the
target-wide include directories.

Issue: #24116
This commit is contained in:
Brad King
2022-11-02 16:58:21 -04:00
parent e1ccab12d7
commit cb4e6702b2
6 changed files with 11 additions and 0 deletions

View File

@@ -2780,6 +2780,9 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmGeneratorTarget* gtgt,
}
if (!dirs.IsEmpty()) {
buildSettings->AddAttribute("HEADER_SEARCH_PATHS", dirs.CreateList());
if (languages.count("Swift")) {
buildSettings->AddAttribute("SWIFT_INCLUDE_PATHS", dirs.CreateList());
}
}
if (!sysfdirs.IsEmpty()) {
buildSettings->AddAttribute("SYSTEM_FRAMEWORK_SEARCH_PATHS",

View File

@@ -22,6 +22,9 @@ elseif(NOT XCODE_VERSION VERSION_LESS 8.0)
set(CMAKE_Swift_LANGUAGE_VERSION 3.0)
endif()
add_subdirectory(SubA)
add_subdirectory(SubB)
set(CMAKE_Swift_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/swift)
add_executable(SwiftOnly main.swift)

View File

@@ -0,0 +1,2 @@
add_library(SubA SubA.swift)
target_include_directories(SubA INTERFACE "$<TARGET_FILE_DIR:SubA>")

View File

View File

@@ -0,0 +1,2 @@
add_library(SubB SubB.swift)
target_link_libraries(SubB PRIVATE SubA)

View File

@@ -0,0 +1 @@
import SubA