summaryrefslogtreecommitdiffstats
path: root/Source/cmLoadCommandCommand.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmLoadCommandCommand.cxx')
-rw-r--r--Source/cmLoadCommandCommand.cxx13
1 files changed, 11 insertions, 2 deletions
diff --git a/Source/cmLoadCommandCommand.cxx b/Source/cmLoadCommandCommand.cxx
index 60edd56..fcdc045 100644
--- a/Source/cmLoadCommandCommand.cxx
+++ b/Source/cmLoadCommandCommand.cxx
@@ -226,7 +226,13 @@ bool cmLoadCommandCommand::InitialPass(std::vector<std::string> const& args)
{
return true;
}
-
+
+ // Construct a variable to report what file was loaded, if any.
+ // Start by removing the definition in case of failure.
+ std::string reportVar = "CMAKE_LOADED_COMMAND_";
+ reportVar += args[0];
+ m_Makefile->RemoveDefinition(reportVar.c_str());
+
// the file must exist
std::string fullPath = cmDynamicLoader::LibPrefix();
fullPath += "cm" + args[0] + cmDynamicLoader::LibExtension();
@@ -269,7 +275,10 @@ bool cmLoadCommandCommand::InitialPass(std::vector<std::string> const& args)
this->SetError(err.c_str());
return false;
}
-
+
+ // Report what file was loaded for this command.
+ m_Makefile->AddDefinition(reportVar.c_str(), fullPath.c_str());
+
// find the init function
std::string initFuncName = args[0] + "Init";
CM_INIT_FUNCTION initFunction