Commit Graph

14115 Commits

Author SHA1 Message Date
Brad King 41a608a75d 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-12 08:00:53 -05:00
KWSys Robot 41273582a5 KWSys Nightly Date Stamp 2010-02-12 00:01:05 -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
KWSys Robot b640884db7 KWSys Nightly Date Stamp 2010-02-11 00:01:03 -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
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
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
KWSys Robot 7583e57ae5 KWSys Nightly Date Stamp 2010-02-07 00:01:04 -05:00
KWSys Robot 07323b3656 KWSys Nightly Date Stamp 2010-02-06 00:01:04 -05:00
KWSys Robot b3a1a50bc7 KWSys Nightly Date Stamp 2010-02-05 00:01:06 -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
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
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 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
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
David Cole 6ee87b2e5c Fix issue #10155 - default value of CMAKE_OSX_DEPLOYMENT_TARGET should always be the empty string. When the value of CMAKE_OSX_DEPLOYMENT_TARGET is the empty string, the -mmacosx-version-min flag should not show up on the compiler command line. The logic for selecting default value of CMAKE_OSX_SYSROOT is orthogonal to and independent of the value of the deployment target. The default value for CMAKE_OSX_SYSROOT is the SDK that corresponds to the current version of Mac OSX on which cmake is running. 2010-01-29 11:56:35 -05:00
KWSys Robot 42c3eb85d6 KWSys Nightly Date Stamp 2010-01-28 23:49:57 -05:00
James Bigler aa495ad021 Add -rpath for cuda libraries on Apple. They use @rpath in the library link names. 2010-01-28 13:50:38 -05:00
James Bigler f04f912694 Updated the documentation on what kinds of flags you can use when setting target properties. 2010-01-28 13:08:56 -05:00
James Bigler d2d3672f1c Define __CUDACC__ during dependency scanning, since NVCC doesn't. 2010-01-28 12:58:22 -05:00
KWSys Robot addeec72e3 KWSys Nightly Date Stamp 2010-01-27 23:50:04 -05:00
Alexander Neundorf eb4fe91e17 -remove unnecessary debug output
Alex
2010-01-27 16:46:00 -05:00
Brad King baf8e99382 KWSys: Remove $Id$ from MD5.c
This CVS keyword was copied into the file with the rest of the
implementation.  It has no meaning outside its original project tree.
2010-01-27 08:51:58 -05:00
KWSys Robot 54cb05238b KWSys Nightly Date Stamp 2010-01-26 23:50:05 -05:00
Dave Partyka f74eb63967 COMP: remove exporting String as VS10 attempts to export its parents (basic_string) which causes all kinds of multiply defined symbols at link time. 2010-01-26 17:19:23 -05:00
KWSys Robot 42d76e8b82 KWSys Nightly Date Stamp 2010-01-25 23:50:10 -05:00
Brad King 2b3eee4646 Avoid PathScale cmd-line bug in TryCompile test
The PathScale compiler silently accepts unknown options that start in
more than one '-':

  $ touch foo.c
  $ pathcc -c foo.c --junk
  $ echo $?
  0
  $ pathcc -c foo.c ---junk
  $ echo $?
  0
  $ pathcc -c foo.c -junk
  pathcc ERROR parsing -junk: unknown flag
  $ echo $?
  2

We teach the TryCompile to pass a bogus flag with only one '-' instead
of three '-'s for this compiler.
2010-01-25 08:47:32 -05:00
Brad King 4d1351e8d3 Skip Fortran module mangling test on PathScale
We disable this test because PathScale Fortran mangles module symbols as
"MYSUB.in.MYMODULE" so we cannot interface with it from C.  We already
did this for SunPro and MIPSpro.
2010-01-25 08:27:34 -05:00