summaryrefslogtreecommitdiff
path: root/Modules/CTest.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Fix trivial typos in textluzpaz2017-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some are user facing. Found using codespell -q 3 --skip="./Utilities" -I .cmake-whitelist.txt` whereby the whitelist contained: ans dum helpfull emmited emmitted buil iff isnt nto ot pathes substract te todays upto whitespaces
* Drop Visual Studio 7 .NET 2003 generatorBrad King2017-04-191-5/+1
| | | | This generator has been deprecated since CMake 3.6. Remove it.
* Simplify CMake per-source license noticesBrad King2016-09-271-13/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* CTest: Properly set buildname if only C langage is enabledJean-Christophe Fillion-Robin2016-06-201-6/+6
| | | | Fixes #14068
* Drop Visual Studio 6 generatorBrad King2016-03-091-3/+0
| | | | | | This generator has been deprecated since CMake 3.3. Remove it. Update documentation, modules, and tests to drop content specific to this generator.
* ctest: Consolidate documentation of CTEST_USE_LAUNCHERS (#15533)Brad King2015-04-281-12/+3
| | | | | | | | | The documentation of this variable in the CTest module is outdated and has been superseded by the ctest(1) manual. In particular, the latter mentions that it works with the Ninja generator as well as makefile generators. Remove the documentation from the CTest module and replace it with a link to the main variable documentation (which already references the ctest(1) manual).
* Modules/CTest: Improve documentation formattingBrad King2015-04-281-34/+26
| | | | Use inline reStructuredText markup and add cross-references.
* Modules/CTest: Use bracket comment for documentation blockBrad King2015-04-281-65/+66
|
* Prefer CMAKE_MAKE_PROGRAM over CMAKE_BUILD_TOOL (#14548)Brad King2013-11-181-1/+1
| | | | | | | | | | | | | Historically these were both added for the Makefile and Visual Studio generators, respectively. Later the VS generators started using the CMAKE_MAKE_PROGRAM cache entry to find the IDE build tool, and the CMAKE_BUILD_TOOL was simply set as an alias. Fix the documentation to explain that CMAKE_MAKE_PROGRAM is the modern variable and that CMAKE_BUILD_TOOL is the compatibility alias, not the other way around. Replace uses of CMAKE_BUILD_TOOL with CMAKE_MAKE_PROGRAM in CMake-provided modules. Nothing needs to lookup CMAKE_BUILD_TOOL in the cache, so simply set it as a normal variable.
* ctest_update: Add support for Perforce p4 clientPedro Navarro2013-10-261-0/+5
| | | | | | | | | | | Teach the ctest_update implementation to use the p4 command-line client to perform updates and extract the list of changes. Add a CTest.UpdateP4 test like those that exist already for the other version control tools. Make the test available when p4 and the p4d server are found. During the test launch p4d in the background to serve a repository from the test directory. Then direct the client toward this server for the duration of the test.
* Convert builtin help to reStructuredText source filesKitware Robot2013-10-151-35/+54
| | | | | | | | Run the convert-help.bash script to convert documentation: ./convert-help.bash "/path/to/CMake-build/bin" Then remove it.
* replace string(... MATCHES "^const$) with string(... STREQUAL "const")Rolf Eike Beer2013-06-021-2/+2
|
* CTest: Ensure CTEST_USE_LAUNCHERS behaves nicely in Superbuild setupJean-Christophe Fillion-Robin2012-10-161-12/+2
| | | | | | | | | | | | | | | | | When building a project relying on External projects, the launchers were not used in subprojects built without testing enabled. This was preventing errors and warnings associated with these subprojects from being reported on the dashboard. This commit allows enabling the launchers independently of the value of "BUILD_TESTING" using one of these two approaches: 1) By setting both CTEST_USE_LAUNCHERS and the env variable "CTEST_USE_LAUNCHERS_DEFAULT" to 1 in the ctest dashboard driver scripts. 2) By enabling the variable CTEST_USE_LAUNCHERS in the ctest dashboard driver script and also by ensuring every external project passes the option -DCMAKE_PROJECT_<projectname>_INCLUDE:FILEPATH=${CMAKE_ROOT}/Modules/CTestUseLaunchers.cmake
* Remove CMake-language block-end command argumentsKitware Robot2012-08-131-29/+29
| | | | | | | | | | | | | | | | | 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-135/+135
| | | | | | | | | | | | | | | | | 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
* Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-131-9/+9
| | | | | | | | | | | | | | | | | Our Git commit hooks disallow modification or addition of lines with trailing whitespace. Wipe out all remnants of trailing whitespace everywhere except third-party code. Run the following shell code: git ls-files -z -- \ bootstrap doxygen.config '*.readme' \ '*.c' '*.cmake' '*.cpp' '*.cxx' \ '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \ '*.mm' '*.pike' '*.py' '*.txt' '*.vim' | egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' | egrep -z -v '^(Modules/CPack\..*\.in)' | xargs -0 sed -i 's/ \+$//'
* CTest: Add COVERAGE_EXTRA_FLAGS cache variable (#12490)David Cole2011-10-221-0/+3
| | | | | | | | | | | | | | COVERAGE_EXTRA_FLAGS is a space separated value of extra flags that will be passed to gcov when ctest's coverage handler invokes gcov to do coverage analysis. Map to CoverageExtraFlags in the CTest ini file. Use default value of "-l" to match the coverage handler's earlier behavior from ctest 2.8.4 and earlier. The fix for related issue #11717 had added a " -p" which was the cause of both #12415 and #12490. Here, we revert that change to the default value, so -p is no longer there by default. The people that care to add -p may do so in their own build trees by appending " -p" to the new cache variable COVERAGE_EXTRA_FLAGS.
* CTest: Mark DART_TESTING_TIMEOUT as advanced (#10150)David Cole2011-01-281-10/+11
| | | | | Also, split a long line into two. And alphabetize the variables mentioned in the mark_as_advanced call.
* Honor MAKECOMMAND value saved in cache (#11026)David Cole2010-09-211-2/+4
| | | | | | | | | | Use a separate variable to pass to the BUILD_COMMAND call and then use set(CACHE) to transfer that to MAKECOMMAND. That way, if MAKECOMMAND is in the cache already, it is left untouched. Fixes regression introduced in commit 0b38bb4c with the fix for bug #2336. Thanks to Evgeniy P for the patch.
* Modules: Fix spelling 'To distributed' -> 'To distribute'Todd Gamblin2010-08-091-1/+1
|
* Checksums on CTest submit files, and retry timed out submissions.Zach Mullen2010-06-031-1/+8
|
* Do not warn for unknown CTest UPDATE_TYPEBrad King2010-02-101-7/+0
| | | | | | | | | | | | | 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.
* Detect Git repositories for CTest UPDATE_TYPEBrad King2010-02-101-0/+7
| | | | | The CTest module configures the command-line CTest dashboard mode. We teach it to recognize .git directories.
* Simplify CTest.cmake module with ELSEIFBrad King2010-02-101-29/+17
| | | | | We use ELSEIF to simplify the cascading IF blocks for detecting version control tools.
* Document usage of the include(CTest) moduleBrad King2009-12-041-9/+45
| | | | | | Previously this module gave only very brief documentation. We extend the module's documentation to describe CTestConfig.cmake, interaction with dashboard scripts, and the CTEST_USE_LAUNCHERS option.
* Fix issue #2336 - honor the -C arg to ctest. Honor it for all stages of ↵David Cole2009-12-041-6/+11
| | | | running -D dashboards from the command line and running ctest_configure, ctest_build and ctest_test commands in -S scripts. Also, allow a script to change it by setting the CTEST_CONFIGURATION_TYPE variable: allows for multiple configuration build/test cycles within one script. Add a new signature for the cmake command build_command that accepts CONFIGURATION as one argument. The original build_command signature is still there, but now marked as deprecated in the documentation. Of course... also add CTestConfig tests to verify that -C is honored for -D dashboards and -S scripts.
* Convert CMake non-find modules to BSD LicenseBrad King2009-09-281-0/+13
| | | | | | | This adds copyright/license notification blocks CMake's non-find modules. Most of the modules had no notices at all. Some had notices referring to the BSD license already. This commit normalizes existing notices and adds missing notices.
* Fixed ctest output where max test index is not the same width as the total ↵Zach Mullen2009-09-021-0/+8
| | | | number of tests. Also some preliminary changes for batching ctest jobs
* ENH: Teach CTest to handle Mercurial repositoriesBrad King2009-07-101-0/+11
| | | | | | | | | | | This creates cmCTestHG to drive CTest Update handling on hg-based work trees. Currently we always update to the head of the remote tracking branch (hg pull), so the nightly start time is ignored for Nightly builds. A later change will address this. See issue #7879. Patch from Emmanuel Christophe. I modified the patch slightly for code style, to finish up some parsing details, and to fix the test.
* ENH: Remove CTest public.kitware.com drop defaultBrad King2009-05-151-25/+0
| | | | | | | | | Previously CTest would drop dashboard submissions at public.kitware.com on the PublicDashboard project if there was no configuration. The server no longer supports forwarding to cdash.org, so there is no point in this default. Furthermore, there should be no default at all because it could leak information about proprietary projects that are not configured correctly.
* ENH: Teach CTest to handle Bazaar repositoriesBrad King2009-05-141-0/+12
| | | | | | | | This creates cmCTestBZR to drive CTest Update handling on bzr-based work trees. Currently we always update to the head of the remote tracking branch (bzr pull), so the nightly start time is ignored for Nightly builds. A later change will address this. Patch from Tom Vercauteren. See issue #6857.
* STYLE: first lower-casing the string makes comparing its contents easierAlexander Neundorf2009-05-101-5/+6
| | | | Alex
* ENH: Create include(CTest) launcher interfaceBrad King2009-02-111-0/+12
| | | | | | | This defines a new CTest configuration variable CTEST_USE_LAUNCHERS. When set to true it puts 'ctest --launch' in RULE_LAUNCH_* properties and enables the CTest configuration option 'UseLaunchers'. Currently this works only for Makefile generators.
* STYLE: mention cdash (not only dart)Alexander Neundorf2008-11-031-2/+2
| | | | Alex
* ENH: recognize vs 9 and possible 10 or greater when they come out...Bill Hoffman2008-05-021-9/+13
|
* ENH: Avoid printing message about unknown repository type repeatedly in CTest.Brad King2008-03-171-1/+4
|
* STYLE: use IF(NOT ) instead of IF() ELSE() with empty IF() branchAlexander Neundorf2007-12-171-6/+4
| | | | Alex
* ENH: merge CMake-CrossCompileBasic to HEADAlexander Neundorf2007-05-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | -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
* STYLE: Added basic usage documentation.Brad King2007-05-151-2/+10
|
* BUG: fix typoKen Martin2006-06-281-1/+1
|
* ENH: Default drop method httpAndy Cedilnik2006-06-231-0/+1
|
* ENH: remove debugging outputKen Martin2006-05-251-15/+20
|
* ENH: Allow overwriting CTestConfig.cmake itemsAndy Cedilnik2006-04-281-8/+15
|
* BUG: Fix the missing nightly start time bug and do some cleanupAndy Cedilnik2006-04-211-13/+15
|
* ENH: add documentation support for modulesBill Hoffman2005-12-141-2/+1
|
* ENH: Initial importAndy Cedilnik2005-08-031-0/+184