Commit Graph

1359 Commits

Author SHA1 Message Date
Brad King f444b9555f Merge topic 'allow_upper_case_cpp_and_others'
7944e4e Allow testing of .CPP on WIN32 as it is a case insensitive OS and should work.
ba0a890 Only test for .CPP on Microsoft compilers which will handle .CPP as c++.
d26cd46 Only use .CPP .CXX and .C++ do not work by default with g+++.
ced61f5 Let CMake recognize .CPP .CXX and .C++ as c++ files.
2010-09-08 11:36:46 -04:00
Brad King 28edb70a9e Merge topic 'vs-project-groups'
e6ac0aa Add FOLDER target property, for IDEs (#3796)
2010-09-08 11:08:05 -04:00
Brad King 81fa6bbcc7 Merge topic 'ctest-show-labels'
32242af Added CTest command --print-labels
2010-09-08 11:07:51 -04:00
Bill Hoffman 7944e4e0ac Allow testing of .CPP on WIN32 as it is a case insensitive OS and should work. 2010-09-07 09:14:57 -04:00
Bill Hoffman ba0a890539 Only test for .CPP on Microsoft compilers which will handle .CPP as c++. 2010-09-06 12:43:57 -04:00
David Cole e6ac0aacf6 Add FOLDER target property, for IDEs (#3796)
This work was started from a patch by Thomas Schiffer.
Thanks, Thomas!

See the newly added documentation of the FOLDER target
property for details.

Also added global properties, USE_FOLDERS and
PREDEFINED_TARGETS_FOLDER. See new docs here, too.

By default, the FOLDER target property is used to organize
targets into folders in IDEs that have support for such
organization.

This commit adds "solution folder" support to the Visual
Studio generators. Currently works with versions 7 through
10.

Also, use the new FOLDER property in the ExternalProject
test and in the CMake project itself.
2010-09-03 13:53:22 -04:00
Bill Hoffman d26cd46989 Only use .CPP .CXX and .C++ do not work by default with g+++. 2010-09-02 18:02:57 -04:00
Bill Hoffman ced61f5722 Let CMake recognize .CPP .CXX and .C++ as c++ files. 2010-09-02 11:56:40 -04:00
Brad King 1976c45a3c Merge topic 'intra-component-dependencies'
adb58d5 Honor strong intra-component target dependencies
681cf01 Distinguish "strong" and "weak" target dependency edges
7be2617 Split notion of node lists and edge lists
2010-08-31 14:36:50 -04:00
Zach Mullen 32242affea Added CTest command --print-labels
This command allows a user to quickly see the list of all available
test labels.  The labels are also printed in verbose show only mode,
alongside their corresponding tests.
2010-08-31 10:41:23 -04:00
Brad King adb58d5e36 Honor strong intra-component target dependencies
Strong dependencies (created by add_dependencies) must be honored when
linearizing a strongly-connected component of the target dependency
graph.  The initial graph edges have strong/weak labels and can contain
cycles that do not consist exclusively of strong edges.  The final graph
never contains cycles so all edges can be strong.
2010-08-25 17:14:13 -04:00
David Cole ef9dd49d3d Add STEP_TARGETS to ExternalProject module.
This commit introduces the ability to add custom targets
that correspond to individual ExternalProject steps.
The main motivation behind this new feature is to drive
sub-project based dashboard steps as external projects
with separate targets for update, configure, build and
test output. This makes it easy to construct a ctest -S
script to drive such a dashboard.

With no STEP_TARGETS defined, there are no additional
custom targets introduced, to minimize the chatter in
the target name space. Clients may define STEP_TARGETS
on a per-ExternalProject_Add basis, or at the directory
level by setting the EP_STEP_TARGETS directory property.
2010-08-23 17:50:58 -04:00
Brad King 0178a6b841 Merge topic 'module-notices'
c088e7a ModuleNoticesTest: Do not require "Kitware" copyright
2010-08-19 13:22:49 -04:00
Brad King c088e7a341 ModuleNoticesTest: Do not require "Kitware" copyright
When a module is first contributed Kitware has made no modifications on
which to place a copyright.  Require the contributor to have a copyright
notice, but not specifically by Kitware.
2010-08-17 09:23:35 -04:00
Todd Gamblin 1221581aa8 Teach find_* commands to ignore some paths
Add platform configuration variable CMAKE_SYSTEM_IGNORE_PATH and user
configuration variable CMAKE_IGNORE_PATH.  These specify a set of
directories that will be ignored by all the find commands.  Update
FindPackageTest so that several cases will fail without a functioning
CMAKE_IGNORE_PATH.
2010-08-13 11:53:28 -04:00
Brad King 9cf9d2794c Merge topic 'remove_submit_large_output'
929b1c6 Remove the ctest submit larget output test.
2010-08-10 14:38:02 -04:00
Bill Hoffman 929b1c6be3 Remove the ctest submit larget output test.
This test is better covered in CDash now.  It is always failing due
to changes in CDash.  So, it is better removed from CMake.
2010-08-09 13:21:19 -04:00
Todd Gamblin 2cde67a781 Modules: Fix spelling 'To distributed' -> 'To distribute' 2010-08-09 08:48:31 -04:00
Brad King 46718ad10d Merge topic 'fix-CTestTestFailedSubmit-xmlrpc'
fbe67a9 CTestTestFailedSubmit-xmlrpc: Pass with "Submission problem"
2010-08-03 16:15:26 -04:00
Brad King 08c5e475ab Merge topic 'fix-cmake-self-references'
df1e00f Refer to self with CMake_(SOURCE|BINARY)_DIR (#10046)
2010-08-03 16:15:03 -04:00
Brad King e6067ca969 Merge topic 'ctest-git-flexibility'
a7319cf ctest_update: Run 'git submodule' at top level
7bf8dc1 ctest_update: Support ".git file" work trees
65cb72f ctest_update: Abort if Git FETCH_HEAD has no candidates
2010-08-03 16:07:31 -04:00
Modestas Vainius fbe67a9fda CTestTestFailedSubmit-xmlrpc: Pass with "Submission problem"
Pass the test when there is "Submission problem" in the output.  This is
at least applicable to XMLRPC.  Full error message is below:

------
Submission problem: Curl failed to perform HTTP POST request.  curl_easy_perform() says: <url> malformed (-504)
.
  Problems when submitting via XML-RPC
------
2010-07-29 11:39:29 -04:00
Brad King df1e00ff82 Refer to self with CMake_(SOURCE|BINARY)_DIR (#10046)
This is good practice, and is necessary to support building CMake as a
subdirectory of another project.
2010-07-29 11:22:48 -04:00
Brad King 7bf8dc1ac9 ctest_update: Support ".git file" work trees
Commit c3781efb (Support Git upstream branch rewrites, 2010-06-08)
assumed that ".git/FETCH_HEAD" exists inside the source tree.  Fix the
implementation to handle a work tree using a ".git file" to link to its
repository.  Use "git rev-parse --git-dir" to locate the real .git dir.
2010-07-26 11:40:20 -04:00
Brad King e1a4c02bac Merge topic 'resolve/doc-spelling/CPackRPM'
7739d78 Merge CPackRPM changes into doc-spelling
9203e91 Fix spelling errors reported by Lintian.
2010-07-20 16:00:29 -04:00
Brad King f7a0386fc5 Merge topic 'resolve/ctest-file-checksum/remove-CTestTest3'
38c762c Merge 'remove-CTestTest3' into ctest-file-checksum
46df0b4 Activate retry code on any curl submit failure.
8705497 Checksum test should use CMAKE_TESTS_CDASH_SERVER
d0d1cdd Mock checksum failure output for old CDash versions
af5ef0c Testing for CTest checksum
86e81b5 CTest should resubmit in the checksum failed case
d6b7107 Fix subscript out of range crash
082c87e Cross-platform fixes for checksum/retry code
e525649 Checksums on CTest submit files, and retry timed out submissions.
2010-07-13 17:05:33 -04:00
Brad King 38c762c728 Merge 'remove-CTestTest3' into ctest-file-checksum
Conflicts:
	Tests/CMakeLists.txt
2010-07-13 17:01:39 -04:00
Brad King a570ba6df7 Merge topic 'external-project-launcher'
b2634b6 Detect CMake warnings and errors in build output.
012c986 ExternalProject: Add LOG_* options to hide step output
2010-07-13 14:58:11 -04:00
Brad King 7739d786a4 Merge CPackRPM changes into doc-spelling
Conflicts:
	Modules/CPackRPM.cmake
2010-07-13 09:46:52 -04:00
Kai Wasserbäch 9203e9187e Fix spelling errors reported by Lintian.
During a Lintian run on the binary packages of CMake in Debian I was
notified of many spelling mistakes.
2010-07-13 09:41:37 -04:00
David Cole 391acdf199 Add another expected output for the failed submit tests.
The CTestTestFailedSubmit-http test was failing on the
hut11 Experimental dashboards with "Empty reply from
server" due to a localhost settings change.
2010-07-12 17:48:33 -04:00
Zach Mullen 3e52000a07 Fix cycle detection for test dependencies 2010-06-30 10:39:17 -04:00
David Cole a77aa7065e CheckSourceTree test: read UpdateCommand from Update.xml.
If GIT_EXECUTABLE is not passed in, and is not available from
DartConfiguration.tcl or CTestConfiguration.ini, then make one
more last ditch attempt to get it from Update.xml, if there is
an Update.xml. For dashboards that have successfully done a
ctest_update call, there should be an Update.xml in the Testing
subdir of the binary tree. Parse that file for the git executable
recorded in the <UpdateCommand> element.

And make this test pass on those RogueResearch dashboard machines!
2010-06-27 08:29:15 -04:00
Brad King 566bb2d078 Merge branch 'ctest-git-empty-commits' 2010-06-24 10:41:20 -04:00
Zach Mullen 1a4c0c55c7 Parallel CTest hangs if serial test has depends 2010-06-23 17:18:59 -04:00
Brad King bbfe241c6a CTest: Parse empty Git commits correctly
Git's diff-tree format has no '\n'-terminated blank line at the end of
its commit message body block if there are no diff lines.  Instead the
message body is terminated by '\0' and there is no diff section.  Teach
CTest to parse the format in this case.
2010-06-23 09:14:43 -04:00
Zach Mullen 87054972a7 Checksum test should use CMAKE_TESTS_CDASH_SERVER 2010-06-22 11:13:48 -04:00
David Cole 4ee426b057 Look in the ctest ini file for GitCommand.
If GIT_EXECUTABLE is not passed into the test, but the source
tree is a git checkout, then use GitCommand or UpdateCommand
from the ctest ini file to set its value. Presumably, a dashboard
running the test suite had to have set this properly in order
to do the ctest_update step.
2010-06-21 14:46:30 -04:00
Brad King 012c986309 ExternalProject: Add LOG_* options to hide step output
Optionally hide the output of each external project build step by
wrapping its command in a launcher script.  Make output available in log
files instead.  This simplifies the output of external project builds.
2010-06-21 13:25:13 -04:00
Brad King 4f4cce5637 Merge branch 'remove-CTestTest3' 2010-06-15 14:10:50 -04:00
Brad King b4aa834900 Merge branch 'ctest-git-flexibility' 2010-06-15 14:10:41 -04:00
Brad King b6313565e1 Merge branch 'msys-bootstrap-test' 2010-06-15 14:06:28 -04:00
David Cole 199e7f2f33 Remove CTestTest3.
At this point, CTestTest3 causes more problems than it's worth.
It uses CVS to grab a remote (over the network) copy of kwsys
code for testing. This causes some sort of problem nearly every
night on the nightly CMake dashboards. Worse: it causes problems
on different machines on different nights, then the next day, it's
fine again. So: remove this test and monitor the coverage.

If we lose a significant portion of code coverage, I will revert
this commit and re-activate the test. However, if we do not lose
a significant portion of code coverage, I will remove the code
for the test as well as removing it from the CMakeLists.txt file.

Brad King and I discussed this over the last few weeks, and we both
think we have sufficient coverage of all the checkout and update code
in other locally (non-network) based tests.

On the other hand, even if we do take a mild hit on coverage temporarily,
it should be relatively easy to increase our coverage again by adding
bits to those other locally based tests.
2010-06-13 11:02:27 -04:00
Brad King 5e102d5e01 Enable BootstrapTest on MSYS
The bootstrap script works under MSYS, so test it.  Use a launcher batch
file since 'ctest --build-and-test' is a Windows program and will not
honor the shebang line in the script.
2010-06-11 14:30:44 -04:00
Zach Mullen af5ef0c969 Testing for CTest checksum 2010-06-10 12:25:49 -04:00
Brad King 376fb31d1a Run CTest.NoNewline test using built CMake
Even though this test is checking that the ctest running it can handle
test output without newlines we should run the just-built CMake binary.
This allows the MemCheck test mode to check the correct CMake.
2010-06-10 08:24:27 -04:00
Brad King c3781efb28 ctest_update: Support Git upstream branch rewrites
Use 'git fetch' followed by 'git reset' to update the source tree.  This
is better than 'git pull' because it can handle a rewritten upstream
branch and does not leave local modifications.  After fetch, parse
FETCH_HEAD to find the merge head that 'git pull' would choose to track
the upstream branch.  Then reset to the selected head.

In the normal fast-forward case the behavior remains unchanged.
However, now local modifications and commits will be erased, and
upstream rewrites are handled smoothly.  This ensures that the upstream
branch is tested as expected.
2010-06-08 16:50:17 -04:00
Brad King 2eae651acc ctest_update: Support custom Git update command
Define CTest configuration variable CTEST_GIT_UPDATE_CUSTOM to set a
custom command line for updating Git-managed source trees.
2010-06-08 16:12:28 -04:00
Brad King 11bdc2b1a1 Generalize CTest.Update* test dashboard script helpers
Teach (create|run)_dashboard_script macros to treat the argument as the
name of a build tree.  Append '.cmake' to generate the dashboard script
name.  This allows future re-use of the macros for multiple test
scripts.
2010-06-08 15:58:39 -04:00
Brad King 6cf1ccd632 Merge branch 'per-config-link-flags' 2010-06-07 14:36:28 -04:00