Merge topic 'mixed-mode-multi-arch'

15f6606abd Swift: disallow multiple `CMAKE_OSX_ARCHITECTURES` with Swift

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4283
This commit is contained in:
Brad King
2020-01-29 15:32:30 +00:00
committed by Kitware Robot
5 changed files with 24 additions and 0 deletions
+11
View File
@@ -684,6 +684,17 @@ bool cmGlobalNinjaGenerator::CheckLanguages(
if (cmContains(languages, "Fortran")) {
return this->CheckFortran(mf);
}
if (cmContains(languages, "Swift")) {
const std::string architectures =
mf->GetSafeDefinition("CMAKE_OSX_ARCHITECTURES");
if (architectures.find_first_of(';') != std::string::npos) {
mf->IssueMessage(MessageType::FATAL_ERROR,
"multiple values for CMAKE_OSX_ARCHITECTURES not "
"supported with Swift");
cmSystemTools::SetFatalErrorOccured();
return false;
}
}
return true;
}
+4
View File
@@ -7,6 +7,10 @@ if(RunCMake_GENERATOR STREQUAL Xcode)
elseif(RunCMake_GENERATOR STREQUAL Ninja)
if(CMAKE_Swift_COMPILER)
run_cmake(Win32ExecutableDisallowed)
set(RunCMake_TEST_OPTIONS -DCMAKE_SYSTEM_NAME=Darwin)
run_cmake(SwiftMultiArch)
unset(RunCMake_TEST_OPTIONS)
endif()
else()
run_cmake(NotSupported)
@@ -0,0 +1 @@
1
@@ -0,0 +1,4 @@
^CMake Error at SwiftMultiArch.cmake:3 \(project\):
multiple values for CMAKE_OSX_ARCHITECTURES not supported with Swift
Call Stack \(most recent call first\):
CMakeLists.txt:3
@@ -0,0 +1,4 @@
cmake_minimum_required(VERSION 3.15.1)
set(CMAKE_OSX_ARCHITECTURES "armv7;arm64;i386;x86_64")
project(SwiftMultiArch
LANGUAGES Swift)