Add a delay after untar on windows to make external project work on windows 7
OK, on windows 7 after we untar some files, sometimes we can not rename the directory after the untar is done. This breaks the external project untar and rename code. So, by default we will wait 1/10th of a second after the untar. If CMAKE_UNTAR_DELAY is set in the env, its value will be used instead of 100.
This commit is contained in:
parent
4b682e13fb
commit
775697d5f5
|
@ -1574,6 +1574,24 @@ int cmake::ExecuteCMakeCommand(std::vector<std::string>& args)
|
||||||
cmSystemTools::Error("Problem extracting tar: ", outFile.c_str());
|
cmSystemTools::Error("Problem extracting tar: ", outFile.c_str());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
#ifdef WIN32
|
||||||
|
// OK, on windows 7 after we untar some files,
|
||||||
|
// sometimes we can not rename the directory after
|
||||||
|
// the untar is done. This breaks the external project
|
||||||
|
// untar and rename code. So, by default we will wait
|
||||||
|
// 1/10th of a second after the untar. If CMAKE_UNTAR_DELAY
|
||||||
|
// is set in the env, its value will be used instead of 100.
|
||||||
|
int delay = 100;
|
||||||
|
const char* delayVar = cmSystemTools::GetEnv("CMAKE_UNTAR_DELAY");
|
||||||
|
if(delayVar)
|
||||||
|
{
|
||||||
|
delay = atoi(delayVar);
|
||||||
|
}
|
||||||
|
if(delay)
|
||||||
|
{
|
||||||
|
cmSystemTools::Delay(delay);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue