2e4ea0c055
ce167b54 cmMakefile: Handle CMP0014 before configuring the generator. 7baef756 cmLocalGenerator: Assert that there is a parent. 63255342 cmMakefile: Remove redundant variable set. 894961af cmMakefile: Use the state to determine the parent directory. 115e9199 Use new top-level check abstraction. c5059c90 cmLocalGenerator: Add abstraction to check if top-level. b17686d2 cmGlobalGenerator: Move some flags from cmLocalGenerator. ed41a8e7 cmLocalGenerator: Port loops to cmState::Snapshot. 48a9e91b cmState: Add an accessor for Parent snapshot and a validity check. e7f7c2e2 cmLocalGenerator: Convert two recursive methods to loops. c5cb3a73 cmLocalGenerator: Get project directories from the cmState. 76b59831 cmLocalGenerator: Initialize state before creating cmMakefile. 34c9ee2e cmLocalGenerator: Require a global generator in the constructor. 3837c483 Tests: Add case for 'ctest' run with bad CTestTestfile b317b38d cmGlobalBorlandMakefileGenerator: Do not inherit from NMake generator 94867698 Don't use a cmLocalGenerator instance to call static methods. ...
If you think about adding a new testcase then here is a small checklist you can run through to find a proper place for it. Go through the list from the beginning and stop once you find something that matches your tests needs, i.e. if you will test a module and only need the configure mode use the instructions from section 2, not 3. 1. Your testcase can run in CMake script mode, i.e. "cmake -P something" Put your test in Tests/CMakeTests/ directory as a .cmake.in file. It will be put into the test binary directory by configure_file(... @ONLY) and run from there. Use the AddCMakeTest() macro in Tests/CMakeTests/CMakeLists.txt to add your test to the test runs. 2. Your test needs CMake to run in configure mode, but will not build anything This includes tests that will build something using try_compile() and friends, but nothing that expects add_executable(), add_library(), or add_test() to run. If the test configures the project only once and it must succeed then put it into the Tests/CMakeOnly/ directory. Create a subdirectory named like your test and write the CMakeLists.txt you need into that subdirectory. Use the add_CMakeOnly_test() macro from Tests/CMakeOnly/CMakeLists.txt to add your test to the test runs. If the test configures the project with multiple variations and verifies success or failure each time then put it into the Tests/RunCMake/ directory. Read the instructions in Tests/RunCMake/CMakeLists.txt to add a test. 3. If you are testing something from the Modules directory Put your test in the Tests/Modules/ directory. Create a subdirectory there named after your test. Use the ADD_TEST_MACRO macro from Tests/CMakeLists.txt to add your test to the test run. If you have put your stuff in Tests/Modules/Foo then you call it using ADD_TEST_MACRO(Module.Foo Foo). 4. You are doing other stuff. Find a good place ;) In doubt mail to cmake-developers@cmake.org and ask for advise.