Xcode: Work around xcodebuild spurious hangs in try_compile

`xcodebuild` occasionally hangs on some macOS machines (and can be
reproduced independent of CMake).  It only happens a few times in 1000
runs, but configuration of a large project calls `try_compile` many
times and therefore frequently hangs due to this problem.  I've been
unable to reproduce the hang when using a scheme to build, so always
generate a scheme in `try_compile` projects to work around the problem.

Issue: #16752
This commit is contained in:
Brad King
2017-05-15 13:05:46 -04:00
parent b8e707a6a1
commit c608000a2a

View File

@@ -3280,7 +3280,8 @@ void cmGlobalXCodeGenerator::OutputXCodeProject(
// Since the lowest available Xcode version for testing was 7.0,
// I'm setting this as a limit then
if (this->XcodeVersion >= 70) {
if (root->GetMakefile()->IsOn("CMAKE_XCODE_GENERATE_SCHEME")) {
if (root->GetMakefile()->GetCMakeInstance()->GetIsInTryCompile() ||
root->GetMakefile()->IsOn("CMAKE_XCODE_GENERATE_SCHEME")) {
this->OutputXCodeSharedSchemes(xcodeDir);
this->OutputXCodeWorkspaceSettings(xcodeDir);
}