This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, next has been updated via b8bc894ae032747a8b6e127d5fb291ae28d4fbd1 (commit) via 4fbdce2b79b28566ae2c6708c99af5e0e8e0177b (commit) from 21b4d1168a86a62b21490c85acb9a4746bda4b2a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b8bc894ae032747a8b6e127d5fb291ae28d4fbd1 commit b8bc894ae032747a8b6e127d5fb291ae28d4fbd1 Merge: 21b4d11 4fbdce2 Author: Brad King <brad.k...@kitware.com> AuthorDate: Fri Feb 17 11:57:11 2012 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Fri Feb 17 11:57:11 2012 -0500 Merge topic 'try-compile-random-name' into next 4fbdce2 try_compile: Use random executable file name (#12957) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4fbdce2b79b28566ae2c6708c99af5e0e8e0177b commit 4fbdce2b79b28566ae2c6708c99af5e0e8e0177b Author: Brad King <brad.k...@kitware.com> AuthorDate: Mon Feb 13 10:02:58 2012 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Thu Feb 16 10:13:50 2012 -0500 try_compile: Use random executable file name (#12957) Append a random number to the "cmTryCompileExec" file name to avoid rapid creation and deletion of the same executable file name. Some filesystems lock executable files when they are created and cause subsequent try-compile tests to fail arbitrarily. Use a different name each time to avoid conflict. diff --git a/Source/cmCoreTryCompile.cxx b/Source/cmCoreTryCompile.cxx index dca2fb3..7d84ba6 100644 --- a/Source/cmCoreTryCompile.cxx +++ b/Source/cmCoreTryCompile.cxx @@ -26,6 +26,7 @@ int cmCoreTryCompile::TryCompileCode(std::vector<std::string> const& argv) const char* sourceDirectory = argv[2].c_str(); const char* projectName = 0; const char* targetName = 0; + char targetNameBuf[64]; int extraArgs = 0; // look for CMAKE_FLAGS and store them @@ -281,16 +282,20 @@ int cmCoreTryCompile::TryCompileCode(std::vector<std::string> const& argv) cmakeFlags.push_back(flag); } + /* Use a random file name to avoid rapid creation and deletion + of the same executable name (some filesystems fail on that). */ + sprintf(targetNameBuf, "cmTryCompileExec%u", + cmSystemTools::RandomSeed()); + targetName = targetNameBuf; + /* Put the executable at a known location (for COPY_FILE). */ fprintf(fout, "SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY \"%s\")\n", this->BinaryDirectory.c_str()); /* Create the actual executable. */ - fprintf(fout, "ADD_EXECUTABLE(cmTryCompileExec \"%s\")\n",source.c_str()); - fprintf(fout, - "TARGET_LINK_LIBRARIES(cmTryCompileExec ${LINK_LIBRARIES})\n"); + fprintf(fout, "ADD_EXECUTABLE(%s \"%s\")\n", targetName, source.c_str()); + fprintf(fout, "TARGET_LINK_LIBRARIES(%s ${LINK_LIBRARIES})\n",targetName); fclose(fout); projectName = "CMAKE_TRY_COMPILE"; - targetName = "cmTryCompileExec"; // if the source is not in CMakeTmp if(source.find("CMakeTmp") == source.npos) { ----------------------------------------------------------------------- Summary of changes: Source/cmCoreTryCompile.cxx | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits