From 9619ee3aa10d6e89129a66362433b969e35e6232 Mon Sep 17 00:00:00 2001 From: Andy Cedilnik Date: Mon, 30 Sep 2002 11:41:53 -0400 Subject: [PATCH] Another attempt on Windows 98 --- Source/CMakeLists.txt | 2 ++ Source/cmSystemTools.cxx | 2 +- Source/cmake.cxx | 5 +++-- Source/cmw9xcom.cxx | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 Source/cmw9xcom.cxx diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index a1bc40888..8a277cdac 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 6c9a4db91..748b95faf 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 9a8401fd6..b30b5ff7d 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 000000000..7ea9409da --- /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()); +}