summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeTests
Commit message (Collapse)AuthorAgeFilesLines
* Add CMAKE_SCRIPT_MODE_FILE variable (#2828)David Cole2011-02-021-0/+2
| | | | | New CMake variable is set when processing a -P script file, but not when configuring a project.
* Detect object files in implicit link informationBrad King2010-12-091-1/+8
| | | | | | The NAG Fortran compiler implicitly passes object files by full path to the linker. Teach CMakeParseImplicitLinkInfo to parse object files that match some tool-specific regular expression.
* Fixes to GetPrerequisites for cygwinDavid Partyka2010-10-271-4/+4
| | | | Fix IF(WIN32) guards check for cygwin. Fix checking if the depenency is in a system location to use cygwin style paths on cygwin. Also change GetPrerequisites to switch gp_tool to tools that are very unlikely to be found, ie. dumpbin on Apple and otool on Windows/Unix.
* Fixed appending PATH to dumpbin tool from growing without bounds.David Partyka2010-10-251-0/+14
| | | | IF(... MATCHES ...) used for comparing directories chokes especially in the case of C:\Program Files (x86)\<blah> because of regex pattern matching. Switched this to use STREQUAL in a loop instead.
* Add automatic variable CMAKE_CURRENT_LIST_DIR(dir of CMAKE_CURRENT_LIST_FILE)Alex Neundorf2010-09-281-0/+4
| | | | | | Comes with a simple test and docs. Alex
* ModuleNoticesTest: Do not require "Kitware" copyrightBrad King2010-08-171-1/+1
| | | | | | 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.
* Modules: Fix spelling 'To distributed' -> 'To distribute'Todd Gamblin2010-08-091-1/+1
|
* Merge CPackRPM changes into doc-spellingBrad King2010-07-131-6/+57
|\ | | | | | | | | Conflicts: Modules/CPackRPM.cmake
| * CheckSourceTree test: read UpdateCommand from Update.xml.David Cole2010-06-271-6/+57
| | | | | | | | | | | | | | | | | | | | | | | | 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!
* | Fix spelling errors reported by Lintian.Kai Wasserbäch2010-07-131-1/+1
|/ | | | | During a Lintian run on the binary packages of CMake in Debian I was notified of many spelling mistakes.
* Look in the ctest ini file for GitCommand.David Cole2010-06-211-0/+54
| | | | | | | | 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.
* Merge branch 'add-git-to-CheckSourceTreeTest'Brad King2010-06-072-53/+176
|\
| * Allow return value of 1 from git status.David Cole2010-05-281-3/+3
| |
| * Further refinements to the CheckSourceTree test.David Cole2010-05-271-4/+27
| | | | | | | | | | | | | | | | | | Echo results of calling git status before exiting with an error. Add one special case so that the test may pass on the dashmacmini2 continuous dashboard, despite a 'git status' non-zero return code. More logic like this may be required. I will re-evaluate based on tomorrow's nightly dashboard runs.
| * Add git support to the CMake.CheckSourceTree test.David Cole2010-05-272-53/+153
| | | | | | | | | | | | | | | | | | | | Additionally, output some more information in both cvs and git cases. When it is a cvs checkout, echo the contents of CVS/Root and CVS/Repository to the test output. When it is a git checkout, echo the output of 'git branch -a'. This will allow us to see more details about any given CMake source tree right in the CDash results for this test.
* | Improve FILE(DOWNLOAD) and ExternalProject.David Cole2010-05-273-0/+46
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve FILE(DOWNLOAD ...): - Add percent complete progress output to the FILE DOWNLOAD command. This progress output is off by default to preserve existing behavior. To turn it on, pass SHOW_PROGRESS as an argument. - Add EXPECTED_MD5 argument. Verify that the downloaded file has the expected md5 sum after download is complete. - Add documentation for SHOW_PROGRESS and EXPECTED_MD5. When the destination file exists already and has the expected md5 sum, then do not bother re-downloading the file. ("Short circuit" return.) Also, add a test that checks for the status output indicating that the short circuit behavior is actually occurring. Use a binary file for the test so that the md5 sum is guaranteed to be the same on all platforms regardless of "shifting text file line ending" issues. Improve ExternalProject: - Add argument URL_MD5. - Add verify step that compares md5 sum of .tar.gz file before extracting it. - Add md5 check to download step, too, to prevent unnecessary downloads. - Emit a warning message when a file is not verified. Indicate that the file may be corrupt or that no checksum was specified.
* Fix configure time error that occurs when there is a backslash in the HOME ↵David Cole2010-02-101-1/+2
| | | | environment variable.
* Add alternate per-vendor compiler id detectionBrad King2010-02-012-0/+32
| | | | | | | 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.
* Clean up CMake build tree 'bin' directoryBrad King2009-12-081-1/+1
| | | | | | | | We re-arrange EXECUTABLE_OUTPUT_PATH settings to avoid putting utility and test executables in the 'bin' directory of the build tree. This makes the directory look like that in the installation tree, except that on multi-configuration generators we still use a per-config subdirectory.
* Force CheckSourceTree test to pass if the source tree is not a CVS checkout. ↵David Cole2009-12-071-0/+11
| | | | The test can only do its checking if cvs is available and the source tree is a cvs checkout. Also, allow for the possibility that backslash characters exist in the HOME environment variable, because they may when built in a cygwin environment on Windows.
* Fix cvs password problems during the CMake.CheckSourceTree test. Make sure ↵David Cole2009-12-042-0/+15
| | | | cvs has access to the original value of the HOME environment variable and not the 'CMake testing' value of it so that any cvs passwords set up on the machine work to get the list of local modifications using 'cvs up'...
* Fix get_filename_component(... REALPATH) work dirBrad King2009-11-181-0/+15
| | | | | | | The commit "Fix get_filename_component ABSOLUTE mode" broke REALPATH treatment of relative paths because it stopped storing the absolute path in local variable 'filename'. This commit fixes the call to GetRealPath to use the proper local variable and adds a test.
* Fix issue #9851 - only seed the random number generator on the first call to ↵David Cole2009-11-061-0/+8
| | | | STRING(RANDOM or if given the new RANDOM_SEED argument. Add test and documentation of new argument.
* Check Mac linker lines in ImplicitLinkInfo testBrad King2009-11-051-0/+33
| | | | We add sample linker invocation lines for the GNU compiler on Mac.
* Remove non-language implicit link dependenciesBrad King2009-11-051-15/+15
| | | | | | | | | | | | | | | | Some compilers use implicit link options of the form -lcrt*.o -lgcc* -lSystem (on Mac) -lSystemStubs (on Mac) that provide system-wide symbols not specific to any language. These need not be listed explicitly for mixed-language linking. We teach CMake to remove the above items from the implicit library list of each language. This change makes it possible to mix GNU compiler versions in some cases.
* Create CMake.ELF test to cover cmELF furtherBrad King2009-10-276-0/+52
| | | | | This commit adds a CMake.ELF test to exercise cmELF and file(RPATH_*). We test all combinations of 32/64-bit and LSB/MSB binaries.
* Test if() boolean coersion and CMP0012 behaviorsBrad King2009-10-272-0/+159
| | | | | | We introduce the "CMake.If" test to try out conversion of constants and variables to boolean values in the if() command. We cover both OLD and NEW behavior for policy CMP0012.
* Remove the rpath_remove_file_is_not_executable test case. It fails on ↵David Cole2009-10-172-3/+3
| | | | Windows, but passes on Linux. Put back later after addressing inconsistency.
* Fixed issues with message text in FILE command error situations. Added many ↵David Cole2009-10-172-3/+113
| | | | new test cases to increase the coverage of the FILE command even further.
* Add more testing coverage of the FILE command.David Cole2009-10-162-0/+116
|
* More robust implicit link line detection regexBrad King2009-10-071-0/+8
| | | | | | | | The regex used by CMAKE_PARSE_IMPLICIT_LINK_INFO to detect link lines should not match lines that happen to have ".../ld.../..." in them. A linker name should match only as the last component of a path. See issue #9666.
* Log implicit link information parsing actionsBrad King2009-10-061-1/+3
| | | | | | | This commit teaches the CMAKE_PARSE_IMPLICIT_LINK_INFO function to log its actions. We store the log in CMakeFiles/CMakeOutput.log at the top of the project build tree. This will make diagnosis of implicit link information parsing problems easier.
* Increase coverage. Intentionally trigger error conditions. Call all the ↵David Cole2009-10-064-0/+94
| | | | else*/end* functions without proper opening or containing code structure: else, elseif, endforeach, endfunction, endif, endmacro, endwhile.
* Add tests for uncovered bits of the math and cmake_minimum_required cmake ↵David Cole2009-10-055-0/+87
| | | | functions.
* Add a few more cases to the new StringTest for even better coverage. ↵David Cole2009-10-033-117/+184
| | | | Re-factor the scripts to make it easier to add new cases to this test. Re-factoring also enables the test driver in ExecuteScriptTests to be re-used when adding new tests in the future.
* Correct some typos in error messages in the string command. Add a test that ↵David Cole2009-10-023-0/+206
| | | | covers more of the code implemented in cmStringCommand.cxx, especially the error handlers.
* Better CMake.ModulesNotice test regexBrad King2009-10-011-2/+3
| | | | | This commit updates the copyright notice regex to enforce a more strict format for contributor copyrights.
* New CMake.ModulesNotice test for copyright noticesBrad King2009-10-012-0/+46
| | | | This new test checks Modules/*.cmake for the required copyright notice.
* Create CMake.ConfigureFile test for configure_fileBrad King2009-09-166-0/+28
| | | | | This test checks that configure_file() handles input and output file arguments as documented.
* Factor out CMake.File test result check for re-useBrad King2009-09-162-35/+40
| | | | | | | The CMake.File test runs several scripts through "cmake -P" and checks the output and result against known good values. This commit factors out the checking code into a separate CMakeCheckTest module. The module may be used by new tests.
* Check PGI linker lines in ImplicitLinkInfo testBrad King2009-07-291-0/+18
| | | | This adds sample linker invocation lines for the PGI compiler on Linux.
* Check Intel linker lines in ImplicitLinkInfo testBrad King2009-07-291-0/+18
| | | | | | This adds sample linker invocation lines for the Intel compiler on Linux. In particular, this exercises the case when "ld" appears without a full path.
* BUG: Parse implicit link editor -z*extract optionsBrad King2009-07-281-2/+2
| | | | | | | | The Sun Fortran compiler passes -zallextract and -zdefaultextract to the linker so that all objects from one of its archives are included in the link. This teaches the implicit options parser to recognize the flags. We need to pass them explicitly on C++ link lines when Fortran code is linked.
* ENH: Make the CheckSourceTree test emit a warning (but pass instead of fail) ↵David Cole2009-07-272-4/+51
| | | | when there is an in-source build on a dashboard machine.
* ENH: Improvements to the new CheckSourceTree test: ignore Thumbs.db and ↵David Cole2009-07-251-49/+86
| | | | .DS_Store files. Force all output to stderr by not using STATUS with message. Better error text.
* BUG: Further avoid ImplicitLinkInfo case changeBrad King2009-07-251-6/+6
| | | | | | The commit "Avoid case change in ImplicitLinkInfo test" did not change all of the paths to mingw, so some case change still occurs. This changes more of them.
* BUG: Close endif statements with same string as if so that it still ↵David Cole2009-07-241-1/+1
| | | | configures with CMake 2.4. One more time. Encore, encore.
* BUG: Improve CheckSourceTree test so that it ignores 'U ' output from cvs ↵David Cole2009-07-241-3/+53
| | | | update. Also: improve failure logic for dashboard runs and developer runs.
* BUG: Teach VariableWatch test to check resultsBrad King2009-07-241-0/+9
| | | | | | Previously this test was only a smoke test for manual verification. This teaches the test to actually check that the variable watch succeeds.
* BUG: Additional fix necessary for issue #8481 so that Xcode builds do not ↵David Cole2009-07-242-0/+61
| | | | write files into the source tree. Also add a test that runs last to check for local modifications in CMake_SOURCE_DIR based on whether 'cvs -q -n up -dP' output is empty. Test fails on dashboard runs when there are local modifications. Test passes on non-dashboard runs with local modifications so that CMake developers may have mods when running the test locally.