CMake/Tests/RunCMake
2020-10-21 11:20:37 +02:00
..
add_custom_command cmMakefile: Drop unnecessary custom command APPEND check 2020-10-08 12:20:33 -04:00
add_custom_target add_custom_command: Format files in error message in a single line 2019-09-23 23:39:07 +02:00
add_dependencies Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
add_executable cmake: Display error if generate step fails 2019-05-13 10:31:39 -04:00
add_library Add deprecation warnings for policies CMP0075 and below 2020-10-13 14:36:00 -04:00
add_link_options Genex: Add $<LINK_LANGUAGE:...> and $<LINK_LANG_AND_ID:...> 2020-02-26 16:38:42 +01:00
add_subdirectory Tests: Cover EXCLUDE_FROM_ALL OFF on sub/sub/tgt in sub/all 2019-09-30 10:34:23 -04:00
add_test CTest: exit nonzero after message(SEND_ERROR|FATAL_ERROR) 2020-08-26 11:27:05 -04:00
alias_targets Merge topic 'imported-local-target-alias' 2020-07-13 07:53:01 -04:00
Android Android: Fatal if ABI is not supported by NDK 2020-10-09 09:49:19 -04:00
AndroidMK
AndroidTestUtilities add_test: Revert "Allow special characters in test name" 2020-07-28 08:04:11 +10:00
AutoExportDll bindexplib: Do not export symbols from managed code 2020-05-04 09:58:09 +02:00
Autogen
build_command Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
BuildDepends ASM: Fix preprocessor definition flags for GNU 'as' tool 2020-06-01 14:43:37 -04:00
BundleUtilities BundleUtilities: do not run install_name_tool on scripts 2020-07-28 10:35:51 -04:00
Byproducts
CacheNewline
CheckCompilerFlag CUDA: Add Support to SourceCompiles|Runs and CheckCompilerFlags 2020-10-08 08:30:59 -04:00
CheckIPOSupported Add deprecation warnings for policies CMP0069 and below 2019-10-10 09:26:10 -04:00
CheckLinkerFlag CUDA: CheckLinkerFlag now supports CUDA 2020-10-08 08:30:59 -04:00
CheckModules Add deprecation warnings for policies CMP0075 and below 2020-10-13 14:36:00 -04:00
CheckSourceCompiles Tests: Add cases for CheckSource{Compiles,Runs} bad arguments 2020-10-15 09:42:56 -04:00
CheckSourceRuns Tests: Add cases for CheckSource{Compiles,Runs} bad arguments 2020-10-15 09:42:56 -04:00
ClangTidy
cmake_language cmake_language: Add signature to DEFER calls to later times 2020-09-29 17:12:33 -04:00
cmake_minimum_required Deprecate compatibility with CMake versions older than 2.8.12 2020-06-18 09:52:05 -04:00
cmake_parse_arguments cmake_parse_arguments: add KEYWORDS_MISSING_VALUES 2019-02-07 12:59:10 -05:00
cmake_path cmake_path command: path management 2020-09-06 10:52:25 +02:00
CMakePresets Help: Show environment field 2020-10-19 10:25:57 -04:00
CMakeRoleGlobalProperty CMAKE_ROLE: Fix value in --build for Visual Studio generators 2019-02-26 14:52:17 -05:00
CMP0004
CMP0019 Deprecate compatibility with CMake versions older than 2.8.12 2020-06-18 09:52:05 -04:00
CMP0022 Deprecate compatibility with CMake versions older than 2.8.12 2020-06-18 09:52:05 -04:00
CMP0026 cmTarget: Raise error if imported target location is not set 2020-08-21 08:38:39 -04:00
CMP0027 Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
CMP0028 Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
CMP0037 Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
CMP0038
CMP0039
CMP0040
CMP0041 Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
CMP0042 Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
CMP0043 Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
CMP0045 Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
CMP0046
CMP0049
CMP0050
CMP0051
CMP0053
CMP0054
CMP0055
CMP0057
CMP0059
CMP0060
CMP0064
CMP0065 AIX: Explicitly compute executable exports for both XL and GNU 2019-07-15 13:27:16 -04:00
CMP0068 Add deprecation warnings for policies CMP0069 and below 2019-10-10 09:26:10 -04:00
CMP0069 Add deprecation warnings for policies CMP0069 and below 2019-10-10 09:26:10 -04:00
CMP0081
CMP0102 cmMarkAsAdvancedCommand: ignore variables which don't exist in the cache 2020-01-20 15:49:29 -05:00
CMP0104 CUDA: Add support for disabling CUDA_ARCHITECTURES 2020-06-15 09:13:32 -04:00
CMP0106 Modules/Documentation: remove 2020-04-22 10:46:03 -04:00
CMP0111 CMP0111: Clarify that the new error is on a missing property setting 2020-10-16 08:26:00 -04:00
CMP0115 CMP0115: Require source file extensions to be explicit 2020-10-13 09:46:54 -04:00
CMP0116 Ninja: Transform DEPFILEs with policy CMP0116 2020-10-13 10:19:46 -04:00
CommandLine Merge topic 'remove-server-mode' 2020-10-15 08:31:47 -04:00
CommandLineTar Merge topic 'tar-zstd-compression' 2019-05-30 09:39:35 -04:00
CompatibleInterface Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
CompileDefinitions
CompileFeatures
CompilerArgs Toolchain: Test compiler initial settings 2020-08-03 12:34:46 -04:00
CompilerChange Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
CompilerLauncher ISPC: CompilerLauncher tests work properly with x86 builds 2020-09-10 16:15:55 -04:00
CompilerNotFound Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
Configure Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
configure_file configure_file: Add option to control file permissions transfer to copy 2020-06-30 11:20:41 -04:00
continue
CPack Fix typos identified using codespell 2020-07-22 12:44:47 -04:00
CPackCommandLine Tests: Add RunCMake.CPackCommandLine case for multi-config package 2019-11-11 14:16:48 -05:00
CPackConfig
CPackInstallProperties
CPackSymlinks
Cppcheck
Cpplint
CrosscompilingEmulator add_test: Revert "Allow special characters in test name" 2020-07-28 08:04:11 +10:00
CSharpCustomCommand
CSharpReferenceImport
CTest Fix regression in test/install/package configuration selection 2020-10-15 10:53:09 -04:00
ctest_build ctest: report make-level errors to CDash when using launchers 2020-09-28 13:13:52 -04:00
ctest_cmake_error
ctest_configure
ctest_coverage
ctest_disabled_test
ctest_fixtures
ctest_labels_for_subprojects Ninja: Add multi-config variant 2019-12-13 10:51:46 -05:00
ctest_memcheck Tests: Add cases for cuda-memcheck error types 2020-08-05 11:28:00 +02:00
ctest_skipped_test
ctest_start Tests: Add tests to demonstrate when CTEST_NIGHTLY_START_TIME is needed 2020-04-29 15:36:12 -04:00
ctest_submit ctest_submit: Add option BUILD_ID 2019-03-22 09:37:08 -04:00
ctest_test Merge branch 'backport-ctest-repeat-notrun' into ctest-repeat-notrun 2020-05-27 06:45:39 -04:00
ctest_update Fix typos identified using codespell 2020-07-22 12:44:47 -04:00
ctest_upload
CTestCommandExpandLists add_test: Add COMMAND_EXPAND_LISTS option 2019-06-07 13:14:29 -04:00
CTestCommandLine CTest: exit nonzero after message(SEND_ERROR|FATAL_ERROR) 2020-08-26 11:27:05 -04:00
CTestResourceAllocation Help: Clarify search order for resource spec file 2020-07-07 12:21:58 -04:00
CTestTimeout CTest: Fix reported duration on timeout when grindchild keeps pipes open 2020-03-26 14:35:54 -04:00
CTestTimeoutAfterMatch
DependencyGraph Add option to optimize link dependencies for static libraries 2020-08-12 11:31:07 -04:00
DisallowedCommands Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
ExcludeFromAll Tests: Simplify RunCMake.ExcludeFromAll single-config case 2020-07-23 07:13:36 -04:00
execute_process execute_process: add options for fatal errors on subprocess failure 2020-10-01 17:07:44 +02:00
export export: Do not fail generation for namelink-only case 2020-10-09 22:29:22 +02:00
ExportCompileCommands Initialize CMAKE_EXPORT_COMPILE_COMMANDS only if not set already 2020-05-12 08:08:20 -04:00
ExportWithoutLanguage Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
ExternalData Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
ExternalProject Tests: Fix policy version in RunCMake.ExternalProject test 2020-10-08 11:58:06 -04:00
FeatureSummary Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
FetchContent FetchContent: Raise error if manually given source dir does not exist 2020-10-03 18:46:08 +10:00
file Tests: Update RunCMake.file case with workaround for Xcode "new build system" 2020-09-18 13:02:19 -04:00
File_Archive file(ARCHIVE_CREATE): Add option to control compression level 2020-09-21 13:08:11 -04:00
File_Configure file(CONFIGURE): Allow angle brackets in content 2020-10-15 15:42:21 +02:00
File_Generate Tests: Add test for early source lookup of file(GENERATE) 2020-09-21 23:02:08 +02:00
file-CHMOD file: Add CHMOD and CHMOD_RECURSE subcommands 2020-08-26 21:22:50 +05:30
file-GET_RUNTIME_DEPENDENCIES Tests: Update file(G_R_D) test to make system library optional 2020-07-13 08:32:02 -04:00
FileAPI cmTarget: Raise error if imported target location is not set 2020-08-21 08:38:39 -04:00
FileAPIExternalSource fileapi: add some source property backtraces 2019-09-26 10:56:52 -04:00
find_dependency Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
find_file find_*: Add support for REQUIRED keyword 2020-03-06 16:40:26 +01:00
find_library find_library: Check that library files are readable 2020-06-29 07:50:47 -04:00
find_package find_package: raise error on empty version range 2020-09-29 13:06:09 +02:00
find_path find_*: Add support for REQUIRED keyword 2020-03-06 16:40:26 +01:00
find_program find_program: Find programs that are executable but not readable 2020-06-15 11:58:47 -04:00
FindBoost Merge topic 'FindBoost-1.71' 2019-09-03 09:23:48 -04:00
FindGTK2
FindLua
FindMatlab
FindOpenGL Add deprecation warnings for policies CMP0072 and below 2020-06-12 11:04:56 -04:00
FindPkgConfig Merge topic 'test-FindPkgConfig-isolate-env' 2020-08-10 10:45:54 -04:00
FindSWIG FindSWIG: Fix syntax error 2020-10-02 16:17:36 +02:00
foreach Merge topic 'foreach-int-parse-range-check' 2020-09-21 08:55:29 -04:00
FPHSA find_package: raise error on empty version range 2020-09-29 13:06:09 +02:00
Framework Add support for FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG> 2020-03-04 14:30:54 +01:00
function cmFunctionCommand: Introduce CMAKE_CURRENT_FUNCTION* variables 2019-12-10 16:43:27 +02:00
GenerateExportHeader Fix typos identified using codespell 2020-07-22 12:44:47 -04:00
GeneratorExpression Genex: $<TARGET_PROPERTY> strip emtpy list elements for predefined properties 2020-07-21 15:08:28 +02:00
GeneratorInstance
GeneratorPlatform Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
GeneratorToolset Xcode: Switch to the "new build system" for Xcode 12 and above 2020-09-18 13:02:14 -04:00
GenEx-COMPILE_LANG_AND_ID Genex $<COMPILE_LANGUAGE>: Extend contexts supported 2020-07-13 16:27:19 +02:00
GenEx-COMPILE_LANGUAGE Genex $<COMPILE_LANGUAGE>: Extend contexts supported 2020-07-13 16:27:19 +02:00
GenEx-DEVICE_LINK Tests: Factor out RunCMake.GenEx-DEVICE_LINK test 2020-06-16 08:03:35 -04:00
GenEx-GENEX_EVAL Tests: Factor out RunCMake.GenEx-GENEX_EVAL test 2020-06-16 08:03:36 -04:00
GenEx-HOST_LINK Tests: Factor out RunCMake.GenEx-HOST_LINK test 2020-06-16 08:03:35 -04:00
GenEx-LINK_LANG_AND_ID Tests: Factor out RunCMake.GenEx-LINK_LANG_AND_ID test 2020-06-16 08:03:35 -04:00
GenEx-LINK_LANGUAGE Tests: Factor out RunCMake.GenEx-LINK_LANGUAGE test 2020-06-16 08:03:35 -04:00
GenEx-TARGET_FILE GenEx: Remove unneeded dependencies from target info queries 2020-09-01 09:25:19 -04:00
get_filename_component get_filename_component: make errors fatal 2020-06-18 10:01:45 -04:00
get_property Merge topic 'source_file_both_props' 2020-07-10 06:45:09 -04:00
GetPrerequisites
GNUInstallDirs GNUInstallDirs: Comply with Debian Policy on LIBEXECDIR 2020-10-08 11:10:41 -04:00
GoogleTest CTest: exit nonzero after message(SEND_ERROR|FATAL_ERROR) 2020-08-26 11:27:05 -04:00
Graphviz cmTarget: Raise error if imported target location is not set 2020-08-21 08:38:39 -04:00
if Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
IfacePaths Tests: Shorten name RunCMake.IfacePaths_{INCLUDE_DIRECTORIES => INCDIRS} 2019-10-01 10:53:39 -04:00
include include: refactor call sites of cmMakefile::ReadDependentFile 2020-10-21 11:20:37 +02:00
include_directories
include_external_msproject Fix typos identified using codespell 2020-07-22 12:44:47 -04:00
include_guard
IncludeWhatYouUse
IncompatibleQt Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
install export: Do not fail generation for namelink-only case 2020-10-09 22:29:22 +02:00
INSTALL_NAME_DIR Tests: Add tests for INSTALL_NAME_DIR 2019-11-04 19:02:16 -05:00
InterfaceLibrary Add INTERFACE libraries to generated buildsystem if they have SOURCES 2020-08-07 08:46:32 -04:00
Languages Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
LinkStatic
LinkWhatYouUse
list Deprecate compatibility with CMake versions older than 2.8.12 2020-06-18 09:52:05 -04:00
load_cache load_cache: Allow READ_WITH_PREFIX mode in cmake scripts 2019-11-19 14:39:00 -05:00
MacOSVersions macOS: Rename OSX_*_VERSION properties to MACHO_*_VERSION 2020-03-12 21:15:40 +11:00
Make Makefile: Add policy CMP0113 to avoid duplication of custom commands 2020-09-08 15:38:40 -04:00
math Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
MaxRecursionDepth Refactor: Modernize cmVariableWatchCommand a little 2019-10-17 09:38:31 -04:00
message Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
MetaCompileFeatures Add a test to verify meta-feature parity with granular features 2019-04-09 08:44:56 -04:00
MSVCRuntimeLibrary cmake: Display error if generate step fails 2019-05-13 10:31:39 -04:00
MSVCWarningFlags MSVC: Do not add /W3 to CMAKE_<LANG>_FLAGS by default 2019-04-19 12:56:49 -04:00
MultiLint
Ninja Tests: Pass additional Qt information to Ninja and NMC tests 2020-09-01 16:58:58 -04:00
NinjaMultiConfig Merge topic 'ninja-multi-automoc-regression' 2020-09-18 08:42:28 -04:00
no_install_prefix Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
ObjectLibrary Refactor file extension queries to be more consistent 2020-06-22 09:13:16 -04:00
ObsoleteQtMacros Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
option
ParseImplicitData replace remove and remove_directory with rm in tests 2019-11-13 18:02:18 -05:00
ParseImplicitIncludeInfo CMakeParseImplicitLinkInfo supports comma separated link lines 2019-08-28 10:39:53 -04:00
ParseImplicitLinkInfo CMakeParseImplicitLinkInfo supports comma separated link lines 2019-08-28 10:39:53 -04:00
PolicyScope Genex: CompilerId now can match against a list of ids. 2019-06-03 10:20:23 -04:00
PositionIndependentCode Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
PrecompileHeaders Tests: Fix PchInstantiateTemplates case on macOS with CMAKE_OSX_ARCHITECTURES 2020-09-11 08:06:20 -04:00
project Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
project_injected cmMakefile: Enforce explicit use of project() command 2019-05-06 10:58:10 +02:00
return
RuntimePath Ninja: Add multi-config variant 2019-12-13 10:51:46 -05:00
ScriptMode
separate_arguments separate_arguments: Fix crash on *_COMMAND with no arguments 2020-10-16 08:49:28 -04:00
set
set_property set_property: Fix name of TARGET_DIRECTORY option in error messages 2020-07-09 06:33:03 -04:00
SourceProperties Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
string string(JSON): Adds JSON parsing support to the string command 2020-09-16 13:55:24 -04:00
Swift Swift: support Ninja Multi-Config 2020-03-09 09:11:22 -04:00
SymlinkTrees Restore handling of build directory inside a symlinked path 2020-07-02 07:33:16 -04:00
Syntax cmCommandArgumentParserHelper: rework input handling 2020-09-09 15:49:35 +03:00
target_compile_definitions target_*: Allow setting INTERFACE properties of UNKNOWN IMPORTED targets 2019-07-22 10:23:39 -04:00
target_compile_features
target_compile_options target_compile_options: ensure BEFORE keyword is handled in all scopes 2020-01-11 01:25:25 +01:00
target_include_directories
target_link_directories Genex: Add $<LINK_LANGUAGE:...> and $<LINK_LANG_AND_ID:...> 2020-02-26 16:38:42 +01:00
target_link_libraries cmTarget: Raise error if imported target location is not set 2020-08-21 08:38:39 -04:00
target_link_libraries-ALIAS ALIAS targets: Non-global aliases must be propagated to sub-directories 2020-07-11 16:59:50 +02:00
target_link_libraries-LINK_LANG_AND_ID Tests: Shorten case names in RunCMake.target_link_libraries-* tests 2020-06-17 08:13:57 -04:00
target_link_libraries-LINK_LANGUAGE Tests: Shorten case names in RunCMake.target_link_libraries-* tests 2020-06-17 08:13:57 -04:00
target_link_options CUDA: Don't RunCMake generate separable compilation tests on Clang 2020-06-03 08:10:57 +03:00
target_sources
TargetObjects Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
TargetPolicies Makefile: Add policy CMP0113 to avoid duplication of custom commands 2020-09-08 15:38:40 -04:00
TargetProperties Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
TargetPropertyGeneratorExpressions Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
TargetSources Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
test_include_dirs
ToolchainFile CheckLanguage: Pass CMAKE_TOOLCHAIN_FILE to test project 2020-10-16 09:13:32 -04:00
TransformDepfile cmake -E: Add cmake_transform_depfile internal command 2020-10-13 10:18:02 -04:00
try_compile ISPC: Support generation for multiple instruction sets 2020-09-04 08:37:07 -04:00
try_run Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
UnityBuild Fix typos identified using codespell 2020-07-22 12:44:47 -04:00
UseSWIG FindPython*: Manage weak link for Python modules 2019-05-07 16:37:24 +02:00
variable_watch Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
VisibilityPreset The error message for VISIBILITY_PRESET now documents valid options. 2019-06-03 09:56:03 -04:00
VS10Project Merge topic 'csharp-source_group-bugfix' 2020-10-06 06:47:19 -04:00
VS10ProjectWinCE VS10Generator: add project properties to enable WindowsCE deployment. 2019-06-19 15:11:57 -07:00
VSSolution Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
while Tests/RunCMake: Update cmake_minimum_required versions 2020-06-18 09:52:05 -04:00
Win32GenEx WIN32_EXECUTABLE: Add support for generator expressions 2020-08-21 09:17:27 -04:00
WorkingDirectory
WriteBasicConfigVersionFile
WriteCompilerDetectionHeader
XcodeProject Xcode: Don't add framework as -framework argument in linker info list 2020-10-02 22:13:00 +10:00
CMakeLists.txt Ninja: Transform DEPFILEs with policy CMP0116 2020-10-13 10:19:46 -04:00
color_warning.c ctest_build: ignore ANSI color 2019-08-22 15:53:42 -04:00
exit_code.c clang-tidy: address readability-else-after-return lint 2020-04-13 11:26:03 -04:00
fake_build_command.c ctest: report make-level errors to CDash when using launchers 2020-09-28 13:13:52 -04:00
FileAPIDummyFile.cmake
print_stdin.c
pseudo_cppcheck.c clang-tidy: address readability-else-after-return lint 2020-04-13 11:26:03 -04:00
pseudo_cpplint.c
pseudo_emulator_custom_command_arg.c Teach CROSSCOMPILING_EMULATOR to support arguments 2019-06-03 10:17:17 -04:00
pseudo_emulator_custom_command.c
pseudo_emulator.c
pseudo_iwyu.c
pseudo_tidy.c
README.rst RunCMake: Automatically support platform out override files 2019-06-21 11:06:39 -04:00
RunCMake.cmake Tests: Teach RunCMake to ignore Xcode internal objc warnings 2020-09-30 11:58:44 -04:00
RunCTest.cmake

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 ``<Test>/``.

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

