summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLib
Commit message (Collapse)AuthorAgeFilesLines
* cmSystemTools: Teach RunSingleCommand to separate stdout and stderrBrad King2015-04-201-1/+1
| | | | | | | Extend the RunSingleCommand signature to capture stdout and stderr separately. Allow both to be captured to the same std::string to preserve existing behavior. Update all call sites to do this so that this refactoring does not introduce functional changes.
* Merge branch 'backport-no-global-setlocale' into no-global-setlocaleBrad King2015-02-061-2/+0
|\ | | | | | | Resolve conflict in Source/CMakeLists.txt by taking both changes.
* | Port all cmOStringStream to std::ostringstream.Stephen Kelly2015-01-111-1/+1
| | | | | | | | All compilers hosting CMake support the std class.
* | Tests: Move CTestTestMemcheck tools into Tests/CMakeLibBrad King2014-12-184-0/+125
|/ | | | | | The dummy memcheck tools we build for the RunCMake.CTestMemcheck tests require CMakeLib, so put them in a Tests/CMakeLib/PseudoMemcheck directory.
* Tests: Fix CMakeLib.testRST for relative __FILE__Brad King2014-06-062-3/+10
| | | | | Pass the test input directory as a runtime argument instead of depending on __FILE__ to locate it.
* strings: Remove cmStdString referencesBen Boeckel2014-03-081-4/+4
| | | | | | | | | | | Casts from std::string -> cmStdString were high on the list of things taking up time. Avoid such implicit casts across function calls by just using std::string everywhere. The comment that the symbol name is too long is no longer relevant since modern debuggers alias the templates anyways and the size is a non-issue since the underlying methods are generated since it's inherited.
* cmRST: Add support for the note and productionlist directivesBrad King2013-10-302-0/+14
| | | | | | Simply print out the lines as normal paragraph text. Teach the CMakeLib.testRST test to cover this syntax. Update the cmake-developer.7 manual to document support for the directives.
* cmRST: Teach cmake-module directive to scan bracket commentsBrad King2013-10-232-0/+13
| | | | | | | | | | | | | | | | When scanning CMake module files for .rst comments, recognize bracket comments starting in ".rst:" too. For example: #[[.rst: Include the bracket comment content terminated by the closing bracket. Exclude the line containing the bracket if it starts in "#". Teach the CMakeLib.testRST test to cover multiple bracket lengths and ending brackets on lines with and without "#". Update the cmake-developer.7 manual to document the bracket-comment syntax for .rst documentation.
* cmRST: Process literal blocks after paragraphs ending in '::'Brad King2013-10-212-0/+34
| | | | | | | Teach cmRST to recognize non-markup lines ending in '::' followed by a blank line as starting a literal block. Record the whole block as if it were a literal block directive and print it just like a code block. Extend the CMakeLib.testRST test to cover such cases.
* cmRST: Do not process inline markup in code-block literalsBrad King2013-10-212-0/+5
| | | | | | | | Move the ProcessDirectiveParsedLiteral and ProcessDirectiveCodeBlock method internals into an OutputMarkupLines helper. Pass through it a new "inlineMarkup" parameter and teach OutputLine to understand it. When false, do not process inline markup. Extend the CMakeLib.testRST test to cover the two cases.
* Add class cmRST to do basic reStructuredText processingBrad King2013-10-169-0/+246
| | | | | | | | | | | | | | | | Create a cmRST class to perform just enough reStructuredText processing to support display of Help documents in human-readable text format. This will be used to implement --help-* command-line options. Support directives "include", "replace", "parsed-literal", "toctree" (Sphinx), and "cmake-module" (CMake Sphinx Extension to scan .cmake modules). Support inline CMake Sphinx Domain roles to convert cross-references to corresponding title text. Support inline substitutions defined by the "replace" directive, but keep it simple by requiring replacements to be defined before use. Add a CMakeLib "testRST" case to cover processing of supported constructs and compare results against expected output.
* Require CMake 2.8.4 or greater to build CMakeStephen Kelly2013-10-151-1/+1
| | | | | | | | | | | | | | This allows the use of the $<TARGET_FILE:...> generator expression as a replacement for the use of the LOCATION target property. The use of the LOCATION target property is now deprecated for in-build targets. Also drop other checks for older CMake versions: * Simplify cmake_set_target_folder macro. * Use find_package(LibArchive) unconditionally. * Simplify condition for running testVisualStudioSlnParser test. * Convert two macros to functions. * Unconditionally run the CTestTestRerunFailed test.
* VS: Create parser for Visual Studio .sln filesPetr Kmoch2013-04-1219-0/+946
| | | | | | Create class cmVisualStudioSlnParser as a generic parser for Visual Studio .sln files. Implement minimum functionality but keep class extensible. Add tests for the class.
* Avoid string.clear and string.push_back (#13319)Daniel R. Gomez2012-06-191-2/+2
| | | | Compiler "gcc version 2.9-aix51-020209" does not offer them.
* Add newline to the output.Stephen Kelly2012-06-041-1/+1
|
* complex: Move cmSystemTools::UpperCase test to CMakeLibTestsBrad King2011-12-232-0/+34
| | | | | This test belongs in the CMakeLibTests test driver executable which correctly links to CMakeLib.
* complex: Move GeneratedFileStream test to CMakeLibTestsBrad King2011-12-232-0/+101
| | | | | | This test belongs in the CMakeLibTests test driver executable which correctly links to CMakeLib. Fix incorrect library link order in the Complex tests exposed by this change.
* run_compile_commands: Cast istream::get() result to charBrad King2011-05-191-1/+1
| | | | | We perform error checking on the stream after reading so this conversion is safe.
* run_compile_commands: Avoid extra stl vector conversionBrad King2011-05-181-3/+2
| | | | | | | The Sun compiler does not provide the proper vector constructor to initialize it from an iterator pair of a non-matching type. Extend the ParseUnixCommandLine API to provide a vector of the proper type so no conversion is needed.
* run_compile_commands: Avoid shadow in std::map<>::at workaroundBrad King2011-05-171-2/+2
| | | | | The map has a member called "empty" so use a different name for the local variable in our approximate at() method.
* Provide std::map<>::at for use in run_compile_commandsBrad King2011-05-171-2/+0
| | | | | | Many compilers we support do not provide the at() member of std::map. Use the workaround added by commit a7e7a04a (Fix run_compile_commands build on Apple GCC 3.3, 2011-05-16) for all compilers.
* Fix run_compile_commands build on Apple GCC 3.3Brad King2011-05-161-1/+13
| | | | | This compiler does not provide the "at" method of std::map. Approximate it well enough for our needs.
* Only offer the compile command output feature on unix systemsManuel Klimek2011-05-161-2/+4
|
* Adds a test for the compile command line output.Manuel Klimek2011-04-252-0/+135
|
* Create CMakeLibTests output dir for XcodeBrad King2009-12-091-0/+10
| | | | | | | | | Xcode 2.x forgets to create the target output directory before linking the individual architecture pieces of a universal binary for the target CMakeLibTests. Then it passes the directory to -L and -F options when linking the and warns that the directory does not exist. We work around the problem by using a pre-build rule on the target to create the output directory.
* Test XML encoding with UTF-8 character validationBrad King2009-12-082-0/+48
| | | | This creates a unit test for cmXMLSafe. See issue #10003.
* Test UTF-8 decodingBrad King2009-12-082-0/+126
| | | | This creates a unit test for cm_utf8. See issue #10003.
* Create CMakeLib test driver and test cmXMLParserBrad King2009-12-084-0/+47
We create a new CMakeLibTests driver executable in which to writes unit tests for CMakeLib. Our first test is a smoke-test of cmXMLParser.