From 9255e40d81ea587bba21081dbae3732e0a6a2d80 Mon Sep 17 00:00:00 2001 From: Andy Cedilnik Date: Mon, 10 May 2004 17:44:29 -0400 Subject: [PATCH] ENH: Add a way to force ctest to be a new process --- Source/cmCTest.cxx | 7 ++++++- Source/cmCTest.h | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx index a54a32fff0..6c64243843 100644 --- a/Source/cmCTest.cxx +++ b/Source/cmCTest.cxx @@ -348,6 +348,7 @@ bool TryExecutable(const char *dir, const char *file, cmCTest::cmCTest() { + m_ForceNewCTestProcess = false; m_TomorrowTag = false; m_BuildNoCMake = false; m_BuildNoClean = false; @@ -3330,7 +3331,7 @@ int cmCTest::RunMakeCommand(const char* command, std::string* output, int cmCTest::RunTest(std::vector argv, std::string* output, int *retVal, std::ostream* log) { - if(cmSystemTools::SameFile(argv[0], m_CTestSelf.c_str())) + if(cmSystemTools::SameFile(argv[0], m_CTestSelf.c_str()) && !m_ForceNewCTestProcess) { cmCTest inst; inst.m_ConfigType = m_ConfigType; @@ -4171,6 +4172,10 @@ int cmCTest::Run(std::vectorconst& args, std::string* output) { m_TomorrowTag = true; } + if( arg.find("--force-new-ctest-process",0) == 0 ) + { + m_ForceNewCTestProcess = true; + } if( arg.find("--interactive-debug-mode",0) == 0 && i < args.size() - 1 ) { i++; diff --git a/Source/cmCTest.h b/Source/cmCTest.h index 78a89558fb..ae0e5b701d 100644 --- a/Source/cmCTest.h +++ b/Source/cmCTest.h @@ -142,6 +142,8 @@ public: bool m_DartMode; bool m_ShowOnly; + bool m_ForceNewCTestProcess; + bool m_RunConfigurationScript; tm_VectorOfStrings m_ConfigurationScripts;