summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeTests
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* BUG: Avoid case change in ImplicitLinkInfo testBrad King2009-07-241-6/+6
| | | | | | Since "get_filename_component(... ABSOLUTE)" retrieves the actual case for existing paths on windows, we need to use an obscure path for mingw. Otherwise the test can fail just because the case of the paths changes.
* ENH: Create ImplicitLinkInfo testBrad King2009-07-232-0/+320
| | | | | | This tests the internal CMakeParseImplicitLinkInfo.cmake module to ensure that implicit link information is extracted correctly. The test contains many manually verified examples from a variety of systems.
* ENH: Teach separate_arguments() to parse commandsBrad King2009-07-142-0/+26
| | | | | This adds UNIX_COMMAND and WINDOWS_COMMAND modes to the command. These modes parse unix- and windows-style command lines.
* BUG: Fix CMake.File test for deep dir nameBrad King2009-04-291-1/+1
| | | | | This fixes the regex checking expected output of Copy-NoFile to account for line wrapping when the input directory name is long.
* ENH: Test file(COPY) failure casesBrad King2009-04-299-0/+58
| | | | | This tests some cases of bad arguments to the file(COPY) signature. It checks that the proper error messages are produced.
* STYLE: White space only change to see if continuous is working on new ↵David Cole2009-03-311-1/+0
| | | | dashboard machine...
* STYLE: White space only change to see if continuous is working on new ↵David Cole2009-03-311-0/+1
| | | | dashboard machine...
* STYLE: White space only change to see if continuous is working on new ↵David Cole2009-03-061-1/+0
| | | | dashboard machine...
* ENH: Teach message() how to display warningsBrad King2009-03-063-0/+35
| | | | | This adds message(WARNING) and message(AUTHOR_WARNING) command modes and fully documents the command behavior in all modes.
* ENH: Overhaul CMake version numberingBrad King2009-03-052-0/+10
| | | | | | | | | | | | | This moves the version numbers into an isolated configured header so that not all of CMake needs to rebuild when the version changes. Previously we had spaces, dashes and/or the word 'patch' randomly chosen before the patch number. Now we always report version numbers in the traditional format "<major>.<minor>.<patch>[-rc<rc>]". We still use odd minor numbers for development versions. Now we also use the CCYYMMDD date as the patch number of development versions, thus allowing tests for exact CMake versions.
* ENH: Add get_filename_component(... REALPATH)Brad King2009-02-092-0/+58
| | | | | | | This patch from Philip Lowman creates a REALPATH mode in the get_filename_component command. It is like ABSOLUTE, but will also resolve symlinks (which ABSOLUTE once did but was broken long ago). See issue #8423.
* BUG: Alternative fix to bug #8423Brad King2009-02-062-44/+0
| | | | | | | | | The patch used to fix this bug used SystemTools::GetRealPath which works only for existing files. It broke the case of using the command get_filename_component for a non-existing file. Also, it changed long-standing behavior in a possibly incompatible way even for existing files. This reverts the original fix and instead updates the documentation to be consistent with the behavior.
* ENH: add missing fileBill Hoffman2009-01-291-0/+43
|
* BUG: fix for #8423Bill Hoffman2009-01-291-0/+1
|
* ENH: Activate GetPrerequisites code on Linux. Thanks to Mike Arthur for ↵David Cole2008-10-241-8/+4
| | | | finishing it off.
* PERF: Test takes too long when recursing for executable files and when doing ↵David Cole2008-09-091-1/+1
| | | | recursive prerequisite analysis. Put it back the way it was. Add another test later to do the recursive prerequisite analysis.
* BUG: fix test to work with new restrictions that cross compiling must be onBill Hoffman2008-09-091-1/+3
|
* ENH: Add BundleUtilities.cmake and supporting changes to ↵David Cole2008-09-061-1/+1
| | | | GetPrerequisites.cmake. Function copy_and_fixup_bundle in BundleUtilities helps to make standalone bundle applications on the Mac by pulling in prerequisite non-system libraries and frameworks as needed. Uses otool and install_name_tool to do analysis and fixups. Project-specific hooks for deciding where to embed libraries and for resolving item names into full path file names are also provided.