Commit Graph

14591 Commits

Author SHA1 Message Date
Brad King 5f926016a9 Fix rule hash persistence file generation
We store custom command rule hashes in CMakeFiles/CMakeRuleHashes.txt
persistently across CMake runs.  When the rule hash changes we delete
the custom command output file and write a new hash into the persistence
file.

This functionality was first added by the commit 'Introduce "rule
hashes" to help rebuild files when rules change.' (2008-06-02).
However, the implementation in cmGlobalGenerator::CheckRuleHashes kept
the file open for read when attempting to rewrite a new file.  On
Windows filesystems this prevented the new version of the file from
being written!  This caused the first set of rule hashes to be used
forever within a build tree, meaning that all custom commands whose
rules changed would be rebuilt every time CMake regenerated the build
tree.

In this commit we address the problem by splitting the read and write
operations into separate methods.  This ensures that the input stream is
closed before the output stream opens the file.
2010-02-11 18:14:34 -05:00
Zach Mullen 1c13f57313 Add a high COST value to BootstrapTest so that it will be scheduled first in parallel ctest executions. 2010-02-11 11:58:04 -05:00
Brad King 224dde9085 CMake 2.8.1-rc2 2010-02-11 10:50:43 -05:00
KWSys Robot b640884db7 KWSys Nightly Date Stamp 2010-02-11 00:01:03 -05:00
CMake Robot 267e1e2f91 Nightly Start Time
--HG--
extra : rebase_source : 61ce8f23017f9b4b8a48f763bfd22820f9d3d663
2010-02-10 20:00:00 -05:00
David Cole 90f6a7270a Fix for fix for issue #2336 - do not specify CMAKE_BUILD_TYPE when the ctest -C configuration type string is empty. 2010-02-10 14:47:21 -05:00
Brad King 2de33ebd58 Make CTest.UpdateCVS robust to some cvs clients
Commit "Teach CTest.Update tests to strongly check entries" (2010-02-09)
started checking Update.xml entries strongly.  This revealed that some
cvs clients report "U CTestConfig.cmake" during update even though the
file did not change and it selects the same revision.  As a result the
test fails with

  Update.xml has extra unexpected entries:

    Updated{CTestConfig.cmake}

We fix the test to tolerate this particular extra entry without failing.
2010-02-10 11:48:09 -05:00
David Cole 10750bff1c Fix configure time error that occurs when there is a backslash in the HOME environment variable. 2010-02-10 11:23:07 -05:00
Brad King c4205773a5 Do not warn for unknown CTest UPDATE_TYPE
In the CTest module we previously warned if the source directory did not
contain known version control directories.  The message was:

  "CTest cannot determine repository type. Please set UPDATE_TYPE
   to 'cvs' or 'svn'. CTest update will not work."

