summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorMatheus Izvekov <mizvekov@gmail.com>2024-01-13 21:02:37 (GMT)
committerMatheus Izvekov <mizvekov@gmail.com>2024-01-14 17:14:26 (GMT)
commitc09f8d27cd8aa9d44993cf39a663ca331017ed75 (patch)
tree029dfdbb09b0414c53b74d34e67e3699bf7a693a /Source
parent01e3eb91b85b6d9c622998bc9b3e29168ebe0c5a (diff)
downloadCMake-c09f8d27cd8aa9d44993cf39a663ca331017ed75.zip
CMake-c09f8d27cd8aa9d44993cf39a663ca331017ed75.tar.gz
CMake-c09f8d27cd8aa9d44993cf39a663ca331017ed75.tar.bz2
cxxmodules: compute link information for C++ module-consuming targets
Compute link information for all C++ targets which support modules instead of just those which may provide modules, as they may import modules as well. This captures `OBJECT` libraries using modules which otherwise do not have link steps. Fixes: #25592
Diffstat (limited to 'Source')
-rw-r--r--Source/cmComputeLinkInformation.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx
index e7bef68..47717e3 100644
--- a/Source/cmComputeLinkInformation.cxx
+++ b/Source/cmComputeLinkInformation.cxx
@@ -553,7 +553,8 @@ bool cmComputeLinkInformation::Compute()
this->Target->GetType() == cmStateEnums::MODULE_LIBRARY ||
this->Target->GetType() == cmStateEnums::STATIC_LIBRARY ||
(this->Target->CanCompileSources() &&
- (this->Target->HaveCxx20ModuleSources() ||
+ (this->Target->HaveCxxModuleSupport(this->Config) ==
+ cmGeneratorTarget::Cxx20SupportLevel::Supported ||
this->Target->HaveFortranSources())))) {
return false;
}