summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalXCodeGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-05-15 17:05:46 (GMT)
committerBrad King <brad.king@kitware.com>2017-05-15 17:05:46 (GMT)
commitc608000a2a57faaac6e1789f8502e734db5ddb0e (patch)
treec77724fd0bbe88941efa8c04c5f265c2f514ca93 /Source/cmGlobalXCodeGenerator.cxx
parentb8e707a6a1c5c486644132df01b7995740abfbd2 (diff)
downloadCMake-c608000a2a57faaac6e1789f8502e734db5ddb0e.zip
CMake-c608000a2a57faaac6e1789f8502e734db5ddb0e.tar.gz
CMake-c608000a2a57faaac6e1789f8502e734db5ddb0e.tar.bz2
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
Diffstat (limited to 'Source/cmGlobalXCodeGenerator.cxx')
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index 4e95fe7..84740ca 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -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);
}