This was confusing when building sources from a tarball.  Furthermore,
we now support many more version control tools.  This feature is now
mature enough that the warning causes confusion more than it provides
real help.  We simply remove it.
2010-02-10 10:43:33 -05:00
Brad King e18f3623e3 Detect Git repositories for CTest UPDATE_TYPE
The CTest module configures the command-line CTest dashboard mode.
We teach it to recognize .git directories.
2010-02-10 10:43:28 -05:00
Brad King ff101a565e Simplify CTest.cmake module with ELSEIF
We use ELSEIF to simplify the cascading IF blocks for detecting version
control tools.
2010-02-10 10:43:23 -05:00
KWSys Robot b0c6ca6cc0 KWSys Nightly Date Stamp 2010-02-10 00:01:07 -05:00
CMake Robot 7860c68568 Nightly Start Time
--HG--
extra : rebase_source : 67cabdbe1406f00dee6cb20a4e015ad5be27c5f8
2010-02-09 20:00:00 -05:00
Bill Hoffman 0619813e03 Fix for bug #10257, NSIS could remove a PATH if it was too long 2010-02-09 13:57:46 -05:00
Brad King 6e7e71e9b9 Teach CTest.UpdateGIT test to fake file timestamp
We wrap the git executable in a shell script that touches one source
file after 'git pull'.  This makes the file newer than the index even
though it has not actually changed.  If CTest does not refresh the index
properly then the test will fail with a bogus modified file.
2010-02-09 13:31:40 -05:00
Brad King 8bd231866a cmCTestGIT: Refresh index for local modifications
We use 'git diff-index' to detect local modifications after pull.  On
some filesystems the work tree timestamps of a few files may be dated
after the index, making them appear as locally modified.  We address the
problem by using 'git update-index --refresh' to refresh the index and
avoid false local modifications.
2010-02-09 13:31:32 -05:00
Brad King 78a5727d49 Teach CTest.Update tests to strongly check entries
Previously these tests just checked for matching file names in the
Update.xml files.  Now we check the update types (Updated, Modified, or
Conflicting) and reject unexpected extra entries.
2010-02-09 13:31:20 -05:00
Brad King 2ec78b4de7 cmCTestBZR: Strip trailing slashes from paths
Our internal path processing methods assume no trailing slashes, but bzr
adds trailing slashes to updated directories.  This can lead to empty
entries in Update.xml files.  We address the problem by stripping the
slashes as soon as they are parsed.
2010-02-09 13:31:12 -05:00
Bill Hoffman 9ff55c0ebe current release stuff 2010-02-09 09:01:42 -05:00
KWSys Robot 1b427400d3 KWSys Nightly Date Stamp 2010-02-09 00:01:03 -05:00
CMake Robot 1f2d016793 Nightly Start Time
--HG--
extra : rebase_source : 39b685e741494f82ad4654f1eb9a7c9b684304a3
2010-02-08 20:00:00 -05:00
Brad King b6e42e3aa4 Revert "Avoid CTest 2.6.4 dashboard script crash"
The --force-new-ctest-process option does not do anything in the context
where we added it, so we remove the useless change.
2010-02-08 13:07:47 -05:00
Zach Mullen 41fcf6e155 Moved call to cache CDash version information to cmCTest::initialize. Also added a 3 second timeout when requesting the version from the server. Added an option to the CTestConfiguration that will be used to determine whether to query the version information at all. (Behavior for this setting is not yet defined.) Updated CMake's local CDash version setting to 1.6. 2010-02-08 09:47:39 -05:00
KWSys Robot a7666d303c KWSys Nightly Date Stamp 2010-02-08 00:01:04 -05:00
CMake Robot d4b1d965cf Nightly Start Time
--HG--
extra : rebase_source : 561edd9af4822d5c3dc6dcc2dc58cd4691aec4bb
2010-02-07 20:00:00 -05:00
KWSys Robot 7583e57ae5 KWSys Nightly Date Stamp 2010-02-07 00:01:04 -05:00
CMake Robot bad5dc49da Nightly Start Time
--HG--
extra : rebase_source : 2cd0223a469f99495d74e39f48e936ce25f1494b
2010-02-06 20:00:00 -05:00
KWSys Robot 07323b3656 KWSys Nightly Date Stamp 2010-02-06 00:01:04 -05:00
CMake Robot 8c002226fa Nightly Start Time
--HG--
extra : rebase_source : c6c5a568811d4fa6a3d56d07adcb0ba888256a48
2010-02-05 20:00:00 -05:00
KWSys Robot b3a1a50bc7 KWSys Nightly Date Stamp 2010-02-05 00:01:06 -05:00
CMake Robot a2bc85574f Nightly Start Time
--HG--
extra : rebase_source : d74c4ca13d45f97179cf3be52eb4e44ad64d700d
2010-02-04 20:00:00 -05:00
Bill Hoffman 46ff4bbd0a Fix HPUX issue with test, by doing the query to cdash for its version before any test is started. 2010-02-04 19:00:20 -05:00
Zach Mullen a0cc49a915 Support for relative paths to executables in MemCheck tests. Also fixed a bug causing memcheck args to be overwritten repetitively. 2010-02-04 11:24:57 -05:00
KWSys Robot 9ef2491328 KWSys Nightly Date Stamp 2010-02-04 00:01:02 -05:00
CMake Robot 877a934270 Nightly Start Time
--HG--
extra : rebase_source : 574299ba79ee19397172822f942ac1f71b7f60fe
2010-02-03 20:00:00 -05:00
Zach Mullen c87282ce52 Re-enabled Scheduler test and fixed the underlying problem. 2010-02-03 16:32:26 -05:00
Zach Mullen 4864d48f27 Disable Scheduler test until underlying problem is resolved. 2010-02-03 16:17:02 -05:00
Zach Mullen fe7c4d0c2a Add unit test to ensure that CTestCostData scheduling works correctly 2010-02-03 15:06:29 -05:00
KWSys Robot 6fe2376e2d KWSys Nightly Date Stamp 2010-02-02 23:49:22 -05:00
CMake Robot e7a8a29b2f Nightly Start Time
--HG--
extra : rebase_source : 8351af8c97d672c8145dae2ade359392e663e926
2010-02-02 20:00:00 -05:00
Brad King 09be6c5480 Avoid CTest 2.6.4 dashboard script crash
CTest 2.6.4 crashes if a dashboard script invokes "message()" after
"ctest_test()" or anything else that creates an inner cmCTest object.
The CMake.Install test drives installation using --build-and-test with
the outer CTest driving CMake tests.  We add --force-new-ctest-process
to avoid creation of a cmCTest object inside the outer CTest just in
case it is 2.6.4.
2010-02-02 17:10:55 -05:00
Brad King 11dcef910a Recognize the Compaq Fortran compiler
The compiler documents symbols _DF_VERSION_ and _VF_VERSION_ but they do
not seem to be available to the preprocessor.  Instead we add a vendor
query table entry for Compaq.  Running "f90 -what" produces

  Compaq Visual Fortran Optimizing Compiler Version ...

This clearly identifies the compiler.
2010-02-02 07:21:36 -05:00
KWSys Robot ccb9053a4e KWSys Nightly Date Stamp 2010-02-01 23:49:31 -05:00
David Cole 9a35d67bce Fix line length style issue. 2010-02-01 21:43:51 -05:00
Brad King 5a0653edfd Revert accidental CMake-2-8 branch commit
Commit "Add alternate per-vendor compiler id detection" on this branch
was meant for the main development line.
2010-02-01 09:22:35 -05:00
Brad King 3c2ecbe74e Add alternate per-vendor compiler id detection
At least one Fortran compiler does not provide a preprocessor symbol to
identify itself.  Instead we try running unknown compilers with version
query flags known for each vendor and look for known output.  Future
commits will add vendor-specific flags/output table entries.
2010-02-01 09:03:05 -05:00
Brad King 107872976f Add alternate per-vendor compiler id detection
At least one Fortran compiler does not provide a preprocessor symbol to
identify itself.  Instead we try running unknown compilers with version
query flags known for each vendor and look for known output.  Future
commits will add vendor-specific flags/output table entries.
2010-02-01 09:02:39 -05:00
KWSys Robot 17e5e5fcb0 KWSys Nightly Date Stamp 2010-01-31 23:49:33 -05:00
KWSys Robot 977c5c2b2d KWSys Nightly Date Stamp 2010-01-30 23:49:39 -05:00
KWSys Robot 85018330ec KWSys Nightly Date Stamp 2010-01-29 23:49:46 -05:00