summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/RunCMake.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Drop broken and now unused RunCMake_TEST_FILE optionBrad King2014-06-301-4/+1
| | | | | | | We cannot use -DRunCMake_TEST=${RunCMake_TEST_FILE} because test cases use project(${RunCMake_TEST}) and the project name cannot be a path to a file. The parent and grandparent commits removed the only uses of the option. Drop it now.
* RunCMake: Allow specifying the source dir and file to test.Stephen Kelly2014-04-061-2/+7
| | | | | | | | | | This will allow decoupling the name of the test from the name and location of the source file under test, which means one source file can be used for multiple tests. Rename the PARENT_SCOPE test in RunCMake.set to not use a keyword of the if() command as a file name. As the filename is now used with an if condition, this causes a conflict.
* Tests/RunCMake: Tell cmake not to report unused command-line optionsBrad King2014-02-271-0/+1
| | | | | | | | | On OS X we pass -DCMAKE_POLICY_DEFAULT_CMP0025=NEW to all tests. Once tests start using cmake_minimum_required(VERSION 3.0) then CMake will warn that CMAKE_POLICY_DEFAULT_CMP0025 is unused. These warnings are not part of the expected test output and can cause such tests to fail. Pass --no-warn-unused-cli to each test cmake invocation to tell it not to produce these warnings.
* Tests/RunCMake: Add function to run a specified command-lineBrad King2014-01-201-11/+26
| | | | | | | Add a 'run_cmake_command' function that can be used by tests to run a given command-line and check the results rather than always running a CMake configuration process. This can be used in the future to test 'cmake -E' for example.
* Merge topic 'apple-clang-id'Brad King2013-10-091-0/+3
|\ | | | | | | | | | | | | 1763c31 Set policy CMP0025 to NEW while building CMake itself aa53ee5 Add policy CMP0025 for Apple Clang compiler id compatibility ab65862 Clang: Add separate "AppleClang" compiler id
| * Set policy CMP0025 to NEW while building CMake itselfBrad King2013-10-081-0/+3
| | | | | | | | | | | | | | | | | | | | CMake is aware of the policy's NEW behavior and the AppleClang compiler id. Set the policy to NEW explicitly to avoid the warning and get the NEW behavior. Also teach the RunCMake test infrastructure to build tests with -DCMAKE_POLICY_DEFAULT_CMP0025=NEW to avoid the policy warning in test output that must match specific regular expressions.
* | Tests/RunCMake: Tolerate valgrind lines in CMake outputBrad King2013-09-161-0/+1
|/ | | | | | When RunCMake tests run during dynamic analysis, valgrind may add lines of the form "==[0-9]+==..." to the output. Remove such lines from the actual output before matching it against the expected output.
* Tests/RunCMake: Allow tests to control build tree behaviorBrad King2013-02-181-2/+6
| | | | | Teach the run_cmake to allow tests to set a custom test build directory. Also add an option to skip removing the build directory.
* Tests: Add generator toolset supportBrad King2013-02-071-1/+3
| | | | | Propagate CMAKE_GENERATOR_TOOLSET through the test hierarchy so that all tests can build with the selected generator toolset, if any.
* CMake: Add -T option to choose a generator toolsetBrad King2013-02-071-0/+4
| | | | | | | | | | | | Reject the option by default. It will be implemented on a per-generator basis. Pass the setting into try_compile project generation. Add cache entry CMAKE_GENERATOR_TOOLSET and associated variable documentation to hold the value persistently. Add a RunCMake.GeneratorToolset test to cover basic "-T" option cases. Verify that CMAKE_GENERATOR_TOOLSET is empty without -T, that -T is rejected when the generator doesn't support it, and that two -T options are always rejected.
* Teach RunCMake tests to allow custom checksBrad King2012-04-191-6/+11
| | | | | | Look for a <SubTest>-check.cmake script and load it to check side effects of the sub test. Provide it with the test source and build tree paths in variables. Check for a failure message in a result variable.
* Add stronger infrastructure for CMake-only testsBrad King2012-03-121-0/+69
The CMakeOnly directory added by commit 9a20abf0 (Add infrastructure for CMake-only tests, 2012-01-11) was sufficient only for tests that always run CMake to successfully configure a project. Later commit eeaaffcb (find_package: Test error and warning messages in failure cases, 2012-02-28) added a sample test that covers failure cases. Generalize the above to create new "RunCMake" test infrastructure that can run CMake multiple times for a single project with different variations and check for expected result/stdout/stderr. Allow for both successful and failing CMake project configuration cases. This will be useful to test error messages and failure behavior.