diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index e81ce22d3c..065802166b 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -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", diff --git a/Tests/SwiftOnly/CMakeLists.txt b/Tests/SwiftOnly/CMakeLists.txt index e92e544391..fa8687d5df 100644 --- a/Tests/SwiftOnly/CMakeLists.txt +++ b/Tests/SwiftOnly/CMakeLists.txt @@ -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) diff --git a/Tests/SwiftOnly/SubA/CMakeLists.txt b/Tests/SwiftOnly/SubA/CMakeLists.txt new file mode 100644 index 0000000000..edebc16974 --- /dev/null +++ b/Tests/SwiftOnly/SubA/CMakeLists.txt @@ -0,0 +1,2 @@ +add_library(SubA SubA.swift) +target_include_directories(SubA INTERFACE "$") diff --git a/Tests/SwiftOnly/SubA/SubA.swift b/Tests/SwiftOnly/SubA/SubA.swift new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Tests/SwiftOnly/SubB/CMakeLists.txt b/Tests/SwiftOnly/SubB/CMakeLists.txt new file mode 100644 index 0000000000..6e929270f5 --- /dev/null +++ b/Tests/SwiftOnly/SubB/CMakeLists.txt @@ -0,0 +1,2 @@ +add_library(SubB SubB.swift) +target_link_libraries(SubB PRIVATE SubA) diff --git a/Tests/SwiftOnly/SubB/SubB.swift b/Tests/SwiftOnly/SubB/SubB.swift new file mode 100644 index 0000000000..d593c4cd3f --- /dev/null +++ b/Tests/SwiftOnly/SubB/SubB.swift @@ -0,0 +1 @@ +import SubA