diff options
author | Brad King <brad.king@kitware.com> | 2019-03-20 14:48:28 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-03-20 14:52:31 (GMT) |
commit | d3dcf8d7745a1f1435797cb3a1451ef4ddb7ce2c (patch) | |
tree | f16a834ecc3a646a11809d0654bc4b7e30ac80cb | |
parent | bf02d625325535f485512eba307cff54c08bb257 (diff) | |
download | CMake-d3dcf8d7745a1f1435797cb3a1451ef4ddb7ce2c.zip CMake-d3dcf8d7745a1f1435797cb3a1451ef4ddb7ce2c.tar.gz CMake-d3dcf8d7745a1f1435797cb3a1451ef4ddb7ce2c.tar.bz2 |
Eclipse: Fix extra generator to not crash on interface libraries
Do not process interface libraries in ways that expect build information
to be present internally. This filtering was left out of the extra
generator accidentally when interface libraries were introduced, but it
worked by accident until commit 76ad2ecb50 (Order SYSTEM include
directories after non-system directories, 2018-04-13, v3.12.0-rc1~179^2)
added a code path that was not tolerated.
Fixes: #18363
-rw-r--r-- | Source/cmExtraEclipseCDT4Generator.cxx | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/cmExtraEclipseCDT4Generator.cxx b/Source/cmExtraEclipseCDT4Generator.cxx index 30067b7..e05f74b 100644 --- a/Source/cmExtraEclipseCDT4Generator.cxx +++ b/Source/cmExtraEclipseCDT4Generator.cxx @@ -845,6 +845,9 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const const std::vector<cmGeneratorTarget*>& targets = lgen->GetGeneratorTargets(); for (cmGeneratorTarget* target : targets) { + if (target->GetType() == cmStateEnums::INTERFACE_LIBRARY) { + continue; + } std::vector<std::string> includeDirs; std::string config = mf->GetSafeDefinition("CMAKE_BUILD_TYPE"); lgen->GetIncludeDirectories(includeDirs, target, "C", config); @@ -971,6 +974,8 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const virtDir, "", ""); } } break; + case cmStateEnums::INTERFACE_LIBRARY: + break; default: break; } |