diff --git a/Fixtures/MixedTargets/BasicMixedTargets/Package.swift b/Fixtures/MixedTargets/BasicMixedTargets/Package.swift index b50fc30c727..9684d7be51b 100644 --- a/Fixtures/MixedTargets/BasicMixedTargets/Package.swift +++ b/Fixtures/MixedTargets/BasicMixedTargets/Package.swift @@ -88,12 +88,6 @@ let package = Package( dependencies: ["MixedTargetWithCustomModuleMapAndResources"] ), - // MARK: - MixedTargetWithCXX_CXXInteropEnabled - .target( - name: "MixedTargetWithCXX_CXXInteropEnabled", - swiftSettings: [.interoperabilityMode(.Cxx)] - ), - // MARK: - MixedTargetWithCXX .target( name: "MixedTargetWithCXX" @@ -265,10 +259,25 @@ let package = Package( // The below two targets are used for testing the above targets. .target(name: "SwiftTarget"), .target(name: "ClangTarget") - - ], + ] + targetsWithCxxInteropEnabled(), // TODO(ncooke3): Is the below note behavior that we want to be intended? // This is needed for targets with that have // `swiftSettings: [.interoperabilityMode(.Cxx)]` set. cxxLanguageStandard: .cxx11 ) + +func targetsWithCxxInteropEnabled() -> [Target] { +// The below targets have C++ interoperability mode enabled, a feature that +// requires Swift 5.9 or greater. +#if swift(>=5.9) + // MARK: - MixedTargetWithCXX_CXXInteropEnabled + return [ + .target( + name: "MixedTargetWithCXX_CXXInteropEnabled", + swiftSettings: [.interoperabilityMode(.Cxx)] + ) + ] +#else + return [] +#endif // swift(>=5.9) +} diff --git a/Tests/FunctionalTests/MixedTargetTests.swift b/Tests/FunctionalTests/MixedTargetTests.swift index c4635d4cca9..edf6dc27242 100644 --- a/Tests/FunctionalTests/MixedTargetTests.swift +++ b/Tests/FunctionalTests/MixedTargetTests.swift @@ -138,6 +138,9 @@ final class MixedTargetTests: XCTestCase { } } +// The below tests build targets with C++ interoperability mode enabled, a +// feature that requires Swift 5.9 or greater. +#if swift(>=5.9) func testMixedTargetWithCXX_CXXInteropEnabled() throws { try fixture(name: "MixedTargets/BasicMixedTargets") { fixturePath in XCTAssertBuilds( @@ -146,6 +149,7 @@ final class MixedTargetTests: XCTestCase { ) } } +#endif // swift(>=5.9) func testMixedTargetWithCXX() throws { try fixture(name: "MixedTargets/BasicMixedTargets") { fixturePath in