summaryrefslogtreecommitdiffstats
path: root/Source/cmTestGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Use cmsys::auto_ptr to manage cmCompiledGeneratorExpressionsStephen Kelly2012-12-201-2/+2
| | | | | The compiled generator expressions need to outlive the creating type. For the same reason, store the input string in a std::string.
* cmGeneratorExpression: Port users to two-stage processingStephen Kelly2012-09-181-4/+4
| | | | | | | | | | Removing the Process() API and removing the parameters from the constructor will allow cmGeneratorExpressions to be cached and evaluated with multiple configs for example, such as when evaluating target properties. This requires the creation of a new compiled representation of cmGeneratorExpression. The cmListFileBacktrace remains in the constructor so that we can record where a particular generator expression appeared in the CMakeLists file.
* CTest: Report tests not run due to unknown configurationBrad King2011-06-101-0/+16
| | | | | | | | | | | | | When add_test(NAME) is called without the CONFIGURATIONS argument then the test is intended to run in any configuration. In multi-config generators like the VS IDE and Xcode tests created by add_test(NAME) can only be run when testing a known configuration (otherwise there is no way to generate the test command line). If no test command line is known for a particular configuration, or if no configuration is given to ctest, report the test as not run instead of silently skipping it. Also fix CMake's own TestsWorkingDirectory test invocation to correct a previously silent failure exposed by this change.
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
* Introduce "generator expressions" to add_test()Brad King2009-08-111-2/+7
| | | | | | | | This introduces a new syntax called "generator expressions" to the test COMMAND option of the add_test(NAME) command mode. These expressions have a syntax like $<TARGET_FILE:mytarget> and are evaluated during build system generation. This syntax allows per-configuration target output files to be referenced in test commands and arguments.
* Cleanup test property script code generationBrad King2009-08-101-30/+4
| | | | | | | We teach cmTestGenerator::GenerateScriptConfigs to use the general cmLocalGenerator::EscapeForCMake method to write escaped test property values into test scripts. This eliminates the previous hand-coded escaping implementation.
* ENH: Add NAME mode to ADD_TEST commandBrad King2009-03-161-2/+66
| | | | | | | | This creates command mode add_test(NAME ...). This signature is extensible with more keyword arguments later. The main purpose is to enable automatic replacement of target names with built target file locations. A side effect of this feature is support for tests that only run under specific configurations.
* ENH: Refactor storage of test command linesBrad King2009-03-161-5/+9
| | | | | We used to separate the command executable from its argument vector. It is simpler to just store the whole command line in one vector.
* ENH: Refactor generation of CTestTestfile contentBrad King2009-03-161-0/+126
This moves code which generates ADD_TEST and SET_TESTS_PROPERTIES calls into CTestTestfile.cmake files out of cmLocalGenerator and into a cmTestGenerator class. This will allow more advanced generation without cluttering cmLocalGenerator. The cmTestGenerator class derives from cmScriptGenerator to get support for per-configuration script generation (not yet enabled).