ENH: getting closer
This commit is contained in:
parent
3bb54c00d5
commit
7baa78034e
|
@ -35,6 +35,7 @@ void cmGlobalXCodeGenerator::EnableLanguage(std::vector<std::string>const& lang,
|
||||||
{
|
{
|
||||||
mf->AddDefinition("CMAKE_GENERATOR_CC", "gcc");
|
mf->AddDefinition("CMAKE_GENERATOR_CC", "gcc");
|
||||||
mf->AddDefinition("CMAKE_GENERATOR_CXX", "g++");
|
mf->AddDefinition("CMAKE_GENERATOR_CXX", "g++");
|
||||||
|
mf->AddDefinition("CMAKE_GENERATOR_NO_COMPILER_ENV", "1");
|
||||||
this->cmGlobalGenerator::EnableLanguage(lang, mf);
|
this->cmGlobalGenerator::EnableLanguage(lang, mf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,6 +65,7 @@ int cmGlobalXCodeGenerator::TryCompile(const char *,
|
||||||
*/
|
*/
|
||||||
std::string cwd = cmSystemTools::GetCurrentWorkingDirectory();
|
std::string cwd = cmSystemTools::GetCurrentWorkingDirectory();
|
||||||
cmSystemTools::ChangeDirectory(bindir);
|
cmSystemTools::ChangeDirectory(bindir);
|
||||||
|
std::cerr << "ChangeDirectory " << bindir << "\n";
|
||||||
// Usage: xcodebuild [-project <projectname>] [-activetarget]
|
// Usage: xcodebuild [-project <projectname>] [-activetarget]
|
||||||
// [-alltargets] [-target <targetname>]... [-activebuildstyle]
|
// [-alltargets] [-target <targetname>]... [-activebuildstyle]
|
||||||
// [-buildstyle <buildstylename>] [-optionalbuildstyle <buildstylename>]
|
// [-buildstyle <buildstylename>] [-optionalbuildstyle <buildstylename>]
|
||||||
|
@ -72,13 +74,14 @@ int cmGlobalXCodeGenerator::TryCompile(const char *,
|
||||||
|
|
||||||
makeCommand += " -project ";
|
makeCommand += " -project ";
|
||||||
makeCommand += projectName;
|
makeCommand += projectName;
|
||||||
|
makeCommand += ".xcode";
|
||||||
makeCommand += " build ";
|
makeCommand += " build ";
|
||||||
if (targetName)
|
if (targetName)
|
||||||
{
|
{
|
||||||
makeCommand += "-target ";
|
makeCommand += "-target ";
|
||||||
makeCommand += targetName;
|
makeCommand += targetName;
|
||||||
}
|
}
|
||||||
|
makeCommand += " -buildstyle Development ";
|
||||||
int retVal;
|
int retVal;
|
||||||
int timeout = cmGlobalGenerator::s_TryCompileTimeout;
|
int timeout = cmGlobalGenerator::s_TryCompileTimeout;
|
||||||
if (!cmSystemTools::RunSingleCommand(makeCommand.c_str(), output, &retVal,
|
if (!cmSystemTools::RunSingleCommand(makeCommand.c_str(), output, &retVal,
|
||||||
|
@ -89,6 +92,8 @@ int cmGlobalXCodeGenerator::TryCompile(const char *,
|
||||||
cmSystemTools::ChangeDirectory(cwd.c_str());
|
cmSystemTools::ChangeDirectory(cwd.c_str());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
std::cerr << makeCommand << "\n";
|
||||||
|
std::cerr << "build worked " << retVal << "\n";;
|
||||||
cmSystemTools::ChangeDirectory(cwd.c_str());
|
cmSystemTools::ChangeDirectory(cwd.c_str());
|
||||||
return retVal;
|
return retVal;
|
||||||
}
|
}
|
||||||
|
@ -167,8 +172,21 @@ cmGlobalXCodeGenerator::CreateXCodeSourceFile(cmLocalGenerator* lg,
|
||||||
cmXCodeObject* settings = this->CreateObject(cmXCodeObject::ATTRIBUTE_GROUP);
|
cmXCodeObject* settings = this->CreateObject(cmXCodeObject::ATTRIBUTE_GROUP);
|
||||||
buildFile->AddAttribute("settings", settings);
|
buildFile->AddAttribute("settings", settings);
|
||||||
fileRef->AddAttribute("fileEncoding", this->CreateString("4"));
|
fileRef->AddAttribute("fileEncoding", this->CreateString("4"));
|
||||||
|
std::string lang =
|
||||||
|
this->GetLanguageFromExtension(sf->GetSourceExtension().c_str());
|
||||||
|
std::string sourcecode = "sourcecode";
|
||||||
|
if(lang == "C")
|
||||||
|
{
|
||||||
|
sourcecode += ".c.c";
|
||||||
|
}
|
||||||
|
// default to c++
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sourcecode += ".cpp.cpp";
|
||||||
|
}
|
||||||
|
|
||||||
fileRef->AddAttribute("lastKnownFileType",
|
fileRef->AddAttribute("lastKnownFileType",
|
||||||
this->CreateString("sourcecode.cpp.cpp"));
|
this->CreateString(sourcecode.c_str()));
|
||||||
fileRef->AddAttribute("path", this->CreateString(
|
fileRef->AddAttribute("path", this->CreateString(
|
||||||
lg->ConvertToRelativeOutputPath(sf->GetFullPath().c_str()).c_str()));
|
lg->ConvertToRelativeOutputPath(sf->GetFullPath().c_str()).c_str()));
|
||||||
fileRef->AddAttribute("refType", this->CreateString("4"));
|
fileRef->AddAttribute("refType", this->CreateString("4"));
|
||||||
|
|
|
@ -20,6 +20,14 @@ cmXCodeObject::cmXCodeObject(PBXType ptype, Type type)
|
||||||
str << (void*)this;
|
str << (void*)this;
|
||||||
m_Id = str.str();
|
m_Id = str.str();
|
||||||
cmSystemTools::ReplaceString(m_Id, "0x", "");
|
cmSystemTools::ReplaceString(m_Id, "0x", "");
|
||||||
|
if(m_Id.size() < 24)
|
||||||
|
{
|
||||||
|
int diff = 24 - m_Id.size();
|
||||||
|
for(int i =0; i < diff; ++i)
|
||||||
|
{
|
||||||
|
m_Id += "0";
|
||||||
|
}
|
||||||
|
}
|
||||||
m_Type = type;
|
m_Type = type;
|
||||||
if(m_Type == OBJECT)
|
if(m_Type == OBJECT)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue