You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Timo Röhling 6de3bd6333
New upstream version 3.27.0~rc4
2 years ago
..
ABI New upstream version 3.21.2 3 years ago
Android New upstream version 3.21.2 3 years ago
AndroidMK New upstream version 3.24.0 2 years ago
AndroidTestUtilities New upstream version 3.8.0 8 years ago
AppleSilicon New upstream version 3.27.0~rc4 2 years ago
AppleTextStubs New upstream version 3.27.0~rc4 2 years ago
AutoExportDll New upstream version 3.27.0~rc4 2 years ago
Autogen New upstream version 3.27.0~rc4 2 years ago
BuildDepends New upstream version 3.27.0~rc4 2 years ago
BundleUtilities New upstream version 3.27.0~rc4 2 years ago
Byproducts New upstream version 3.27.0~rc4 2 years ago
CMAKE_MSVCIDE_RUN_PATH New upstream version 3.22.0 3 years ago
CMP0004 New upstream version 3.27.0~rc4 2 years ago
CMP0019 New upstream version 3.27.0~rc4 2 years ago
CMP0022 New upstream version 3.27.0~rc4 2 years ago
CMP0026 New upstream version 3.27.0~rc4 2 years ago
CMP0027 New upstream version 3.21.2 3 years ago
CMP0037 New upstream version 3.27.0~rc4 2 years ago
CMP0038 New upstream version 3.27.0~rc4 2 years ago
CMP0039 New upstream version 3.27.0~rc4 2 years ago
CMP0040 New upstream version 3.27.0~rc4 2 years ago
CMP0041 New upstream version 3.27.0~rc4 2 years ago
CMP0042 New upstream version 3.27.0~rc4 2 years ago
CMP0043 New upstream version 3.27.0~rc4 2 years ago
CMP0045 New upstream version 3.27.0~rc4 2 years ago
CMP0046 New upstream version 3.27.0~rc4 2 years ago
CMP0049 New upstream version 3.27.0~rc4 2 years ago
CMP0050 New upstream version 3.27.0~rc4 2 years ago
CMP0051 New upstream version 3.27.0~rc4 2 years ago
CMP0053 New upstream version 3.27.0~rc4 2 years ago
CMP0054 New upstream version 3.27.0~rc4 2 years ago
CMP0055 New upstream version 3.27.0~rc4 2 years ago
CMP0057 New upstream version 3.27.0~rc4 2 years ago
CMP0059 Imported Upstream version 3.6.0 9 years ago
CMP0060 New upstream version 3.27.0~rc4 2 years ago
CMP0064 New upstream version 3.27.0~rc4 2 years ago
CMP0065 New upstream version 3.27.0~rc4 2 years ago
CMP0068 New upstream version 3.18.2 4 years ago
CMP0069 New upstream version 3.18.2 4 years ago
CMP0081 New upstream version 3.27.0~rc4 2 years ago
CMP0102 New upstream version 3.27.0~rc4 2 years ago
CMP0104 New upstream version 3.26.4 2 years ago
CMP0106 New upstream version 3.27.0~rc4 2 years ago
CMP0111 New upstream version 3.27.0~rc4 2 years ago
CMP0115 New upstream version 3.27.0~rc4 2 years ago
CMP0116 New upstream version 3.21.2 3 years ago
CMP0118 New upstream version 3.27.0~rc4 2 years ago
CMP0119 New upstream version 3.23.0 3 years ago
CMP0121 New upstream version 3.27.0~rc4 2 years ago
CMP0125 New upstream version 3.23.0 3 years ago
CMP0126 New upstream version 3.21.2 3 years ago
CMP0129 New upstream version 3.23.0 3 years ago
CMP0132 New upstream version 3.24.0 2 years ago
CMP0135 New upstream version 3.24.0 2 years ago
CMP0139 New upstream version 3.27.0~rc4 2 years ago
CMP0150 New upstream version 3.27.0~rc4 2 years ago
CMakeDependentOption New upstream version 3.25.0 2 years ago
CMakePresets New upstream version 3.27.0~rc4 2 years ago
CMakePresetsBuild New upstream version 3.27.0~rc4 2 years ago
CMakePresetsPackage New upstream version 3.27.0~rc4 2 years ago
CMakePresetsTest New upstream version 3.27.0~rc4 2 years ago
CMakePresetsWorkflow New upstream version 3.27.0~rc4 2 years ago
CMakeRelease New upstream version 3.24.0 2 years ago
CMakeRoleGlobalProperty New upstream version 3.15.4 5 years ago
CPack New upstream version 3.27.0~rc4 2 years ago
CPackCommandLine New upstream version 3.16.3 5 years ago
CPackConfig New upstream version 3.27.0~rc4 2 years ago
CPackInstallProperties New upstream version 3.27.0~rc4 2 years ago
CPackSymlinks New upstream version 3.27.0~rc4 2 years ago
CSharpCustomCommand New upstream version 3.27.0~rc4 2 years ago
CSharpReferenceImport New upstream version 3.27.0~rc4 2 years ago
CTest New upstream version 3.27.0~rc4 2 years ago
CTestCommandExpandLists New upstream version 3.26.4 2 years ago
CTestCommandLine New upstream version 3.27.0~rc4 2 years ago
CTestResourceAllocation New upstream version 3.27.0~rc4 2 years ago
CTestTimeout New upstream version 3.27.0~rc4 2 years ago
CTestTimeoutAfterMatch New upstream version 3.27.0~rc4 2 years ago
CUDA_architectures New upstream version 3.25.0 2 years ago
CXXModules New upstream version 3.27.0~rc4 2 years ago
CacheNewline New upstream version 3.27.0~rc4 2 years ago
CheckCompilerFlag New upstream version 3.27.0~rc4 2 years ago
CheckIPOSupported New upstream version 3.27.0~rc4 2 years ago
CheckLinkerFlag New upstream version 3.25.0 2 years ago
CheckModules New upstream version 3.27.0~rc4 2 years ago
CheckSourceCompiles New upstream version 3.26.4 2 years ago
CheckSourceRuns New upstream version 3.25.0 2 years ago
ClangTidy New upstream version 3.27.0~rc4 2 years ago
Color New upstream version 3.27.0~rc4 2 years ago
CommandLine New upstream version 3.27.0~rc4 2 years ago
CommandLineTar New upstream version 3.27.0~rc4 2 years ago
CompatibleInterface New upstream version 3.27.0~rc4 2 years ago
CompileDefinitions New upstream version 3.27.0~rc4 2 years ago
CompileFeatures New upstream version 3.27.0~rc4 2 years ago
CompileWarningAsError New upstream version 3.27.0~rc4 2 years ago
CompilerArgs New upstream version 3.27.0~rc4 2 years ago
CompilerChange New upstream version 3.27.0~rc4 2 years ago
CompilerLauncher New upstream version 3.27.0~rc4 2 years ago
CompilerNotFound New upstream version 3.21.2 3 years ago
CompilerTest New upstream version 3.25.0 2 years ago
Configure New upstream version 3.27.0~rc4 2 years ago
Cppcheck New upstream version 3.27.0~rc4 2 years ago
Cpplint New upstream version 3.27.0~rc4 2 years ago
CrosscompilingEmulator New upstream version 3.27.0~rc4 2 years ago
DependencyGraph New upstream version 3.21.2 3 years ago
DependencyProviders New upstream version 3.27.0~rc4 2 years ago
DisallowedCommands New upstream version 3.27.0~rc4 2 years ago
ExcludeFromAll New upstream version 3.27.0~rc4 2 years ago
ExportCompileCommands New upstream version 3.21.2 3 years ago
ExportImport New upstream version 3.26.4 2 years ago
ExportWithoutLanguage New upstream version 3.21.2 3 years ago
ExternalData New upstream version 3.27.0~rc4 2 years ago
ExternalProject New upstream version 3.27.0~rc4 2 years ago
ExtraGenerators New upstream version 3.27.0~rc4 2 years ago
FPHSA New upstream version 3.27.0~rc4 2 years ago
FeatureSummary New upstream version 3.27.0~rc4 2 years ago
FetchContent New upstream version 3.27.0~rc4 2 years ago
FetchContent_find_package New upstream version 3.24.2 2 years ago
FileAPI New upstream version 3.27.0~rc4 2 years ago
FileAPIExternalSource New upstream version 3.21.2 3 years ago
File_Archive New upstream version 3.27.0~rc4 2 years ago
File_Configure New upstream version 3.25.0 2 years ago
File_Generate New upstream version 3.27.0~rc4 2 years ago
FindBoost New upstream version 3.26.4 2 years ago
FindGTK2 New upstream version 3.27.0~rc4 2 years ago
FindLua New upstream version 3.27.0~rc4 2 years ago
FindMatlab New upstream version 3.27.0~rc4 2 years ago
FindOpenGL New upstream version 3.21.2 3 years ago
FindOpenSSL New upstream version 3.27.0~rc4 2 years ago
FindPkgConfig New upstream version 3.27.0~rc4 2 years ago
FindSWIG New upstream version 3.27.0~rc4 2 years ago
Framework New upstream version 3.27.0~rc4 2 years ago
GNUInstallDirs New upstream version 3.27.0~rc4 2 years ago
GenEx-COMPILE_LANGUAGE New upstream version 3.27.0~rc4 2 years ago
GenEx-COMPILE_LANG_AND_ID New upstream version 3.21.2 3 years ago
GenEx-DEVICE_LINK New upstream version 3.21.2 3 years ago
GenEx-GENEX_EVAL New upstream version 3.18.2 4 years ago
GenEx-HOST_LINK New upstream version 3.21.2 3 years ago
GenEx-LINK_GROUP New upstream version 3.24.2 2 years ago
GenEx-LINK_LANGUAGE New upstream version 3.21.2 3 years ago
GenEx-LINK_LANG_AND_ID New upstream version 3.21.2 3 years ago
GenEx-LINK_LIBRARY New upstream version 3.27.0~rc4 2 years ago
GenEx-LIST New upstream version 3.27.0~rc4 2 years ago
GenEx-PATH New upstream version 3.27.0~rc4 2 years ago
GenEx-PATH_EQUAL New upstream version 3.24.0 2 years ago
GenEx-TARGET_FILE New upstream version 3.27.0~rc4 2 years ago
GenEx-TARGET_IMPORT_FILE New upstream version 3.27.0~rc4 2 years ago
GenEx-TARGET_PROPERTY New upstream version 3.27.0~rc4 2 years ago
GenEx-TARGET_RUNTIME_DLLS New upstream version 3.27.0~rc4 2 years ago
GenerateExportHeader New upstream version 3.27.0~rc4 2 years ago
GeneratorExpression New upstream version 3.27.0~rc4 2 years ago
GeneratorInstance New upstream version 3.26.4 2 years ago
GeneratorPlatform New upstream version 3.27.0~rc4 2 years ago
GeneratorToolset New upstream version 3.27.0~rc4 2 years ago
GetPrerequisites New upstream version 3.26.4 2 years ago
GoogleTest New upstream version 3.27.0~rc4 2 years ago
Graphviz New upstream version 3.21.2 3 years ago
INSTALL_NAME_DIR New upstream version 3.18.2 4 years ago
IfacePaths New upstream version 3.27.0~rc4 2 years ago
IncludeWhatYouUse New upstream version 3.27.0~rc4 2 years ago
IncompatibleQt New upstream version 3.21.2 3 years ago
InitialFlags New upstream version 3.21.2 3 years ago
InterfaceLibrary New upstream version 3.27.0~rc4 2 years ago
Languages New upstream version 3.27.0~rc4 2 years ago
LinkItemValidation New upstream version 3.27.0~rc4 2 years ago
LinkStatic New upstream version 3.27.0~rc4 2 years ago
LinkWhatYouUse New upstream version 3.27.0~rc4 2 years ago
LinkerLauncher New upstream version 3.27.0~rc4 2 years ago
MSVCDebugInformationFormat New upstream version 3.25.0 2 years ago
MSVCRuntimeLibrary New upstream version 3.23.0 3 years ago
MSVCRuntimeTypeInfo New upstream version 3.21.2 3 years ago
MSVCWarningFlags New upstream version 3.23.0 3 years ago
MacOSVersions New upstream version 3.27.0~rc4 2 years ago
Make New upstream version 3.27.0~rc4 2 years ago
MaxRecursionDepth New upstream version 3.27.0~rc4 2 years ago
MetaCompileFeatures New upstream version 3.15.4 5 years ago
MultiLint New upstream version 3.27.0~rc4 2 years ago
Ninja New upstream version 3.27.0~rc4 2 years ago
NinjaMultiConfig New upstream version 3.27.0~rc4 2 years ago
ObjectLibrary New upstream version 3.27.0~rc4 2 years ago
ObsoleteQtMacros New upstream version 3.21.2 3 years ago
ParseImplicitData New upstream version 3.26.4 2 years ago
ParseImplicitIncludeInfo New upstream version 3.27.0~rc4 2 years ago
ParseImplicitLinkInfo New upstream version 3.27.0~rc4 2 years ago
Policy New upstream version 3.21.2 3 years ago
PolicyScope New upstream version 3.27.0~rc4 2 years ago
PositionIndependentCode New upstream version 3.27.0~rc4 2 years ago
PrecompileHeaders New upstream version 3.25.0 2 years ago
PrintHelpers New upstream version 3.24.0 2 years ago
RuntimePath New upstream version 3.18.2 4 years ago
ScriptMode New upstream version 3.13.1 6 years ago
SourceProperties New upstream version 3.21.2 3 years ago
Swift New upstream version 3.27.0~rc4 2 years ago
SymlinkTrees New upstream version 3.27.0~rc4 2 years ago
Syntax New upstream version 3.27.0~rc4 2 years ago
TargetArtifacts New upstream version 3.27.0~rc4 2 years ago
TargetObjects New upstream version 3.21.2 3 years ago
TargetPolicies New upstream version 3.25.0 2 years ago
TargetProperties New upstream version 3.27.0~rc4 2 years ago
ToolchainFile New upstream version 3.27.0~rc4 2 years ago
TransformDepfile New upstream version 3.27.0~rc4 2 years ago
UnityBuild New upstream version 3.23.0 3 years ago
UseSWIG New upstream version 3.22.0 3 years ago
VS10Project New upstream version 3.27.0~rc4 2 years ago
VS10ProjectWinCE New upstream version 3.16.3 5 years ago
VSSolution New upstream version 3.27.0~rc4 2 years ago
VerifyHeaderSets New upstream version 3.27.0~rc4 2 years ago
VisibilityPreset New upstream version 3.27.0~rc4 2 years ago
VsDotnetSdk New upstream version 3.27.0~rc4 2 years ago
VsNugetPackageRestore New upstream version 3.23.0 3 years ago
Win32GenEx New upstream version 3.21.2 3 years ago
WorkingDirectory New upstream version 3.15.4 5 years ago
WriteBasicConfigVersionFile New upstream version 3.21.2 3 years ago
WriteCompilerDetectionHeader New upstream version 3.27.0~rc4 2 years ago
XcodeProject New upstream version 3.27.0~rc4 2 years ago
XcodeProject-Device New upstream version 3.27.0~rc4 2 years ago
XcodeProject-Embed New upstream version 3.26.4 2 years ago
add_compile_definitions New upstream version 3.26.4 2 years ago
add_custom_command New upstream version 3.27.0~rc4 2 years ago
add_custom_target New upstream version 3.27.0~rc4 2 years ago
add_dependencies New upstream version 3.27.0~rc4 2 years ago
add_executable New upstream version 3.27.0~rc4 2 years ago
add_library New upstream version 3.27.0~rc4 2 years ago
add_link_options New upstream version 3.27.0~rc4 2 years ago
add_subdirectory New upstream version 3.27.0~rc4 2 years ago
add_test New upstream version 3.27.0~rc4 2 years ago
alias_targets New upstream version 3.27.0~rc4 2 years ago
block New upstream version 3.25.0 2 years ago
build_command New upstream version 3.27.0~rc4 2 years ago
cmake_host_system_information New upstream version 3.25.0 2 years ago
cmake_language New upstream version 3.25.0 2 years ago
cmake_minimum_required New upstream version 3.27.0~rc4 2 years ago
cmake_parse_arguments New upstream version 3.27.0~rc4 2 years ago
cmake_path New upstream version 3.27.0~rc4 2 years ago
configure_file New upstream version 3.27.0~rc4 2 years ago
continue New upstream version 3.27.0~rc4 2 years ago
ctest_build New upstream version 3.27.0~rc4 2 years ago
ctest_cmake_error New upstream version 3.27.0~rc4 2 years ago
ctest_configure New upstream version 3.27.0~rc4 2 years ago
ctest_coverage New upstream version 3.27.0~rc4 2 years ago
ctest_disabled_test New upstream version 3.15.4 5 years ago
ctest_environment New upstream version 3.26.4 2 years ago
ctest_fixtures New upstream version 3.26.4 2 years ago
ctest_labels_for_subprojects New upstream version 3.18.2 4 years ago
ctest_memcheck New upstream version 3.27.0~rc4 2 years ago
ctest_skipped_test New upstream version 3.15.4 5 years ago
ctest_start New upstream version 3.27.0~rc4 2 years ago
ctest_submit New upstream version 3.27.0~rc4 2 years ago
ctest_test New upstream version 3.27.0~rc4 2 years ago
ctest_update New upstream version 3.27.0~rc4 2 years ago
ctest_upload New upstream version 3.27.0~rc4 2 years ago
define_property New upstream version 3.23.0 3 years ago
execute_process New upstream version 3.25.0 2 years ago
export New upstream version 3.27.0~rc4 2 years ago
file New upstream version 3.27.0~rc4 2 years ago
file-CHMOD New upstream version 3.25.0 2 years ago
file-DOWNLOAD New upstream version 3.26.4 2 years ago
file-GET_RUNTIME_DEPENDENCIES New upstream version 3.27.0~rc4 2 years ago
file-RPATH New upstream version 3.22.1 3 years ago
find_dependency New upstream version 3.27.0~rc4 2 years ago
find_file New upstream version 3.27.0~rc4 2 years ago
find_library New upstream version 3.27.0~rc4 2 years ago
find_package New upstream version 3.27.0~rc4 2 years ago
find_path New upstream version 3.27.0~rc4 2 years ago
find_program New upstream version 3.27.0~rc4 2 years ago
foreach New upstream version 3.21.2 3 years ago
function New upstream version 3.18.2 4 years ago
get_filename_component New upstream version 3.27.0~rc4 2 years ago
get_property New upstream version 3.27.0~rc4 2 years ago
if New upstream version 3.27.0~rc4 2 years ago
include New upstream version 3.27.0~rc4 2 years ago
include_directories New upstream version 3.27.0~rc4 2 years ago
include_external_msproject New upstream version 3.27.0~rc4 2 years ago
include_guard New upstream version 3.15.4 5 years ago
install New upstream version 3.27.0~rc4 2 years ago
list New upstream version 3.27.0~rc4 2 years ago
load_cache New upstream version 3.18.2 4 years ago
math New upstream version 3.27.0~rc4 2 years ago
message New upstream version 3.27.0~rc4 2 years ago
no_install_prefix New upstream version 3.27.0~rc4 2 years ago
option New upstream version 3.21.2 3 years ago
project New upstream version 3.27.0~rc4 2 years ago
project_injected New upstream version 3.27.0~rc4 2 years ago
return New upstream version 3.25.0 2 years ago
separate_arguments New upstream version 3.27.0~rc4 2 years ago
set New upstream version 3.27.0~rc4 2 years ago
set_property New upstream version 3.27.0~rc4 2 years ago
string New upstream version 3.27.0~rc4 2 years ago
target_compile_definitions New upstream version 3.26.4 2 years ago
target_compile_features New upstream version 3.27.0~rc4 2 years ago
target_compile_options New upstream version 3.26.4 2 years ago
target_include_directories New upstream version 3.21.2 3 years ago
target_link_directories New upstream version 3.18.2 4 years ago
target_link_libraries New upstream version 3.27.0~rc4 2 years ago
target_link_libraries-ALIAS New upstream version 3.27.0~rc4 2 years ago
target_link_libraries-LINK_GROUP New upstream version 3.24.0 2 years ago
target_link_libraries-LINK_LANGUAGE New upstream version 3.27.0~rc4 2 years ago
target_link_libraries-LINK_LANG_AND_ID New upstream version 3.27.0~rc4 2 years ago
target_link_libraries-LINK_LIBRARY New upstream version 3.25.0 2 years ago
target_link_options New upstream version 3.23.0 3 years ago
target_sources New upstream version 3.27.0~rc4 2 years ago
test_include_dirs New upstream version 3.26.4 2 years ago
try_compile New upstream version 3.27.0~rc4 2 years ago
try_run New upstream version 3.27.0~rc4 2 years ago
variable_watch New upstream version 3.27.0~rc4 2 years ago
while New upstream version 3.27.0~rc4 2 years ago
AddRunCMakeTest.cmake New upstream version 3.27.0~rc4 2 years ago
CMakeLists.txt New upstream version 3.27.0~rc4 2 years ago
FileAPIDummyFile.cmake New upstream version 3.15.4 5 years ago
README.rst New upstream version 3.27.0~rc4 2 years ago
RunCMake.cmake New upstream version 3.27.0~rc4 2 years ago
RunCTest.cmake New upstream version 3.26.4 2 years ago
color_warning.c New upstream version 3.16.3 5 years ago
exit_code.c New upstream version 3.18.2 4 years ago
fake_build_command.c New upstream version 3.21.2 3 years ago
print_stdin.c New upstream version 3.13.1 6 years ago
pseudo_cppcheck.c New upstream version 3.18.2 4 years ago
pseudo_cpplint.c New upstream version 3.8.0 8 years ago
pseudo_emulator.c Imported Upstream version 3.6.0 9 years ago
pseudo_emulator_custom_command.c New upstream version 3.8.0 8 years ago
pseudo_emulator_custom_command_arg.c New upstream version 3.15.4 5 years ago
pseudo_iwyu.c New upstream version 3.8.0 8 years ago
pseudo_llvm-rc.c New upstream version 3.23.0 3 years ago
pseudo_tidy.c New upstream version 3.26.4 2 years ago
showIncludes.c New upstream version 3.26.4 2 years ago

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.

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 ``/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``
Regex matching expected process result, if not ``0``
``-stdout.txt``
Regex matching expected stdout content
``-stderr.txt``
Regex matching expected stderr content, if not ``^$``
``-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:
``-stdout-.txt``
``-stderr-.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 ``-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``.

To speed up the process of creating a new ``RunCMake`` test, you can run a
script that will automatically perform steps 1 through 4 for you::

cmake -DRunCMake_TEST_SUITE= -P Tests/RunCMake/AddRunCMakeTestSuite.cmake

Be sure to run this from the top-level CMake source directory.