summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2002-09-30 15:41:53 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2002-09-30 15:41:53 (GMT)
commit9619ee3aa10d6e89129a66362433b969e35e6232 (patch)
treedfdca421c571121733b48044d71a54365a802278 /Source
parentef2af0514053a60f68769aade9e027631ac03b03 (diff)
downloadCMake-9619ee3aa10d6e89129a66362433b969e35e6232.zip
CMake-9619ee3aa10d6e89129a66362433b969e35e6232.tar.gz
CMake-9619ee3aa10d6e89129a66362433b969e35e6232.tar.bz2
Another attempt on Windows 98
Diffstat (limited to 'Source')
-rw-r--r--Source/CMakeLists.txt2
-rw-r--r--Source/cmSystemTools.cxx2
-rw-r--r--Source/cmake.cxx5
-rw-r--r--Source/cmw9xcom.cxx36
4 files changed, 42 insertions, 3 deletions
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index a1bc408..8a277cd 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -77,6 +77,8 @@ IF (WIN32)
)
IF( NOT BORLAND )
LINK_LIBRARIES( rpcrt4.lib )
+ ADD_EXECUTABLE(cmw9xcom cmw9xcom.cxx)
+ TARGET_LINK_LIBRARIES(cmw9xcom CMakeLib)
SUBDIRS(MFCDialog)
ENDIF( NOT BORLAND )
ENDIF(NOT UNIX)
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index 6c9a4db..748b95f 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -1480,7 +1480,7 @@ bool RunCommandViaWin32(const char* command,
int& retVal,
bool verbose)
{
-#if (1) // defined(__BORLANDC__)
+#if defined(__BORLANDC__)
return ::WindowsRunCommand(command, dir, output, retVal, verbose);
#else // Visual studio
::SetLastError(ERROR_SUCCESS);
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 9a8401f..b30b5ff 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -433,8 +433,9 @@ int cmake::AddCMakePaths(const char *arg0)
"Path to CMake installation.", cmCacheManager::INTERNAL);
#ifdef _WIN32
- cmSystemTools::SetWindows9xComspecSubstitute(
- (cMakeSelf + " -E comspec").c_str());
+ std::string path = cmSystemTools::GetFilenamePath(cMakeSelf);
+ std::string comspec = path + "\\cmw9xcom";
+ cmSystemTools::SetWindows9xComspecSubstitute(comspec.c_str());
#endif
return 1;
}
diff --git a/Source/cmw9xcom.cxx b/Source/cmw9xcom.cxx
new file mode 100644
index 0000000..7ea9409
--- /dev/null
+++ b/Source/cmw9xcom.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+ Program: Insight Segmentation & Registration Toolkit
+ Module: $RCSfile$
+ Language: C++
+ Date: $Date$
+ Version: $Revision$
+
+ Copyright (c) 2002 Insight Consortium. All rights reserved.
+ See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+#include "cmSystemTools.h"
+#include "cmWin32ProcessExecution.h"
+
+// this is a test driver program for cmake.
+int main (int argc, char *argv[])
+{
+ if ( argc <= 1 )
+ {
+ std::cerr << "Usage: " << argv[0] << " executable" << std::endl;
+ return 1;
+ }
+ std::string command;
+ int cc;
+ for ( cc = 1; cc < argc; cc ++ )
+ {
+ command += argv[cc];
+ }
+
+ return cmWin32ProcessExecution::Windows9xHack(command.c_str());
+}