3. Create script ``<Test>/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.

   Alternatively, if the test is to cover running ``ctest -S`` then use::

    include(RunCTest)
    run_ctest(SubTest1)
    ...
    run_ctest(SubTestN)

   and create ``test.cmake.in``, ``CTestConfig.cmake.in``, and
   ``CMakeLists.txt.in`` files to be configured for each case.

4. Create file ``<Test>/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 ``<Test>/<SubTest>.cmake`` file for each sub-test named
   above containing the actual test code.  Optionally create files
   containing expected test results:

   ``<SubTest>-result.txt``
    Regex matching expected process result, if not ``0``
   ``<SubTest>-stdout.txt``
    Regex matching expected stdout content
   ``<SubTest>-stderr.txt``
    Regex matching expected stderr content, if not ``^$``
   ``<SubTest>-check.cmake``
    Custom result check.

  Note that when a specific platform expects differing stdout or stderr that
  can be done by adding a platform specific output file. These follow the
  naming convention of:
   ``<SubTest>-stdout-<platform_lower_case>.txt``
   ``<SubTest>-stderr-<platform_lower_case>.txt``

   Note that trailing newlines will be stripped from actual and expected
   test output before matching against the stdout and stderr expressions.
   The code in ``<SubTest>-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``.

To speed up local testing, you can choose to run only a subset of
``run_cmake()`` tests in a ``RunCMakeTest.cmake`` script by using the
``RunCMake_TEST_FILTER`` environment variable. If this variable is set,
it is treated as a regular expression, and any tests whose names don't
match the regular expression are not run. For example::

  $ RunCMake_TEST_FILTER="^example" ctest -R '^RunCMake\.Example$'

This will only run subtests in ``RunCMake.Example`` that start with
``example``.