summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add label summary times to ctest default output. Also, remove parallel time ↵Bill Hoffman2009-09-114-20/+43
| | | | output. Add flag to disable label summary.
* Rewrite CTest child output handlingBrad King2009-09-115-203/+132
| | | | | | | | | | | | | | This commit fixes cmCTestRunTest and cmProcess to more efficiently handle child output. We now use the buffer for each child output pipe to hold at most a partial line plus one new block of data at a time. All complete lines are scanned in-place, and then only the partial line at the end of the buffer is moved back to the beginning before appending new data. We also simplify the cmProcess interface by making GetNextOutputLine the only method that needs to be called while the process is running. This simplifies cmCTestRunTest so that CheckOutput can be called until it returns false when the process is done.
* Initialize cmCTestRunTest instances robustlyBrad King2009-09-113-18/+6
| | | | | | All instances of this class need a cmCTestTestHandler, so we now require one to construct it. The instance also provides the cmCTest instance too.
* Remove barely-used cmCacheManager::AddCacheEntryBrad King2009-09-113-18/+3
| | | | | | | The commit "Remove barely-used cmMakefile::AddCacheDefinition" removed all but one use of the cmCacheManager method 'bool' overload. This commit removes the other use and the entire method, thus reducing code duplication.
* Fix option() interpretation of non-boolean valuesBrad King2009-09-111-1/+2
| | | | | | The commit "Remove barely-used cmMakefile::AddCacheDefinition" broke option() calls that pass a non-boolean default value. We restore the old behavior by always coercing the value to 'ON' or 'OFF'.
* Add parentheses around '&&' between '||' for gccBrad King2009-09-1111-42/+47
| | | | | | | The GNU compiler warns about possible operator precedence mistakes and asks for explicit parentheses (-Wparentheses). We add the parentheses to silence the warning. This also fixes one real logic error in the find_package() implementation by correcting expression evaluation order.
* KWSys Nightly Date StampKWSys Robot2009-09-111-1/+1
|
* Create CMake Policy CMP0015 to fix set(CACHE)Brad King2009-09-107-2/+94
| | | | | | | | The set(CACHE) and option() commands should always expose the cache value. Previously we failed to expose the value when it was already set if a local variable definition hid it. When set to NEW, this policy tells the commands to always remove the local variable definition to expose the cache value. See issue #9008.
* Remove barely-used cmMakefile::AddCacheDefinitionBrad King2009-09-103-23/+2
| | | | | | | | The boolean overload of this method was used only to implement option(). We re-implement option() in terms of the main method and removes the now-unused signature. This removes some duplicate code that had already fallen behind on changes (it was not removing the local definition instead of setting it).
* sync target generation with the CodeBlocks generatorAlexander Neundorf2009-09-102-80/+51
| | | | | | | | | | | Basically the code is now a copy of the one from the CodeBlocks generator, maybe this could move into a common helper function somewhere: -only insert GLOBAL targets from the toplevel directory -don't insert the edit_cache target if it calls ccmake, since this doesn't work in the output tab of Eclipse -add the /fast targets Alex
* As in the Eclipse generator: don't insert the edit_cache target if it is ↵Alexander Neundorf2009-09-101-1/+18
| | | | ccmake, since this doesn't work in the output tab of the IDE
* Added some ctest batch capabilitiesZach Mullen2009-09-102-0/+148
|
* BUG: Fixed segfault and bad reporting if a ctest executable could not be ↵Zach Mullen2009-09-106-48/+38
| | | | found. Also added some batch testing code that is not yet complete.
* KWSys Nightly Date StampKWSys Robot2009-09-101-1/+1
|
* Enable C and C++ first in Fortran testBrad King2009-09-091-1/+1
| | | | | | CMake now looks for a Fortran compiler matching any C or C++ compiler already enabled. We test this by enabling C and C++ first in the Fortran test, which is what user projects will likely do.
* Bias Fortran compiler search with C/C++ compilersBrad King2009-09-091-0/+35
| | | | | | | | | When CMAKE_Fortran_COMPILER and ENV{FC} are not defined CMake searches for an available Fortran compiler. This commit teaches the search code to look for compiler executables next to the C and C++ compilers if they are already found. Furthermore, we bias the compiler executable name preference order based on the vendor of the C and C++ compilers, which increases the chance of finding a compatible compiler by default.
* KWSys Nightly Date StampKWSys Robot2009-09-091-1/+1
|
* Missed another CMAKE_CFG_INTDIR reference in the previously previous commit.David Cole2009-09-081-0/+1
|
* ENH: ctest now writes time cost data to a file after a test set is run, and ↵Zach Mullen2009-09-083-9/+61
| | | | uses these time costs to schedule the processes the next time ctest is run in that build tree.
* Missed a CMAKE_CFG_INTDIR reference in the previous commit.David Cole2009-09-081-1/+1
|
* Drop old CMake "build settings" export/importBrad King2009-09-084-282/+32
| | | | | | | | | | | | The CMakeExportBuildSettings and CMakeImportBuildSettings modules used to export compiler paths and flags from one project and import them into another. The import process would force the settings on the including project. Forcing settings helped long ago when compiler ABIs changed frequently but is now just a nuisance. We've deemed the behavior harmful so this commit simply removes it. The modules and macros now error out if included or called from a project that requires CMake 2.8 or higher.
* Use more verbose/descriptive names for the "public API" functions in the ↵David Cole2009-09-082-78/+92
| | | | ExternalProject.cmake module. Follow the cmake function naming convention, using a ModuleFileName_ prefix. Locate stamp files under a CMAKE_CFG_INTDIR subdir of the stamp dir so that debug and release builds have separate stamp files for Visual Studio builds. If no CMAKE_GENERATOR argument is given to ExternalProject_Add, default to using the parent project's cmake generator.
* BUG: Fixed extraneous newlines from ctest process outputZach Mullen2009-09-082-21/+26
|
* ENH: Replaced the EXPENSIVE test property with a COST test property taking a ↵Zach Mullen2009-09-085-67/+74
| | | | floating point value. Tests are now started in descending order of their cost, which defaults to 0 if none is specified.
* BUG: Fixed issue where ctest would hang if a process terminated with output ↵Zach Mullen2009-09-083-12/+39
| | | | in its buffers but no newline
* Fixed warningZach Mullen2009-09-081-1/+1
|
* KWSys Nightly Date StampKWSys Robot2009-09-081-1/+1
|
* ENH: Added ctest test options PROCESSORS and RUN_SERIAL. These allow ↵Zach Mullen2009-09-076-8/+40
| | | | specification of resource allocation for given tests running with the ctest -j N option. RUN_SERIAL ensures that a given test does not run in parallel with any other test. Also forced appending of "..." to the longest test name in ctest.
* Put custom commands in topological order for VS 10Brad King2009-09-073-16/+29
| | | | | | | | | | | | | | | | Visual Studio 10 uses MSBuild to drive the build. Custom commands appear in MSBuild files inside CustomBuild elements, which appear inside ItemGroup elements. The Outputs and AdditionalInputs elements of each CustomBuild element are evaluated according to timestamps on disk. MSBuild does not use inputs/outputs to order CustomBuild steps within a single ItemGroup or across multiple ItemGroup elements. Instead we must put only unrelated CustomBuild elements in a single ItemGroup and order the item groups from top to bottom using a topological order of the custom command dependency graph. This fixes CustomCommand and ExternalProject test failures, so we remove the expectation of these failures.
* Save source dependencies from custom command traceBrad King2009-09-072-6/+45
| | | | | | | | In each target we trace dependencies among custom commands to pull in all source files and build rules necessary to complete the target. This commit teaches cmTarget to save the inter-source dependencies found during its analysis. Later this can be used by generators that need to topologically order custom command rules.
* Do Windows command line escapes for VS 10 tooBrad King2009-09-074-34/+24
| | | | | | | | | Until now the VS 10 generator did no Windows command-line escaping and just did XML escapes. This commit teaches the generator to use the same command-line escape addition code used by other generators. The script construction method cmLocalVisualStudioGenerator::ConstructScript need not do XML escapes. Each VS generator version adds the XML escapes necessary for that version.
* KWSys Nightly Date StampKWSys Robot2009-09-071-1/+1
|
* Try to fix the failing new StringFileTest on HP-UXAlexander Neundorf2009-09-061-2/+2
| | | | | | | | | | It seems that while(i=file.get(), file) iterates one character too much on HP-UX, let's see whether while(file.get(c)) works, at least this is given as example on http://h30097.www3.hp.com/cplus/ifstream_3c__std.htm Alex
* Add a test for FILE(READ ... HEX) together with a tiny binary file.Alexander Neundorf2009-09-062-0/+9
| | | | Alex
* fix #9316: when converting binary data to hex, also print the leading 0'sAlexander Neundorf2009-09-061-1/+1
| | | | Alex
* Improve the algorithm which skips targets so they are not added to the ↵Alexander Neundorf2009-09-061-47/+16
| | | | | | | | | codeblocks GUI. -add all global targets from CMAKE_BINARY_DIR to the menu, but not from the subdirs -add all utility targets to the menu, except the Nightly/Experimental/Continuous-"sub"targets as e. Alex
* KWSys Nightly Date StampKWSys Robot2009-09-061-1/+1
|
* KWSys Nightly Date StampKWSys Robot2009-09-051-1/+1
|
* Oops. Close strings with double quotes. Where they're supposed to be.David Cole2009-09-041-2/+2
|
* Add MPICH2 and Microsoft HPC paths, add paths to find mpiexec. Now it works ↵David Cole2009-09-041-8/+16
| | | | better automatically on Windows. Thanks to Dave Partyka for developing the patch.
* Fix memory and process leak in ctest_run_script.Bill Hoffman2009-09-041-1/+1
|
* fix focus fighting between search field and cache value editorsClinton Stimpson2009-09-042-1/+9
|
* Increase curl submit timeout. A submit will timeout if there are 120 seconds ↵David Cole2009-09-041-7/+11
| | | | of very little activity. 30 seconds was too short.
* Fixed ctest output processing. Should now display output as it occurs, as ↵Zach Mullen2009-09-043-31/+46
| | | | well as be able to consume multiple lines if they exist within the timeout.
* Change run_ctest_script in ctest to not stop processing when there is an ↵Bill Hoffman2009-09-044-8/+43
| | | | error in the script being run. Also, add a RETURN_VALUE option so that you can find out if the script failed
* Cleanup source file dependency tracing logicBrad King2009-09-041-52/+56
| | | | | | | | | | In cmTarget we trace the dependencies of source files in the target to bring in all custom commands needed to generate them. We clean up the implementation to use simpler logic and better method names. The new approach is based on the observation that a source file is actually an input (dependency) of the rule that it runs (compiler or custom) even in the case that it is generated (another .rule file has the rule to generate it).
* Cleanup cmTarget source file list representationBrad King2009-09-042-11/+19
| | | | | | This teaches cmTarget to use a set of cmSourceFile pointers to guarantee unique insertion of source files in a target. The order of insertion is still preserved in the SourceFiles vector.
* Simplify VS CMake re-run checkBrad King2009-09-041-11/+0
| | | | | | | | | | | | When CMake is invoked by the VS IDE re-run rule we compute whether or not CMake really needs to re-run based on some timestamp helper files. Previously we assumed that if the main generate.stamp file exists then VS has correctly detected that the file is out of date. However, this assumption is too aggressive and re-runs CMake unnecessarily sometimes. This commit removes the assumption and always checks timestamps itself. The change breaks the explicit user re-run request (R-click -> Compile) but only in cases when the build system is already up to date.
* Simplify VS generator ZERO_CHECK dependencyBrad King2009-09-042-37/+8
| | | | | | | | | | The VS generators use a ZERO_CHECK target on which all other targets depend to check whether CMake needs to re-run. This commit simplifies the addition of a dependency on the target to all other targets. We also move addition of dependencies to the beginning of the Generate step. This allows the dependency on ZERO_CHECK to be included in the global inter-target dependency analysis.
* Fixed output as-it-happens issue. Now displays output as it receives each ↵Zach Mullen2009-09-041-0/+4
| | | | newline.