Brad King cefa80236d Merge topic 'test-external-cmake' 12 lat temu
..
CMP0004 d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
CMP0019 d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
CMP0022 d25ad482e9 OS X: Add CMP0042 to enable MACOSX_RPATH by default 12 lat temu
CMP0026 abfebefbb9 Cygwin: Avoid legacy warnings in RunCMake.CMP0026 test 12 lat temu
CMP0027 70ae6dfd92 Handle genexes when evaluating INTERFACE_INCLUDE_DIRECTORIES errors. 12 lat temu
CMP0028 b29152387d CMP0028: Trigger on libraries from INTERFACE of dependencies. 12 lat temu
CMP0037 3900fcf4a8 CMP0037: Extend policy to reserved names and custom targets 12 lat temu
CMP0038 301bb5cdda Disallow link-to-self (#13947). 12 lat temu
CMP0039 7390002964 CMP0039: Add missing '.' to policy summary line 12 lat temu
CMP0040 a02f3d2de0 Add policy CMP0040 to disallow custom commands on missing targets 12 lat temu
CMP0041 5e4b8871bc Cygwin: Avoid legacy warnings in RunCMake.CMP004[1235] tests 12 lat temu
CMP0042 5e4b8871bc Cygwin: Avoid legacy warnings in RunCMake.CMP004[1235] tests 12 lat temu
CMP0043 5e4b8871bc Cygwin: Avoid legacy warnings in RunCMake.CMP004[1235] tests 12 lat temu
CMP0045 5e4b8871bc Cygwin: Avoid legacy warnings in RunCMake.CMP004[1235] tests 12 lat temu
CMP0046 0bf6f13b1d AddDependencies: new policy requires dependencies to exist 12 lat temu
CMP0049 c248a437c4 Add policy CMP0049 to avoid variable expansion in source lists 12 lat temu
CMP0050 f2eee72fac add_custom_command: Disallow use of SOURCE signatures. 12 lat temu
CTest bca67c710f build_command: Return a "cmake --build" command-line 12 lat temu
CheckModules 78be324762 Tests: Speed up RunCMake.CheckModules test 12 lat temu
CommandLine 94389f6388 cmake: Add '-E sleep' command 12 lat temu
CompatibleInterface 5771f81d91 cmTarget: Add GetTransitiveTargetClosure method. 12 lat temu
CompilerChange 15610bb5b1 Drop use of configure_file IMMEDIATE option 12 lat temu
CompilerNotFound 3e04946f7b Require CMAKE_<LANG>_COMPILER to be found as a full path 12 lat temu
Configure 82d4317503 Allow projects to specify extra inputs to CMake 12 lat temu
DisallowedCommands 4ea27bcc4c Cygwin: Avoid legacy warnings in RunCMake.DisallowedCommands test 12 lat temu
ExportWithoutLanguage 66b290e7e2 export(): Process the export() command at generate time. 12 lat temu
ExternalData 8eb20eeabe ExternalData: Allow local stores without any URL templates 12 lat temu
FPHSA d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
FeatureSummary 8372b4553b FeatureSummary: Add unit tests 12 lat temu
File_Generate d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
GeneratorExpression 6aabb6a62b Genex: Use case-sensitive comparison for COMPILER_ID. 12 lat temu
GeneratorToolset d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
IncompatibleQt d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
Languages d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
ObjectLibrary 53ac9b8d86 Merge topic 'object-library-missing-source' 12 lat temu
ObsoleteQtMacros f69606d335 Qt4Macros: Port to use message(DEPRECATION) 12 lat temu
PositionIndependentCode 2e60b5fcf7 cmTarget: Report origin of COMPATIBLE_INTERFACE properties. 12 lat temu
SolutionGlobalSections d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
Syntax a9bdef2dda tests: Add variable expansion tests 12 lat temu
TargetPolicies 5d1fc198b7 Help: Ensure that target-policies are added to the documentation. 12 lat temu
TargetPropertyGeneratorExpressions d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
VisibilityPreset d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
add_dependencies d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
alias_targets d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
build_command 4ac75fdfe6 Prefer CMAKE_MAKE_PROGRAM over CMAKE_BUILD_TOOL (#14548) 12 lat temu
cmake_minimum_required 7d47c69365 Drop compatibility with CMake < 2.4 12 lat temu
export cbe7e8fae4 export: Implement EXPORT subcommand (#9822) 12 lat temu
find_package d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
get_filename_component d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
if d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
include 84fac67f90 Don't allow include() of export(EXPORT) file at configure time. 12 lat temu
include_directories 9eedc850eb Export: Process relative includes after genex evaluation. 12 lat temu
include_external_msproject d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
install be0458c562 InstallRules: added new variable to disable generation of install rules 12 lat temu
interface_library 6d85a6a64c add_library: Issue better diagnostic for INTERFACE GLOBAL signature. 12 lat temu
list d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
message 509c142a3f message: Add a DEPRECATION mode 12 lat temu
no_install_prefix fe057ab3cd Allow disabling adding the install prefix to the prefix search path. 12 lat temu
project 7e142c5ac2 project: Manage VERSION variables 12 lat temu
set bf755c7c38 set: Add unit tests for set/unset PARENT_SCOPE 12 lat temu
string 4e184a21be string: Add CONCAT sub-command 12 lat temu
target_link_libraries d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
try_compile d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
variable_watch d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 lat temu
CMakeLists.txt cefa80236d Merge topic 'test-external-cmake' 12 lat temu
README.rst d4ca30ae15 Tests/RunCMake: Add function to run a specified command-line 12 lat temu
RunCMake.cmake 7cd239ed38 Tests/RunCMake: Tell cmake not to report unused command-line options 12 lat temu

README.rst

This directory contains tests that run CMake to configure a project
but do not actually build anything. To add a test:

1. Add a subdirectory named for the test, say ``/``.

2. In ``./CMakeLists.txt`` call ``add_RunCMake_test`` and pass the
test directory name ````.

3. Create script ``/RunCMakeTest.cmake`` in the directory containing::

include(RunCMake)
run_cmake(SubTest1)
...
run_cmake(SubTestN)

where ``SubTest1`` through ``SubTestN`` are sub-test names each
corresponding to an independent CMake run and project configuration.

One may also add calls of the form::

run_cmake_command(SubTestI ${CMAKE_COMMAND} ...)

to fully customize the test case command-line.

4. Create file ``/CMakeLists.txt`` in the directory containing::

cmake_minimum_required(...)
project(${RunCMake_TEST} NONE) # or languages needed
include(${RunCMake_TEST}.cmake)

where ``${RunCMake_TEST}`` is literal. A value for ``RunCMake_TEST``
will be passed to CMake by the ``run_cmake`` macro when running each
sub-test.

5. Create a ``/.cmake`` file for each sub-test named
above containing the actual test code. Optionally create files
containing expected test results:

``-result.txt``
Process result expected if not "0"
``-stdout.txt``
Regex matching expected stdout content
``-stderr.txt``
Regex matching expected stderr content
``-check.cmake``
Custom result check.

Note that trailing newlines will be stripped from actual and expected
test output before matching against the stdout and stderr expressions.
The code in ``-check.cmake`` may use variables

``RunCMake_TEST_SOURCE_DIR``
Top of test source tree
``RunCMake_TEST_BINARY_DIR``
Top of test binary tree

and an failure must store a message in ``RunCMake_TEST_FAILED``.