1
0
Эх сурвалжийг харах

ENH: add support for mac osx

Bill Hoffman 24 жил өмнө
parent
commit
556d27c9eb

+ 4 - 1
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);

+ 21 - 1
Source/cmSourceFile.cxx

@@ -134,6 +134,26 @@ void cmSourceFile::SetName(const char* name, const char* dir)
     return;
     }
 
+  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,