summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeTests/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Verify policies are introduced only in "official" versionsDavid Cole2013-08-281-0/+9
| | | | | | | | | | | | | | | | | | | | | Add the CMake.PolicyCheck test. This test uses "git grep" to look for policies added in a "dated" version of CMake. It will fail if a policy is added as of, for example, CMake 2.8.11.20130828. The intent is to prevent such constructs from making it into an "official" release. Three instances actually appeared in the first attempted release candidate for 2.8.12. This test may sometimes yield false positives. After all, it's just using a regular expression to detect this condition, and something in a comment could possibly match it. As of right now, that's not true, but it's easy to imagine such a comment being added. The new test may also not catch all future problems of this sort. However, it will catch problems of this sort for all code that follows the present layout style in Source/cmPolicies.cxx.
* Add cmake_host_system_information commandNils Gladitz2013-06-191-0/+1
| | | | | | Expose the internal system information API to the CMake language. For example, it is useful to see how much memory the system has available to estimate an upper limit of tests that can run in parallel.
* ProcessorCount test: fix path to cmsysTestsCxx executableRolf Eike Beer2013-01-241-2/+3
| | | | | Use a generator expression to get the real place of this target instead of guessing it wrong.
* Remove CMake-language block-end command argumentsKitware Robot2012-08-131-1/+1
| | | | | | | | | | | | | | | | | Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Convert CMake-language commands to lower caseKitware Robot2012-08-131-7/+7
| | | | | | | | | | | | | | | | | Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code: cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Merge topic 'test-getpropery'David Cole2012-03-061-0/+1
|\ | | | | | | | | b43cd12 add test for get_property() errors
| * add test for get_property() errorsRolf Eike Beer2012-03-041-0/+1
| |
* | Merge topic 'remove-CheckSourceTree-cvs-support'David Cole2012-03-061-3/+2
|\ \ | |/ |/| | | | | 9012be2 CheckSourceTree: Remove CVS checkout support (#13001)
| * CheckSourceTree: Remove CVS checkout support (#13001)Brad King2012-03-021-3/+2
| | | | | | | | | | | | | | We no longer support CVS checkouts from the Git repository. Drop the case from the CheckSourceTree test. This will also prevent the test from running and failing when CVS is found but Git is not.
* | add testcases for while()/endwhile() errorsRolf Eike Beer2012-03-011-0/+1
|/
* Add macros cmake_push/pop_check_state() as discussed on the list.Alex Neundorf2011-07-071-0/+1
| | | | | | | | This patch adds two macros cmake_push_check_state() and cmake_pop_check_state(), which can be used to save and restore the contents of the CMAKE_REQUIRED_xxx variables. Alex
* Add module ProcessorCount.cmake (#11302)Michael Wild2011-03-151-0/+1
| | | | | | | | Credit goes to David Cole ( http://www.kitware.com/blog/home/post/63 ). Also add a script-based test of the new module. Signed-off-by: Michael Wild <themiwi@users.sourceforge.net>
* Implement file(UPLOAD (#11286)David Cole2011-02-251-0/+2
| | | | Including documentation and testing, of course.
* Merge branch 'add-git-to-CheckSourceTreeTest'Brad King2010-06-071-2/+3
|\
| * Add git support to the CMake.CheckSourceTree test.David Cole2010-05-271-2/+3
| | | | | | | | | | | | | | | | | | | | 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-271-0/+5
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-011-0/+1
| | | | | | | 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.
* Fix cvs password problems during the CMake.CheckSourceTree test. Make sure ↵David Cole2009-12-041-0/+1
| | | | 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'...
* Create CMake.ELF test to cover cmELF furtherBrad King2009-10-271-0/+4
| | | | | 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-271-0/+1
| | | | | | 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.
* Increase coverage. Intentionally trigger error conditions. Call all the ↵David Cole2009-10-061-0/+5
| | | | 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-051-0/+2
| | | | functions.
* Correct some typos in error messages in the string command. Add a test that ↵David Cole2009-10-021-0/+1
| | | | covers more of the code implemented in cmStringCommand.cxx, especially the error handlers.
* New CMake.ModulesNotice test for copyright noticesBrad King2009-10-011-0/+1
| | | | This new test checks Modules/*.cmake for the required copyright notice.
* Create CMake.ConfigureFile test for configure_fileBrad King2009-09-161-0/+1
| | | | | This test checks that configure_file() handles input and output file arguments as documented.
* ENH: Make the CheckSourceTree test emit a warning (but pass instead of fail) ↵David Cole2009-07-271-0/+1
| | | | when there is an in-source build on a dashboard machine.
* 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: Additional fix necessary for issue #8481 so that Xcode builds do not ↵David Cole2009-07-241-0/+12
| | | | 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.
* ENH: Create ImplicitLinkInfo testBrad King2009-07-231-0/+1
| | | | | | 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-141-0/+1
| | | | | This adds UNIX_COMMAND and WINDOWS_COMMAND modes to the command. These modes parse unix- and windows-style command lines.
* ENH: Test file(COPY) failure casesBrad King2009-04-291-0/+1
| | | | | This tests some cases of bad arguments to the file(COPY) signature. It checks that the proper error messages are produced.
* ENH: Teach message() how to display warningsBrad King2009-03-061-0/+1
| | | | | 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-051-0/+1
| | | | | | | | | | | | | 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-091-0/+1
| | | | | | | 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-061-1/+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.
* 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.
* ENH: Add script GetPrerequisites.cmake to help analyze what shared libraries ↵David Cole2008-03-041-2/+13
| | | | executable files depend on. Primary uses are to determine what shared libraries should be copied into Mac OSX bundle applications to create standalone bundles apps and to determine what shared library files need to be installed for an executable to run on any platform. Requires native platform tools dumpbin, otool and ldd to generate results.
* ENH: merge CMake-CrossCompileBasic to HEADAlexander Neundorf2007-05-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | -add a RESULT_VARIABLE to INCLUDE() -add CMAKE_TOOLCHAIN_FILE for specifiying your (potentially crosscompiling) toolchain -have TRY_RUN() complain if you try to use it in crosscompiling mode (which were compiled but cannot run on this system) -use CMAKE_EXECUTABLE_SUFFIX in TRY_RUN(), probably TRY_RUN won't be able to run the executables if they have a different suffix because they are probably crosscompiled, but nevertheless it should be able to find them -make several cmake variables presettable by the user: CMAKE_C/CXX_COMPILER, CMAKE_C/CXX_OUTPUT_EXTENSION, CMAKE_SYSTEM_NAME, CMAKE_SYSTEM_INFO_FILE -support prefix for GNU toolchains (arm-elf-gcc, arm-elf-ar, arm-elf-strip etc.) -move ranlib on OSX from the file command to a command in executed in cmake_install.cmake -add support for stripping during install in cmake_install.cmake -split out cl.cmake from Windows-cl.cmake, first (very incomplete) step to support MS crosscompiling tools -remove stdio.h from the simple C program which checks if the compiler works, since this may not exist for some embedded platforms -create a new CMakeFindBinUtils.cmake which collects the search fro ar, ranlib, strip, ld, link, install_name_tool and other tools like these -add support for CMAKE_FIND_ROOT_PATH for all FIND_XXX commands, which is a list of directories which will be prepended to all search directories, right now as a cmake variable, turning it into a global cmake property may need some more work -remove cmTestTestHandler::TryExecutable(), it's unused -split cmFileCommand::HandleInstall() into slightly smaller functions Alex
* ENH: Add variable watch commandAndy Cedilnik2007-04-111-1/+2
|
* ENH: Add initial implementation of the list commandAndy Cedilnik2006-02-101-0/+10