From 60507258c786eb7b04f9248825659b47dc617c63 Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 9 Mar 2001 10:52:43 -0500 Subject: [PATCH] ERR: Added automatic creation of directory for cable_config.xml file and corresponding error reporting. --- Source/cmCableCommand.cxx | 11 +++++++++-- Source/cmCableData.cxx | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Source/cmCableCommand.cxx b/Source/cmCableCommand.cxx index df6b6e323..3f4be4efe 100644 --- a/Source/cmCableCommand.cxx +++ b/Source/cmCableCommand.cxx @@ -64,11 +64,18 @@ void cmCableCommand::SetupCableData() if(m_CableData) { return; } } - + + // We must make sure the output directory exists so that the CABLE + // configuration file can be opened by the cmCableData. + std::string pathName = m_Makefile->GetStartOutputDirectory(); + if(!cmSystemTools::MakeDirectory(pathName.c_str())) + { + cmSystemTools::Error("Unable to make directory ", pathName.c_str()); + } + // We didn't find another cmCableCommand with a valid cmCableData. // We must allocate the new cmCableData ourselves, and with this // command as its owner. - std::string pathName = m_Makefile->GetStartOutputDirectory(); pathName += "/cable_config.xml"; m_CableData = new cmCableData(this, pathName); } diff --git a/Source/cmCableData.cxx b/Source/cmCableData.cxx index 7fadb41a4..618a70891 100644 --- a/Source/cmCableData.cxx +++ b/Source/cmCableData.cxx @@ -59,6 +59,10 @@ void cmCableData::OpenOutputFile(const std::string& name) { this->WriteConfigurationHeader(); } + else + { + cmSystemTools::Error("Unable to open CABLE config file: ", name.c_str()); + } }