From 3c47ac5b2571939f7d987d9f23a9969b1f67f46e Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 18 Apr 2018 08:04:55 -0400 Subject: OpenWatcom: Add workaround for lack of error on missing library The OpenWatcom tools do not fail to link when a library is missing if no symbols were needed from it. This can break `try_compile` checks. Teach `cmGlobalGenerator::Build` to pretend that the build tool returned non-zero if the output contains the corresponding warning. --- Source/cmGlobalGenerator.cxx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index f9eb90f..cf277d5 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -1893,6 +1893,13 @@ int cmGlobalGenerator::Build(const std::string& /*unused*/, retVal = 1; } + // The OpenWatcom tools do not return an error code when a link + // library is not found! + if (this->CMakeInstance->GetState()->UseWatcomWMake() && retVal == 0 && + output.find("W1008: cannot open") != std::string::npos) { + retVal = 1; + } + return retVal; } -- cgit v0.12