mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 10:50:16 -06:00
Merge branch 'backport-swift-ninja-multiconfig' into swift-ninja-multiconfig
This commit is contained in:
@@ -16,7 +16,7 @@ if("${CMAKE_GENERATOR}" STREQUAL "Xcode")
|
||||
endif()
|
||||
set(CMAKE_Swift_COMPILER_XCODE_TYPE sourcecode.swift)
|
||||
_cmake_find_compiler_path(Swift)
|
||||
elseif("${CMAKE_GENERATOR}" STREQUAL "Ninja")
|
||||
elseif("${CMAKE_GENERATOR}" MATCHES "^Ninja")
|
||||
if(CMAKE_Swift_COMPILER)
|
||||
_cmake_find_compiler_path(Swift)
|
||||
else()
|
||||
|
||||
@@ -885,11 +885,11 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement(
|
||||
cmOutputConverter::SHELL);
|
||||
}(vars["SWIFT_MODULE_NAME"]);
|
||||
|
||||
const std::string map = cmStrCat(gt->GetSupportDirectory(), '/', config,
|
||||
'/', "output-file-map.json");
|
||||
vars["SWIFT_OUTPUT_FILE_MAP"] =
|
||||
this->GetLocalGenerator()->ConvertToOutputFormat(
|
||||
this->ConvertToNinjaPath(gt->GetSupportDirectory() +
|
||||
"/output-file-map.json"),
|
||||
cmOutputConverter::SHELL);
|
||||
this->ConvertToNinjaPath(map), cmOutputConverter::SHELL);
|
||||
|
||||
vars["SWIFT_SOURCES"] = [this, config]() -> std::string {
|
||||
std::vector<cmSourceFile const*> sources;
|
||||
|
||||
@@ -952,8 +952,9 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatements(
|
||||
this->GetImplFileStream(fileConfig) << "\n";
|
||||
|
||||
if (!this->Configs[config].SwiftOutputMap.empty()) {
|
||||
std::string const mapFilePath = cmStrCat(
|
||||
this->GeneratorTarget->GetSupportDirectory(), "/output-file-map.json");
|
||||
std::string const mapFilePath =
|
||||
cmStrCat(this->GeneratorTarget->GetSupportDirectory(), '/', config, '/',
|
||||
"output-file-map.json");
|
||||
std::string const targetSwiftDepsPath = [this, config]() -> std::string {
|
||||
cmGeneratorTarget const* target = this->GeneratorTarget;
|
||||
if (const char* name = target->GetProperty("Swift_DEPENDENCIES_FILE")) {
|
||||
|
||||
1
Tests/RunCMake/Swift/L.swift
Normal file
1
Tests/RunCMake/Swift/L.swift
Normal file
@@ -0,0 +1 @@
|
||||
public let ThirtyTwo: Int = 32
|
||||
@@ -12,6 +12,12 @@ elseif(RunCMake_GENERATOR STREQUAL Ninja)
|
||||
run_cmake(SwiftMultiArch)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
endif()
|
||||
elseif(RunCMake_GENERATOR STREQUAL "Ninja Multi-Config")
|
||||
if(CMAKE_Swift_COMPILER)
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release")
|
||||
run_cmake(SwiftSimple)
|
||||
unset(RunCMake_TEST_OPTIONS)
|
||||
endif()
|
||||
else()
|
||||
run_cmake(NotSupported)
|
||||
endif()
|
||||
|
||||
2
Tests/RunCMake/Swift/SwiftSimple.cmake
Normal file
2
Tests/RunCMake/Swift/SwiftSimple.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
enable_language(Swift)
|
||||
add_library(L L.swift)
|
||||
Reference in New Issue
Block a user