summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmMakefile.cxx5
-rw-r--r--Source/cmSourceFile.cxx22
2 files changed, 25 insertions, 2 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index a0bb617..f449610 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -108,8 +108,11 @@ void cmMakefile::AddDefaultCommands()
// Cygwin is more like unix so enable the unix commands
#if defined(__CYGWIN__)
this->AddDefinition("UNIX", "1");
+ this->AddDefinition("CYGWIN", "1");
+#endif
+#if defined(__APPLE__)
+ this->AddDefinition("APPLE", "1");
#endif
-
// always creat an empty install target
cmTarget target;
target.SetType(cmTarget::INSTALL);
diff --git a/Source/cmSourceFile.cxx b/Source/cmSourceFile.cxx
index 29e7444..2081575 100644
--- a/Source/cmSourceFile.cxx
+++ b/Source/cmSourceFile.cxx
@@ -135,6 +135,26 @@ void cmSourceFile::SetName(const char* name, const char* dir)
}
hname = pathname;
+ hname += ".m";
+ if(cmSystemTools::FileExists(hname.c_str()))
+ {
+ m_SourceExtension = "m";
+ m_HeaderFileOnly = false;
+ m_FullPath = hname;
+ return;
+ }
+
+ hname = pathname;
+ hname += ".M";
+ if(cmSystemTools::FileExists(hname.c_str()))
+ {
+ m_SourceExtension = "M";
+ m_HeaderFileOnly = false;
+ m_FullPath = hname;
+ return;
+ }
+
+ hname = pathname;
hname += ".h";
if(cmSystemTools::FileExists(hname.c_str()))
{
@@ -144,7 +164,7 @@ void cmSourceFile::SetName(const char* name, const char* dir)
}
cmSystemTools::Error("can not find file ", hname.c_str());
- cmSystemTools::Error("Tried .txx .cxx .c for ", hname.c_str());
+ cmSystemTools::Error("Tried .cxx .c .txx .cpp .m .M .h for ", hname.c_str());
}
void cmSourceFile::SetName(const char* name, const char* dir, const char *ext,