Brad King 7aa9e80e35 set_property: Fix crash when setting LINK_LIBRARIES to nothing 10 years ago
..
CMP0004 d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 years ago
CMP0019 73ae888506 RunCMake: Expect empty output by default. 10 years ago
CMP0022 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
CMP0026 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
CMP0027 b1bbee3e9a Record more policies on targets when created 11 years ago
CMP0028 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
CMP0037 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
CMP0038 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
CMP0039 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
CMP0040 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
CMP0041 d430cb7c36 Tests: Fix failures when running under the default install prefix (#15566) 10 years ago
CMP0042 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
CMP0043 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
CMP0045 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
CMP0046 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
CMP0049 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
CMP0050 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
CMP0051 911cc9a39e cmTarget: Evaluate CMP0026 and CMP0051 in calling context 11 years ago
CMP0053 9ba91463e6 tests: test CMP0053 in WARN mode when watching variables 11 years ago
CMP0054 188a1f236e If: Introduce policy CMP0054 - don't dereference quoted variables in if() 11 years ago
CMP0055 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
CMP0057 aed6239e40 if: Implement new IN_LIST operator 10 years ago
CMP0059 06f61c26cf Do not treat DEFINITIONS as a built-in directory property 10 years ago
CMP0060 882f48e5ba Link libraries by full path even in implicit directories 10 years ago
COMPILE_LANGUAGE-genex b734fa4471 Genex: Allow COMPILE_LANGUAGE when processing include directories. 10 years ago
CPackInstallProperties 15a8af21e8 Add an "installed file" property scope 11 years ago
CPackRPM 0ffd35340e CPack single component packaging 10 years ago
CPackSymlinks 5f686b8a6b Tests: Add case for CPack source package with symlinks 10 years ago
CTest 75bd5ca06a Tests: Fix RunCMake.CTest to tolerate source line number changes 10 years ago
CTestCommandLine 3837c48334 Tests: Add case for 'ctest' run with bad CTestTestfile 10 years ago
CheckModules 73ae888506 RunCMake: Expect empty output by default. 10 years ago
CommandLine 67fa3da9e8 cmake: Add internal -E mode to run include-what-you-use with the compiler 10 years ago
CommandLineTar 6c4781baa9 Tests: Consolidate, refactor and extend -E tar tests 10 years ago
CompatibleInterface 93790506f5 cmTarget: Simplify INTERFACE_INCLUDE_DIRECTORIES usage requirement lookup 11 years ago
CompileFeatures 17b4423c45 Merge topic 'fix-crash-on-bad-LANG_STANDARD' 10 years ago
CompilerChange 15610bb5b1 Drop use of configure_file IMMEDIATE option 12 years ago
CompilerNotFound 3e04946f7b Require CMAKE_<LANG>_COMPILER to be found as a full path 12 years ago
Configure b2282631f6 cmTarget: Do not mistake a preceding error for a CMP0049 failure 11 years ago
CrosscompilingEmulator 9160d6c241 TestGenerator: Add CROSSCOMPILING_EMULATOR support. 10 years ago
DisallowedCommands 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
ExportWithoutLanguage 66b290e7e2 export(): Process the export() command at generate time. 12 years ago
ExternalData 230f2d6e70 ExternalData: Add option to recursively match under directories 10 years ago
ExternalProject dcb188363d ExternalProject: Improve error when SOURCE_DIR is missing (#15560) 10 years ago
FPHSA 73ae888506 RunCMake: Expect empty output by default. 10 years ago
FeatureSummary 38ef2b7363 FeatureSummary: Print each feature info only once 10 years ago
File_Generate 9e1689413f File(GENERATE): Process genex evaluation files for each language. 10 years ago
FindMatlab 8444809c47 FindMatlab: fix reconfiguration of Matlab_ROOT_DIR 10 years ago
FindPkgConfig d4c6531a94 FindPkgConfig: Fix extra paths for CMAKE_{FRAMEWORK,APPBUNDLE}_PATH vars 10 years ago
GeneratorExpression 89253992b8 Tests: Add case for rejecting $<TARGET_FILE:...> on an INTERFACE library 10 years ago
GeneratorPlatform be6a555d7e Tests: Test setting a generator platform in a toolchain file 11 years ago
GeneratorToolset 65624c39e3 VS14: Add Visual Studio 14 generator (#14982) 11 years ago
IfacePaths d430cb7c36 Tests: Fix failures when running under the default install prefix (#15566) 10 years ago
IncludeWhatYouUse b3475ba57b Makefile: Fix <LANG>_INCLUDE_WHAT_YOU_USE with CTEST_USE_LAUNCHERS 10 years ago
IncompatibleQt d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 years ago
Languages 73ae888506 RunCMake: Expect empty output by default. 10 years ago
Ninja bd9c7f9b2c Ninja: Add policy to require explicit custom command byproducts 10 years ago
ObjectLibrary 2c470b775a add_library: Allow arbitrary non-linked sources in OBJECT libraries 11 years ago
ObsoleteQtMacros f69606d335 Qt4Macros: Port to use message(DEPRECATION) 12 years ago
PositionIndependentCode 2e60b5fcf7 cmTarget: Report origin of COMPATIBLE_INTERFACE properties. 12 years ago
SolutionGlobalSections d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 years ago
Syntax aa68f2e4c9 Merge topic 'fix-function-missing-endforeach' 10 years ago
TargetObjects affe9d56a2 Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970) 11 years ago
TargetPolicies 700f1c3b2b Honor visibility properties for all target types (#15556) 10 years ago
TargetPropertyGeneratorExpressions 820777af03 Tests: Don't rely on ordering of targets in maps. 10 years ago
TargetSources 6da65b3907 Allow export of targets with INTERFACE_SOURCES. 10 years ago
VisibilityPreset 700f1c3b2b Honor visibility properties for all target types (#15556) 10 years ago
WriteCompilerDetectionHeader 4cf5179c77 WCDH: Make it possible to generate multiple files. 11 years ago
XcodeProject 6693590f81 Xcode: Refine quoting rules for Strings 10 years ago
add_custom_command e15a7075b5 Add an option for explicit BYPRODUCTS of custom commands (#14963) 11 years ago
add_custom_target e15a7075b5 Add an option for explicit BYPRODUCTS of custom commands (#14963) 11 years ago
add_dependencies d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 years ago
alias_targets d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 years ago
build_command 226df303f9 CTest: Stop telling 'make' to ignore errors with -i 10 years ago
cmake_minimum_required 7d47c69365 Drop compatibility with CMake < 2.4 12 years ago
configure_file 024e25e485 Tests: Add more signature tests to RunCMake.configure_file test 10 years ago
continue 0de867dde2 continue: Add a new CMake language command for loop continuation (#14013) 11 years ago
ctest_build 226df303f9 CTest: Stop telling 'make' to ignore errors with -i 10 years ago
ctest_configure f999dc0bbf ctest_configure: Add QUIET option 10 years ago
ctest_coverage fc58bdb9ad ctest_coverage: Add QUIET option 10 years ago
ctest_memcheck bf24b6c501 Tests: Guard more CTest tests against parallel execution. 10 years ago
ctest_start 19d1a5599a ctest_start: Add QUIET option 10 years ago
ctest_submit 6bf130979e CTest: Drop "Error in read script" message at end of testing 10 years ago
ctest_test 876a680d48 ctest_test: Add QUIET option 10 years ago
ctest_upload ff1ddd2a73 ctest_upload: Add QUIET option 10 years ago
execute_process f65bb82f36 execute_process: Improve stdout/stderr merging 10 years ago
export cbe7e8fae4 export: Implement EXPORT subcommand (#9822) 12 years ago
file a2c068a7ce file: Teach GLOB to list directories optionally 10 years ago
find_dependency a25b809f20 Tests: Check find_dependency empty extra arguments 11 years ago
find_file ffc06c1239 Teach find_(library|file|path) to get prefixes from PATH (#15370) 10 years ago
find_library ffc06c1239 Teach find_(library|file|path) to get prefixes from PATH (#15370) 10 years ago
find_package d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 years ago
find_path ffc06c1239 Teach find_(library|file|path) to get prefixes from PATH (#15370) 10 years ago
get_filename_component d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 years ago
get_property 6fb306ea3b Test expected value of DEBUG_CONFIGURATIONS global property. 10 years ago
if 1ec1bf9f07 if(): Test the effect of cmMakefileCall use in elseif() handling. 10 years ago
include 77b581c2f0 Policies: omit warnings about unset policies when they are actually set to NEW 11 years ago
include_directories d430cb7c36 Tests: Fix failures when running under the default install prefix (#15566) 10 years ago
include_external_msproject 09ab207c66 Tests: Add generator platform support 11 years ago
install b85d3b66c6 install: Disallow installing export() result. 10 years ago
interface_library ac14cbf017 Allow add_dependencies() on INTERFACE libraries (#15414) 10 years ago
list d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 years ago
message 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
no_install_prefix 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
project 1c3918ff02 RunCMake: Remove unneeded files. 10 years ago
return d124c41168 return: Add test for returning inside a foreach loop 11 years ago
set d1b62185d6 Merge branch 'parent-scope-tests' into variable-pull-failure 11 years ago
set_property 7aa9e80e35 set_property: Fix crash when setting LINK_LIBRARIES to nothing 10 years ago
string 1f77a7001b file: Teach STRINGS to support UTF-16 and UTF-32 encodings 10 years ago
target_compile_features e0890d03a4 Features: Extend concept to C language. 11 years ago
target_link_libraries 77b581c2f0 Policies: omit warnings about unset policies when they are actually set to NEW 11 years ago
try_compile 33daec1ae9 Merge topic 'test-rerun-cmake' 10 years ago
try_run 223c5cb70b try_run: Add test for bad link libraries. 10 years ago
variable_watch d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 years ago
CMakeLists.txt 7aa9e80e35 set_property: Fix crash when setting LINK_LIBRARIES to nothing 10 years ago
README.rst 9b50388b09 Tests: Split RunCTest helper out of RunCMake.CTest(Submit|Memcheck) 10 years ago
RunCMake.cmake 703e762529 Tests: Protect RunCMake tests from MAKEFLAGS in environment (#15542) 10 years ago
RunCTest.cmake 9b50388b09 Tests: Split RunCTest helper out of RunCMake.CTest(Submit|Memcheck) 10 years ago
pseudo_emulator.c 579c4bec6e Properties: Add CROSSCOMPILING_EMULATOR target property. 10 years ago
pseudo_iwyu.c ada5ffce7b Add options to run include-what-you-use with the compiler 10 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``
Process result expected 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 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``.