Ver Fonte

ENH: fix for win98 check for directory existence

Bill Hoffman há 24 anos atrás
pai
commit
5291b7d025

+ 5 - 0
Source/cmBorlandMakefileGenerator.cxx

@@ -100,6 +100,11 @@ void cmBorlandMakefileGenerator::OutputMakeVariables(std::ostream& fout)
     "CMAKE_SHLIB_SUFFIX                  = @CMAKE_SHLIB_SUFFIX@\n" 
     "CMAKE_LINKER_FLAGS                  = @CMAKE_LINKER_FLAGS@ @LINKER_BUILD_FLAGS@\n"
     "CMAKE_CXX_FLAGS      = -P @CMAKE_CXX_FLAGS@ @BUILD_FLAGS@\n"
+    "!IF \"$(OS)\" == \"Windows_NT\"\n"
+    "NULL=\n"
+    "!ELSE \n"
+    "NULL=nul\n"
+    "!ENDIF \n"
     "RM = del\n";
   std::string buildType = "CMAKE_CXX_FLAGS_";
   buildType +=  m_Makefile->GetDefinition("CMAKE_BUILD_TYPE");

+ 6 - 1
Source/cmNMakeMakefileGenerator.cxx

@@ -157,6 +157,11 @@ void cmNMakeMakefileGenerator::OutputMakeVariables(std::ostream& fout)
     "CMAKE_EXECUTABLE_SUFFIX                = @CMAKE_EXECUTABLE_SUFFIX@\n"
     "CMAKE_STATICLIB_SUFFIX                 = @CMAKE_STATICLIB_SUFFIX@\n"
     "CMAKE_SHLIB_SUFFIX                     = @CMAKE_SHLIB_SUFFIX@\n"
+    "!IF \"$(OS)\" == \"Windows_NT\"\n"
+    "NULL=\n"
+    "!ELSE \n"
+    "NULL=nul\n"
+    "!ENDIF \n"
     "RM = del\n";
 
   std::string buildType = "CMAKE_CXX_FLAGS_";
@@ -241,7 +246,7 @@ void cmNMakeMakefileGenerator::BuildInSubDirectory(std::ostream& fout,
     std::string dir = directory;
     cmSystemTools::ConvertToWindowsSlashes(dir);
     dir = cmSystemTools::EscapeSpaces(dir.c_str());
-    fout << "\tif not exist " << dir
+    fout << "\tif not exist \"" << dir << "\\$(NULL)\""
          << " " 
          << "$(MAKE) $(MAKESILENT) rebuild_cache\n"
          << "\techo Building " << target1 << " in directory " << directory << "\n"