From e7bd5fcd19064480142aae2928189dc822fad47c Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 9 Apr 2001 09:44:29 -0400 Subject: [PATCH] ENH: Added support for spaces in the output directory names. Spaces in the input directory name may work also, but are untested. --- Source/cmCableCommand.cxx | 24 ++++++++++------- Source/cmDSPMakefile.cxx | 44 ++++++++++++++++++------------- Source/cmDSPWriter.cxx | 44 ++++++++++++++++++------------- Source/cmUtilitySourceCommand.cxx | 4 +-- 4 files changed, 66 insertions(+), 50 deletions(-) diff --git a/Source/cmCableCommand.cxx b/Source/cmCableCommand.cxx index 8e2394540..03e065666 100644 --- a/Source/cmCableCommand.cxx +++ b/Source/cmCableCommand.cxx @@ -81,29 +81,33 @@ void cmCableCommand::SetupCableData() // We must add a custom rule to cause the cable_config.xml to be re-built // when it is removed. Rebuilding it means re-running CMake. - std::string cMakeLists = m_Makefile->GetStartDirectory(); + std::string cMakeLists = "\""; + cMakeLists += m_Makefile->GetStartDirectory(); cMakeLists += "/"; - cMakeLists += "CMakeLists.txt"; + cMakeLists += "CMakeLists.txt\""; std::string command; #if defined(_WIN32) && !defined(__CYGWIN__) - command = m_Makefile->GetHomeDirectory(); - command += "/CMake/Source/CMakeSetupCMD "; + command = "\""; + command += m_Makefile->GetHomeDirectory(); + command += "/CMake/Source/CMakeSetupCMD\" "; command += cMakeLists; command += " -DSP"; #else - command = m_Makefile->GetHomeOutputDirectory(); - command += "/CMake/Source/CMakeBuildTargets "; + command = "\""; + command += m_Makefile->GetHomeOutputDirectory(); + command += "/CMake/Source/CMakeBuildTargets\" "; command += cMakeLists; #endif - command += " -H"; + command += " -H\""; command += m_Makefile->GetHomeDirectory(); - command += " -S"; + command += "\" -S\""; command += m_Makefile->GetStartDirectory(); - command += " -O"; + command += "\" -O\""; command += m_Makefile->GetStartOutputDirectory(); - command += " -B"; + command += "\" -B\""; command += m_Makefile->GetHomeOutputDirectory(); + command += "\""; std::vector depends; m_Makefile->AddCustomCommand(cMakeLists.c_str(), diff --git a/Source/cmDSPMakefile.cxx b/Source/cmDSPMakefile.cxx index 0d8928c0e..7a5f60aa8 100644 --- a/Source/cmDSPMakefile.cxx +++ b/Source/cmDSPMakefile.cxx @@ -157,20 +157,23 @@ void cmDSPMakefile::WriteDSPBuildRule(std::ostream& fout) { std::string dspname = *(m_CreatedProjectNames.end()-1); dspname += ".dsp"; - std::string makefileIn = m_Makefile->GetStartDirectory(); + std::string makefileIn = "\""; + makefileIn += m_Makefile->GetStartDirectory(); makefileIn += "/"; - makefileIn += "CMakeLists.txt"; - std::string dsprule = m_Makefile->GetHomeDirectory(); - dsprule += "/CMake/Source/CMakeSetupCMD "; - dsprule += makefileIn; - dsprule += " -DSP -H"; + makefileIn += "CMakeLists.txt\""; + std::string dsprule = "\""; dsprule += m_Makefile->GetHomeDirectory(); - dsprule += " -S"; + dsprule += "/CMake/Source/CMakeSetupCMD\" "; + dsprule += makefileIn; + dsprule += " -DSP -H\""; + dsprule += m_Makefile->GetHomeDirectory(); + dsprule += "\" -S\""; dsprule += m_Makefile->GetStartDirectory(); - dsprule += " -O"; + dsprule += "\" -O\""; dsprule += m_Makefile->GetStartOutputDirectory(); - dsprule += " -B"; + dsprule += "\" -B\""; dsprule += m_Makefile->GetHomeOutputDirectory(); + dsprule += "\""; std::set depends; std::set outputs; @@ -186,20 +189,23 @@ void cmDSPMakefile::AddDSPBuildRule(cmSourceGroup& sourceGroup) { std::string dspname = *(m_CreatedProjectNames.end()-1); dspname += ".dsp"; - std::string makefileIn = m_Makefile->GetStartDirectory(); + std::string makefileIn = "\""; + makefileIn += m_Makefile->GetStartDirectory(); makefileIn += "/"; - makefileIn += "CMakeLists.txt"; - std::string dsprule = m_Makefile->GetHomeDirectory(); - dsprule += "/CMake/Source/CMakeSetupCMD "; - dsprule += makefileIn; - dsprule += " -DSP -H"; + makefileIn += "CMakeLists.txt\""; + std::string dsprule = "\""; dsprule += m_Makefile->GetHomeDirectory(); - dsprule += " -S"; + dsprule += "/CMake/Source/CMakeSetupCMD\" "; + dsprule += makefileIn; + dsprule += " -DSP -H\""; + dsprule += m_Makefile->GetHomeDirectory(); + dsprule += "\" -S\""; dsprule += m_Makefile->GetStartDirectory(); - dsprule += " -O"; + dsprule += "\" -O\""; dsprule += m_Makefile->GetStartOutputDirectory(); - dsprule += " -B"; + dsprule += "\" -B\""; dsprule += m_Makefile->GetHomeOutputDirectory(); + dsprule += "\""; std::vector depends; std::vector outputs; @@ -316,7 +322,7 @@ void cmDSPMakefile::WriteCustomRule(std::ostream& fout, for(std::set::const_iterator d = depends.begin(); d != depends.end(); ++d) { - fout << " \"" << d->c_str() << "\""; + fout << " " << d->c_str(); } fout << "\n " << command << "\n\n"; } diff --git a/Source/cmDSPWriter.cxx b/Source/cmDSPWriter.cxx index 0d8928c0e..7a5f60aa8 100644 --- a/Source/cmDSPWriter.cxx +++ b/Source/cmDSPWriter.cxx @@ -157,20 +157,23 @@ void cmDSPMakefile::WriteDSPBuildRule(std::ostream& fout) { std::string dspname = *(m_CreatedProjectNames.end()-1); dspname += ".dsp"; - std::string makefileIn = m_Makefile->GetStartDirectory(); + std::string makefileIn = "\""; + makefileIn += m_Makefile->GetStartDirectory(); makefileIn += "/"; - makefileIn += "CMakeLists.txt"; - std::string dsprule = m_Makefile->GetHomeDirectory(); - dsprule += "/CMake/Source/CMakeSetupCMD "; - dsprule += makefileIn; - dsprule += " -DSP -H"; + makefileIn += "CMakeLists.txt\""; + std::string dsprule = "\""; dsprule += m_Makefile->GetHomeDirectory(); - dsprule += " -S"; + dsprule += "/CMake/Source/CMakeSetupCMD\" "; + dsprule += makefileIn; + dsprule += " -DSP -H\""; + dsprule += m_Makefile->GetHomeDirectory(); + dsprule += "\" -S\""; dsprule += m_Makefile->GetStartDirectory(); - dsprule += " -O"; + dsprule += "\" -O\""; dsprule += m_Makefile->GetStartOutputDirectory(); - dsprule += " -B"; + dsprule += "\" -B\""; dsprule += m_Makefile->GetHomeOutputDirectory(); + dsprule += "\""; std::set depends; std::set outputs; @@ -186,20 +189,23 @@ void cmDSPMakefile::AddDSPBuildRule(cmSourceGroup& sourceGroup) { std::string dspname = *(m_CreatedProjectNames.end()-1); dspname += ".dsp"; - std::string makefileIn = m_Makefile->GetStartDirectory(); + std::string makefileIn = "\""; + makefileIn += m_Makefile->GetStartDirectory(); makefileIn += "/"; - makefileIn += "CMakeLists.txt"; - std::string dsprule = m_Makefile->GetHomeDirectory(); - dsprule += "/CMake/Source/CMakeSetupCMD "; - dsprule += makefileIn; - dsprule += " -DSP -H"; + makefileIn += "CMakeLists.txt\""; + std::string dsprule = "\""; dsprule += m_Makefile->GetHomeDirectory(); - dsprule += " -S"; + dsprule += "/CMake/Source/CMakeSetupCMD\" "; + dsprule += makefileIn; + dsprule += " -DSP -H\""; + dsprule += m_Makefile->GetHomeDirectory(); + dsprule += "\" -S\""; dsprule += m_Makefile->GetStartDirectory(); - dsprule += " -O"; + dsprule += "\" -O\""; dsprule += m_Makefile->GetStartOutputDirectory(); - dsprule += " -B"; + dsprule += "\" -B\""; dsprule += m_Makefile->GetHomeOutputDirectory(); + dsprule += "\""; std::vector depends; std::vector outputs; @@ -316,7 +322,7 @@ void cmDSPMakefile::WriteCustomRule(std::ostream& fout, for(std::set::const_iterator d = depends.begin(); d != depends.end(); ++d) { - fout << " \"" << d->c_str() << "\""; + fout << " " << d->c_str(); } fout << "\n " << command << "\n\n"; } diff --git a/Source/cmUtilitySourceCommand.cxx b/Source/cmUtilitySourceCommand.cxx index 0cb83ddb3..e098d5d4b 100644 --- a/Source/cmUtilitySourceCommand.cxx +++ b/Source/cmUtilitySourceCommand.cxx @@ -70,8 +70,8 @@ bool cmUtilitySourceCommand::Invoke(std::vector& args) // Construct the cache entry for the executable's location. std::string utilityExecutable = - utilityDirectory+"/"+cmakeCFGout+"/" - +utilityName+cmSystemTools::GetExecutableExtension(); + "\""+utilityDirectory+"/"+cmakeCFGout+"/" + +utilityName+cmSystemTools::GetExecutableExtension()+"\""; // Enter the value into the cache. cmCacheManager::GetInstance()->AddCacheEntry(cacheEntry.c_str(),