cmMakefile: De-duplicate CMAKE_CURRENT_LIST_FILE variable names

This commit is contained in:
Brad King
2025-04-11 12:21:24 -04:00
parent 0b85f8f137
commit ce8be3da80

View File

@@ -90,6 +90,12 @@
# endif # endif
#endif #endif
namespace {
std::string const kCMAKE_CURRENT_LIST_DIR = "CMAKE_CURRENT_LIST_DIR";
std::string const kCMAKE_CURRENT_LIST_FILE = "CMAKE_CURRENT_LIST_FILE";
std::string const kCMAKE_PARENT_LIST_FILE = "CMAKE_PARENT_LIST_FILE";
}
class cmMessenger; class cmMessenger;
cmDirectoryId::cmDirectoryId(std::string s) cmDirectoryId::cmDirectoryId(std::string s)
@@ -611,8 +617,8 @@ cmMakefile::IncludeScope::~IncludeScope()
bool cmMakefile::ReadDependentFile(std::string const& filename, bool cmMakefile::ReadDependentFile(std::string const& filename,
bool noPolicyScope) bool noPolicyScope)
{ {
if (cmValue def = this->GetDefinition("CMAKE_CURRENT_LIST_FILE")) { if (cmValue def = this->GetDefinition(kCMAKE_CURRENT_LIST_FILE)) {
this->AddDefinition("CMAKE_PARENT_LIST_FILE", *def); this->AddDefinition(kCMAKE_PARENT_LIST_FILE, *def);
} }
std::string filenametoread = cmSystemTools::CollapseFullPath( std::string filenametoread = cmSystemTools::CollapseFullPath(
filename, this->GetCurrentSourceDirectory()); filename, this->GetCurrentSourceDirectory());
@@ -811,16 +817,16 @@ void cmMakefile::RunListFile(cmListFile const& listFile,
this->ListFiles.push_back(filenametoread); this->ListFiles.push_back(filenametoread);
std::string currentParentFile = std::string currentParentFile =
this->GetSafeDefinition("CMAKE_PARENT_LIST_FILE"); this->GetSafeDefinition(kCMAKE_PARENT_LIST_FILE);
std::string currentFile = this->GetSafeDefinition("CMAKE_CURRENT_LIST_FILE"); std::string currentFile = this->GetSafeDefinition(kCMAKE_CURRENT_LIST_FILE);
this->AddDefinition("CMAKE_CURRENT_LIST_FILE", filenametoread); this->AddDefinition(kCMAKE_CURRENT_LIST_FILE, filenametoread);
this->AddDefinition("CMAKE_CURRENT_LIST_DIR", this->AddDefinition(kCMAKE_CURRENT_LIST_DIR,
cmSystemTools::GetFilenamePath(filenametoread)); cmSystemTools::GetFilenamePath(filenametoread));
this->MarkVariableAsUsed("CMAKE_PARENT_LIST_FILE"); this->MarkVariableAsUsed(kCMAKE_PARENT_LIST_FILE);
this->MarkVariableAsUsed("CMAKE_CURRENT_LIST_FILE"); this->MarkVariableAsUsed(kCMAKE_CURRENT_LIST_FILE);
this->MarkVariableAsUsed("CMAKE_CURRENT_LIST_DIR"); this->MarkVariableAsUsed(kCMAKE_CURRENT_LIST_DIR);
// Run the parsed commands. // Run the parsed commands.
size_t const numberFunctions = listFile.Functions.size(); size_t const numberFunctions = listFile.Functions.size();
@@ -869,13 +875,13 @@ void cmMakefile::RunListFile(cmListFile const& listFile,
} }
} }
this->AddDefinition("CMAKE_PARENT_LIST_FILE", currentParentFile); this->AddDefinition(kCMAKE_PARENT_LIST_FILE, currentParentFile);
this->AddDefinition("CMAKE_CURRENT_LIST_FILE", currentFile); this->AddDefinition(kCMAKE_CURRENT_LIST_FILE, currentFile);
this->AddDefinition("CMAKE_CURRENT_LIST_DIR", this->AddDefinition(kCMAKE_CURRENT_LIST_DIR,
cmSystemTools::GetFilenamePath(currentFile)); cmSystemTools::GetFilenamePath(currentFile));
this->MarkVariableAsUsed("CMAKE_PARENT_LIST_FILE"); this->MarkVariableAsUsed(kCMAKE_PARENT_LIST_FILE);
this->MarkVariableAsUsed("CMAKE_CURRENT_LIST_FILE"); this->MarkVariableAsUsed(kCMAKE_CURRENT_LIST_FILE);
this->MarkVariableAsUsed("CMAKE_CURRENT_LIST_DIR"); this->MarkVariableAsUsed(kCMAKE_CURRENT_LIST_DIR);
} }
void cmMakefile::EnforceDirectoryLevelRules() const void cmMakefile::EnforceDirectoryLevelRules() const
@@ -1520,7 +1526,7 @@ void cmMakefile::Configure()
cmSystemTools::MakeDirectory(filesDir); cmSystemTools::MakeDirectory(filesDir);
assert(cmSystemTools::FileExists(currentStart, true)); assert(cmSystemTools::FileExists(currentStart, true));
this->AddDefinition("CMAKE_PARENT_LIST_FILE", currentStart); this->AddDefinition(kCMAKE_PARENT_LIST_FILE, currentStart);
#ifdef CMake_ENABLE_DEBUGGER #ifdef CMake_ENABLE_DEBUGGER
if (this->GetCMakeInstance()->GetDebugAdapter()) { if (this->GetCMakeInstance()->GetDebugAdapter()) {
@@ -3392,7 +3398,7 @@ std::string cmMakefile::GetModulesFile(cm::string_view filename, bool& system,
// from which we are being called is located itself in CMAKE_ROOT, then // from which we are being called is located itself in CMAKE_ROOT, then
// prefer results from CMAKE_ROOT depending on the policy setting. // prefer results from CMAKE_ROOT depending on the policy setting.
if (!moduleInCMakeModulePath.empty() && !moduleInCMakeRoot.empty()) { if (!moduleInCMakeModulePath.empty() && !moduleInCMakeRoot.empty()) {
cmValue currentFile = this->GetDefinition("CMAKE_CURRENT_LIST_FILE"); cmValue currentFile = this->GetDefinition(kCMAKE_CURRENT_LIST_FILE);
std::string mods = cmStrCat(cmSystemTools::GetCMakeRoot(), "/Modules/"); std::string mods = cmStrCat(cmSystemTools::GetCMakeRoot(), "/Modules/");
if (currentFile && cmSystemTools::IsSubDirectory(*currentFile, mods)) { if (currentFile && cmSystemTools::IsSubDirectory(*currentFile, mods)) {
system = true; system = true;