CMP0047: Fix CMAKE_COMPILER_IS_GNU(CC|CXX) in OLD behavior
The implementation of CMP0047 detects the QNX compiler id internally, then changes it to GNU after the language is fully enabled. This is too late to correctly set the old IS_GNU variables, so set them as part of the policy OLD behavior. Reported-by: Mike Lattanzio <mlattanzio@blackberry.com>
This commit is contained in:
parent
6f0d1a38c8
commit
70796ef026
|
@ -844,6 +844,14 @@ void cmGlobalGenerator::CheckCompilerIdCompatibility(cmMakefile* mf,
|
||||||
case cmPolicies::OLD:
|
case cmPolicies::OLD:
|
||||||
// OLD behavior is to convert QCC to GNU.
|
// OLD behavior is to convert QCC to GNU.
|
||||||
mf->AddDefinition(compilerIdVar, "GNU");
|
mf->AddDefinition(compilerIdVar, "GNU");
|
||||||
|
if(lang == "C")
|
||||||
|
{
|
||||||
|
mf->AddDefinition("CMAKE_COMPILER_IS_GNUCC", "1");
|
||||||
|
}
|
||||||
|
else if(lang == "CXX")
|
||||||
|
{
|
||||||
|
mf->AddDefinition("CMAKE_COMPILER_IS_GNUCXX", "1");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case cmPolicies::REQUIRED_IF_USED:
|
case cmPolicies::REQUIRED_IF_USED:
|
||||||
case cmPolicies::REQUIRED_ALWAYS:
|
case cmPolicies::REQUIRED_ALWAYS:
|
||||||
|
|
Loading…
Reference in New Issue