ENH: Added support for spaces in the output directory names. Spaces in the input directory name may work also, but are untested.

This commit is contained in:
Brad King 2001-04-09 09:44:29 -04:00
parent 70b14df3f0
commit e7bd5fcd19
4 changed files with 66 additions and 50 deletions

View File

@ -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<std::string> depends;
m_Makefile->AddCustomCommand(cMakeLists.c_str(),

View File

@ -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<std::string> depends;
std::set<std::string> 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<std::string> depends;
std::vector<std::string> outputs;
@ -316,7 +322,7 @@ void cmDSPMakefile::WriteCustomRule(std::ostream& fout,
for(std::set<std::string>::const_iterator d = depends.begin();
d != depends.end(); ++d)
{
fout << " \"" << d->c_str() << "\"";
fout << " " << d->c_str();
}
fout << "\n " << command << "\n\n";
}

View File

@ -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<std::string> depends;
std::set<std::string> 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<std::string> depends;
std::vector<std::string> outputs;
@ -316,7 +322,7 @@ void cmDSPMakefile::WriteCustomRule(std::ostream& fout,
for(std::set<std::string>::const_iterator d = depends.begin();
d != depends.end(); ++d)
{
fout << " \"" << d->c_str() << "\"";
fout << " " << d->c_str();
}
fout << "\n " << command << "\n\n";
}

View File

@ -70,8 +70,8 @@ bool cmUtilitySourceCommand::Invoke(std::vector<std::string>& 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(),