Matthew Woehlke 8f95b93b41 Tests: Add failure test for GenerateExportHeader 9 anos atrás
..
Android 7b637ebdc9 Android: Add `ANDROID` variable to indicate the target 9 anos atrás
AutoExportDll 13a6ff31be VS: Fix WINDOWS_EXPORT_ALL_SYMBOLS for object libraries 9 anos atrás
BuildDepends 7a649111cd Use string(APPEND) in Tests 9 anos atrás
CMP0004 d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 anos atrás
CMP0019 881613c4ab cmMakefile: Remove special handling of LINK_DIRECTORIES property. 10 anos atrás
CMP0022 d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CMP0026 d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CMP0027 b1bbee3e9a Record more policies on targets when created 11 anos atrás
CMP0028 1c3918ff02 RunCMake: Remove unneeded files. 10 anos atrás
CMP0037 d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CMP0038 d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CMP0039 1c3918ff02 RunCMake: Remove unneeded files. 10 anos atrás
CMP0040 828e763260 Tests: Fix RunCMake.CMP0040 custom command syntax 9 anos atrás
CMP0041 d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CMP0042 d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CMP0043 d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CMP0045 d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CMP0046 d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CMP0049 d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CMP0050 d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CMP0051 d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CMP0053 9ba91463e6 tests: test CMP0053 in WARN mode when watching variables 11 anos atrás
CMP0054 7a649111cd Use string(APPEND) in Tests 9 anos atrás
CMP0055 1c3918ff02 RunCMake: Remove unneeded files. 10 anos atrás
CMP0057 aed6239e40 if: Implement new IN_LIST operator 10 anos atrás
CMP0059 845cb217a7 CMP0059: Fix typo in policy description 9 anos atrás
CMP0060 882f48e5ba Link libraries by full path even in implicit directories 10 anos atrás
CMP0064 402bf096ec CMP0064: Fix recorded version of introduction to be 3.4 10 anos atrás
CMP0065 566086187f Fix typos. 9 anos atrás
COMPILE_LANGUAGE-genex d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CPack 4ffdd564eb CPack/DEB: Add option to select archive type 9 anos atrás
CPackConfig bc2e54db55 Introduction of CPACK_VERBATIM_VARIABLES variable 10 anos atrás
CPackInstallProperties d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CPackSymlinks 5f686b8a6b Tests: Add case for CPack source package with symlinks 10 anos atrás
CTest 75bd5ca06a Tests: Fix RunCMake.CTest to tolerate source line number changes 10 anos atrás
CTestCommandLine e61973e1ab CTest: Fix regression in handling of a RUN_SERIAL test that fails 10 anos atrás
CTestTimeoutAfterMatch 993e48d045 CTest: Optionally use a secondary test timeout after matching output 9 anos atrás
CheckModules 73ae888506 RunCMake: Expect empty output by default. 10 anos atrás
ClangTidy d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CommandLine 49ad7f9af8 cmake: Add `cmake -E capabilities` mode 9 anos atrás
CommandLineTar 6c4781baa9 Tests: Consolidate, refactor and extend -E tar tests 10 anos atrás
CompatibleInterface d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CompileDefinitions c1bf1a59ff CompileDefinitions: Add unit test for setting empty content. 10 anos atrás
CompileFeatures d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CompilerChange 15610bb5b1 Drop use of configure_file IMMEDIATE option 12 anos atrás
CompilerLauncher d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
CompilerNotFound afeb4eb243 nmake/jom: Only warn about bad VS environment if compiler not found. 10 anos atrás
Configure b2282631f6 cmTarget: Do not mistake a preceding error for a CMP0049 failure 11 anos atrás
CrosscompilingEmulator d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
DisallowedCommands 1c3918ff02 RunCMake: Remove unneeded files. 10 anos atrás
ExportWithoutLanguage d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
ExternalData 230f2d6e70 ExternalData: Add option to recursively match under directories 10 anos atrás
ExternalProject e494763997 ExternalProject: Added new USES_TERMINAL options 10 anos atrás
FPHSA 73ae888506 RunCMake: Expect empty output by default. 10 anos atrás
FeatureSummary 38ef2b7363 FeatureSummary: Print each feature info only once 10 anos atrás
File_Generate d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
FindMatlab d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
FindPkgConfig 896ad251de Teach find_library and find_package to search lib32 paths (#11260) 9 anos atrás
Framework 677e73cb8a Tests: Fix RunCMake.Framework on case sensitive file systems. 9 anos atrás
GNUInstallDirs c8bd37ec68 GNUInstallDirs: Add special cases for certain prefixes 10 anos atrás
GenerateExportHeader 8f95b93b41 Tests: Add failure test for GenerateExportHeader 9 anos atrás
GeneratorExpression f6fd0abc5b Genex: Diagnose invalid LINK_ONLY usage instead of crashing 9 anos atrás
GeneratorPlatform be6a555d7e Tests: Test setting a generator platform in a toolchain file 11 anos atrás
GeneratorToolset 65624c39e3 VS14: Add Visual Studio 14 generator (#14982) 11 anos atrás
IfacePaths d430cb7c36 Tests: Fix failures when running under the default install prefix (#15566) 10 anos atrás
IncludeWhatYouUse d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
IncompatibleQt d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
Languages d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
LinkStatic 18d7f8fbfb Tests: Move LINK_SEARCH_{START,END}_STATIC case to dedicated test 10 anos atrás
LinkWhatYouUse 96242f8022 Add options to run `ldd -u -r` as a "link-what-you-use" tool 9 anos atrás
Make 048d1adb4e add_custom_command: Add DEPFILE option for Ninja 9 anos atrás
Ninja 048d1adb4e add_custom_command: Add DEPFILE option for Ninja 9 anos atrás
ObjectLibrary d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
ObsoleteQtMacros d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
PolicyScope 7c36d2067b cmListFileBacktrace: Refactor storage to provide efficient value semantics 9 anos atrás
PositionIndependentCode d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
Swift 1aa29f0db6 Swift: Remove positive Swift language tests 10 anos atrás
Syntax 1dda2ec55a Improve error message on unexpected end of file 9 anos atrás
TargetObjects affe9d56a2 Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970) 11 anos atrás
TargetPolicies d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
TargetPropertyGeneratorExpressions d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
TargetSources d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
ToolchainFile 8a98cf6432 Honor CMAKE_*_LINKER_FLAGS[_<CONFIG>]_INIT set in toolchain files 9 anos atrás
VS10Project d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
VSSolution f069be0548 VS: Fix default target support for targets nested inside a folder 9 anos atrás
VisibilityPreset 726e461b38 CMP0063: Split unit test by target type. 10 anos atrás
WriteCompilerDetectionHeader 4cf5179c77 WCDH: Make it possible to generate multiple files. 11 anos atrás
XcodeProject f951d0adb4 Add tests for BUNDLE_EXTENSION 9 anos atrás
add_custom_command d257d68138 add_custom_command: Clarify error when TARGET is out of scope (#15681) 9 anos atrás
add_custom_target 1296a0eada Ninja: Fix inter-target order-only dependencies of custom commands 9 anos atrás
add_dependencies d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 anos atrás
add_subdirectory df32e564ae Xcode: Add targets marked as EXCLUDE_FROM_ALL to project (#16101) 9 anos atrás
alias_targets d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
build_command 226df303f9 CTest: Stop telling 'make' to ignore errors with -i 10 anos atrás
cmake_minimum_required 7d47c69365 Drop compatibility with CMake < 2.4 12 anos atrás
cmake_parse_arguments 430251245e cmake_parse_arguments: Additional regression tests 9 anos atrás
configure_file 024e25e485 Tests: Add more signature tests to RunCMake.configure_file test 10 anos atrás
continue 7a649111cd Use string(APPEND) in Tests 9 anos atrás
ctest_build 601ff0ec55 CTest: Optionally add a ChangeId attribute on XML Site tags 10 anos atrás
ctest_configure f999dc0bbf ctest_configure: Add QUIET option 10 anos atrás
ctest_coverage fc58bdb9ad ctest_coverage: Add QUIET option 10 anos atrás
ctest_memcheck bf24b6c501 Tests: Guard more CTest tests against parallel execution. 10 anos atrás
ctest_start 0699e0d3e4 Tests: Move CTestTestConfigFileInBuildDir into RunCMake.ctest_start 10 anos atrás
ctest_submit 2859d9ef6b Tests: Extend ctest_submit host lookup failure matching (#15958) 9 anos atrás
ctest_test 6a56c8247f Tests: Disable parallel test execution while running ctest_test 10 anos atrás
ctest_upload ff1ddd2a73 ctest_upload: Add QUIET option 10 anos atrás
execute_process f65bb82f36 execute_process: Improve stdout/stderr merging 10 anos atrás
export 7e9f908ef5 export: Reject custom target exports earlier (#15657) 10 anos atrás
file edcccde7d6 file: Sort GLOB results to make it deterministic (#14491) 9 anos atrás
find_dependency a25b809f20 Tests: Check find_dependency empty extra arguments 11 anos atrás
find_file b30b32a493 Drop find_(library|file|path) prefixes from PATH on non-Windows 9 anos atrás
find_library b30b32a493 Drop find_(library|file|path) prefixes from PATH on non-Windows 9 anos atrás
find_package 7c36d2067b cmListFileBacktrace: Refactor storage to provide efficient value semantics 9 anos atrás
find_path 188baef00c find_path: Fix location of <dir/header.h> in a framework on OS X 9 anos atrás
find_program b7b3b675fd Merge topic 'fix-find_program-regression' 10 anos atrás
get_filename_component e89ea3d190 get_filename_component: Teach new BASE_DIR parameter. 10 anos atrás
get_property 45c5f8cad2 Add SOURCE_DIR and BINARY_DIR target properties 10 anos atrás
if 7a649111cd Use string(APPEND) in Tests 9 anos atrás
include d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
include_directories a4bd30104f include_directories: Fix regression in BEFORE option (#15693) 10 anos atrás
include_external_msproject 7a649111cd Use string(APPEND) in Tests 9 anos atrás
install 7a649111cd Use string(APPEND) in Tests 9 anos atrás
interface_library ac14cbf017 Allow add_dependencies() on INTERFACE libraries (#15414) 10 anos atrás
list 0205f882ae list: Add FILTER subcommand (#3986) 9 anos atrás
message 0a4af0735f cmake: Issue message independent of cmMakefile definition 9 anos atrás
no_install_prefix 1c3918ff02 RunCMake: Remove unneeded files. 10 anos atrás
project 1c3918ff02 RunCMake: Remove unneeded files. 10 anos atrás
return d124c41168 return: Add test for returning inside a foreach loop 11 anos atrás
set d1b62185d6 Merge branch 'parent-scope-tests' into variable-pull-failure 11 anos atrás
set_property ed258d606b Tests: Cover set_property for buildsystem directory properties 10 anos atrás
string 2b18cdcaba string: add APPEND subcommand 10 anos atrás
target_compile_features d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
target_link_libraries d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
try_compile d582c23a47 try_compile: Add policy CMP0066 to honor CMAKE_<LANG>_FLAGS_<CONFIG> 9 anos atrás
try_run d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
variable_watch d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests 12 anos atrás
while 7c36d2067b cmListFileBacktrace: Refactor storage to provide efficient value semantics 9 anos atrás
CMakeLists.txt fc3dab0ea9 Tests: Port GenerateExportHeader test to RunCMake infrastructure 9 anos atrás
README.rst 9b50388b09 Tests: Split RunCTest helper out of RunCMake.CTest(Submit|Memcheck) 10 anos atrás
RunCMake.cmake 7a649111cd Use string(APPEND) in Tests 9 anos atrás
RunCTest.cmake 9b50388b09 Tests: Split RunCTest helper out of RunCMake.CTest(Submit|Memcheck) 10 anos atrás
pseudo_emulator.c d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
pseudo_emulator_custom_command.c d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás
pseudo_iwyu.c ada5ffce7b Add options to run include-what-you-use with the compiler 10 anos atrás
pseudo_tidy.c d9fd2f5402 Revise C++ coding style using clang-format 9 anos atrás

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