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

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