Brad King f012a95836 Merge topic '16432-static-frameworks' пре 9 година
..
Android f7c5e970a0 Android: Add CMAKE_<LANG>_ANDROID_TOOLCHAIN_MACHINE пре 9 година
AndroidMK dda6775c94 Android: Record use of C++ by static libs in exported Android.mk files пре 9 година
AndroidTestUtilities 130784e039 AndroidTestUtilities: Add module to help drive Android device tests пре 9 година
AutoExportDll 13a6ff31be VS: Fix WINDOWS_EXPORT_ALL_SYMBOLS for object libraries пре 9 година
BuildDepends 7a649111cd Use string(APPEND) in Tests пре 9 година
CMP0004 d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests пре 12 година
CMP0019 881613c4ab cmMakefile: Remove special handling of LINK_DIRECTORIES property. пре 10 година
CMP0022 d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CMP0026 d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CMP0027 b1bbee3e9a Record more policies on targets when created пре 11 година
CMP0028 1c3918ff02 RunCMake: Remove unneeded files. пре 11 година
CMP0037 d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CMP0038 d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CMP0039 1c3918ff02 RunCMake: Remove unneeded files. пре 11 година
CMP0040 828e763260 Tests: Fix RunCMake.CMP0040 custom command syntax пре 9 година
CMP0041 d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CMP0042 d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CMP0043 d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CMP0045 d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CMP0046 d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CMP0049 d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CMP0050 d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CMP0051 d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CMP0053 9ba91463e6 tests: test CMP0053 in WARN mode when watching variables пре 11 година
CMP0054 7a649111cd Use string(APPEND) in Tests пре 9 година
CMP0055 1c3918ff02 RunCMake: Remove unneeded files. пре 11 година
CMP0057 aed6239e40 if: Implement new IN_LIST operator пре 10 година
CMP0059 845cb217a7 CMP0059: Fix typo in policy description пре 9 година
CMP0060 882f48e5ba Link libraries by full path even in implicit directories пре 10 година
CMP0064 402bf096ec CMP0064: Fix recorded version of introduction to be 3.4 пре 10 година
CMP0065 566086187f Fix typos. пре 9 година
COMPILE_LANGUAGE-genex d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CPack 624709c824 CPack/STGZ: minimalistic packages test пре 9 година
CPackConfig bc2e54db55 Introduction of CPACK_VERBATIM_VARIABLES variable пре 10 година
CPackInstallProperties d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CPackSymlinks 5f686b8a6b Tests: Add case for CPack source package with symlinks пре 10 година
CTest 681e0429fc Tests: Fix RunCMake.CTest output match to tolerate line number changes пре 9 година
CTestCommandLine a105863772 CTest: Properly reset output to avoid duplication with --repeat-until-fail пре 9 година
CTestTimeoutAfterMatch 993e48d045 CTest: Optionally use a secondary test timeout after matching output пре 9 година
CheckModules 73ae888506 RunCMake: Expect empty output by default. пре 11 година
ClangTidy 80ebc55a7c cmake: Report if the <LANG>_CLANG_TIDY tool exits with non-zero пре 9 година
CommandLine 0618ddf6b1 Add properties to run the cpplint style checker with the compiler пре 9 година
CommandLineTar 6c4781baa9 Tests: Consolidate, refactor and extend -E tar tests пре 10 година
CompatibleInterface d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CompileDefinitions c1bf1a59ff CompileDefinitions: Add unit test for setting empty content. пре 10 година
CompileFeatures df252db15a Features: Test cycle diagnostic with language standard meta-feature пре 9 година
CompilerChange 15610bb5b1 Drop use of configure_file IMMEDIATE option пре 12 година
CompilerLauncher d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
CompilerNotFound afeb4eb243 nmake/jom: Only warn about bad VS environment if compiler not found. пре 10 година
Configure 25b6e7b710 Tolerate removed/replaced CMakeCache.txt with old CMakeFiles/ пре 9 година
Cpplint 0618ddf6b1 Add properties to run the cpplint style checker with the compiler пре 9 година
CrosscompilingEmulator f648b9be63 Tests: Check that CROSSCOMPILING_EMULATOR is not used on imported targets пре 9 година
DisallowedCommands 1c3918ff02 RunCMake: Remove unneeded files. пре 11 година
ExportWithoutLanguage d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
ExternalData 230f2d6e70 ExternalData: Add option to recursively match under directories пре 10 година
ExternalProject a3c98cb30e ExternalProject: Fix regression in passing list to CMAKE_CACHE_ARGS пре 9 година
FPHSA 73ae888506 RunCMake: Expect empty output by default. пре 11 година
FeatureSummary 3cfde81835 FeatureSummary: Refactor to use global properties for package types пре 9 година
File_Generate d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
FindGTK2 4bc2c16b5d FindGTK2: Add unit test to check variables when run twice пре 9 година
FindMatlab d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
FindPkgConfig 896ad251de Teach find_library and find_package to search lib32 paths (#11260) пре 9 година
Framework 071f8e78dd Apple: Add support for static frameworks пре 9 година
GNUInstallDirs c8bd37ec68 GNUInstallDirs: Add special cases for certain prefixes пре 10 година
GenerateExportHeader 612d6f29f8 Tests: Refactor GenerateExportHeader test code пре 9 година
GeneratorExpression 895f7f16a7 Genex: Add `IF` generator expression пре 9 година
GeneratorPlatform bdc679a8ae VS15: Add Visual Studio 15 generator пре 9 година
GeneratorToolset d079e71c29 VS: Provide an option to use x64 host tools пре 9 година
IfacePaths d430cb7c36 Tests: Fix failures when running under the default install prefix (#15566) пре 10 година
IncludeWhatYouUse d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
IncompatibleQt d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
Languages d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
LinkStatic 18d7f8fbfb Tests: Move LINK_SEARCH_{START,END}_STATIC case to dedicated test пре 10 година
LinkWhatYouUse 96242f8022 Add options to run `ldd -u -r` as a "link-what-you-use" tool пре 9 година
Make 048d1adb4e add_custom_command: Add DEPFILE option for Ninja пре 9 година
Ninja e983bd326a Ninja: Use binary dir for `$subdir/all` targets пре 9 година
ObjectLibrary d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
ObsoleteQtMacros d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
PolicyScope 7c36d2067b cmListFileBacktrace: Refactor storage to provide efficient value semantics пре 9 година
PositionIndependentCode d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
Swift 1aa29f0db6 Swift: Remove positive Swift language tests пре 10 година
Syntax 1dda2ec55a Improve error message on unexpected end of file пре 9 година
TargetObjects affe9d56a2 Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970) пре 11 година
TargetPolicies d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
TargetPropertyGeneratorExpressions d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
TargetSources d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
ToolchainFile 8a98cf6432 Honor CMAKE_*_LINKER_FLAGS[_<CONFIG>]_INIT set in toolchain files пре 9 година
VS10Project 6fda6005b3 VS: renamed target property VS_USER_PROPS_CXX to VS_USER_PROPS пре 9 година
VSSolution 9e3164dfa2 VS: Add option to place `PACKAGE` target in solution default build пре 9 година
VisibilityPreset 726e461b38 CMP0063: Split unit test by target type. пре 10 година
WriteCompilerDetectionHeader 4cf5179c77 WCDH: Make it possible to generate multiple files. пре 11 година
XcodeProject 071f8e78dd Apple: Add support for static frameworks пре 9 година
add_custom_command 92d76b50aa Make the add_custom_command output more predictable пре 9 година
add_custom_target 1296a0eada Ninja: Fix inter-target order-only dependencies of custom commands пре 9 година
add_dependencies d9f836e956 Add a getter for manually added target dependencies пре 9 година
add_subdirectory df32e564ae Xcode: Add targets marked as EXCLUDE_FROM_ALL to project (#16101) пре 9 година
alias_targets d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
build_command 226df303f9 CTest: Stop telling 'make' to ignore errors with -i пре 10 година
cmake_minimum_required 7d47c69365 Drop compatibility with CMake < 2.4 пре 12 година
cmake_parse_arguments 66c70cd9f1 cmake_parse_arguments: Add additional unit tests пре 9 година
configure_file 024e25e485 Tests: Add more signature tests to RunCMake.configure_file test пре 10 година
continue 7a649111cd Use string(APPEND) in Tests пре 9 година
ctest_build 19beee46cc ctest_configure: Propagate CTEST_USE_LAUNCHERS from caller to project пре 9 година
ctest_cmake_error d328dc6853 CTest: Add CAPTURE_CMAKE_ERROR val to `ctest_*` commands пре 9 година
ctest_configure f999dc0bbf ctest_configure: Add QUIET option пре 10 година
ctest_coverage fc58bdb9ad ctest_coverage: Add QUIET option пре 10 година
ctest_fixtures 298b5b31ca CTest: Ensure setup/cleanup ordering even when fixture not required пре 9 година
ctest_memcheck e116f2a5de ctest_memcheck: Fix sanitizers when MemoryCheckSanitizerOptions is empty пре 9 година
ctest_start 0699e0d3e4 Tests: Move CTestTestConfigFileInBuildDir into RunCMake.ctest_start пре 10 година
ctest_submit 5614a5cd1f ctest_submit: Allow RETRY_COUNT for CDASH_UPLOAD пре 9 година
ctest_test 6a56c8247f Tests: Disable parallel test execution while running ctest_test пре 10 година
ctest_upload ff1ddd2a73 ctest_upload: Add QUIET option пре 10 година
execute_process 2ed473b3b8 execute_process: Add ENCODING option for Windows child process output пре 9 година
export 7e9f908ef5 export: Reject custom target exports earlier (#15657) пре 10 година
file 2bba0bfc2c file: Fix crash on GLOB with no expressions after LIST_DIRECTORIES пре 9 година
find_dependency a25b809f20 Tests: Check find_dependency empty extra arguments пре 11 година
find_file b30b32a493 Drop find_(library|file|path) prefixes from PATH on non-Windows пре 9 година
find_library b30b32a493 Drop find_(library|file|path) prefixes from PATH on non-Windows пре 9 година
find_package 7c36d2067b cmListFileBacktrace: Refactor storage to provide efficient value semantics пре 9 година
find_path 188baef00c find_path: Fix location of <dir/header.h> in a framework on OS X пре 9 година
find_program b7b3b675fd Merge topic 'fix-find_program-regression' пре 10 година
get_filename_component de1493176b Tests: Use upper-case drive letters in RunCMake.get_filename_component пре 9 година
get_property d0be1e15c3 Add directory properties to get source and binary directories пре 9 година
if 7a649111cd Use string(APPEND) in Tests пре 9 година
include d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
include_directories a4bd30104f include_directories: Fix regression in BEFORE option (#15693) пре 10 година
include_external_msproject 7a649111cd Use string(APPEND) in Tests пре 9 година
install 7a649111cd Use string(APPEND) in Tests пре 9 година
interface_library 09cda9d5e7 Allow imported INTERFACE libraries to specify a link library name пре 9 година
list 0205f882ae list: Add FILTER subcommand (#3986) пре 10 година
message 0a4af0735f cmake: Issue message independent of cmMakefile definition пре 9 година
no_install_prefix 1c3918ff02 RunCMake: Remove unneeded files. пре 11 година
project 9c5238dfd6 project: Fix support for explicit RC language пре 9 година
return d124c41168 return: Add test for returning inside a foreach loop пре 11 година
set d1b62185d6 Merge branch 'parent-scope-tests' into variable-pull-failure пре 11 година
set_property 98f2143305 cmTarget: Enforce TYPE being a read-only property пре 9 година
string 6c54f7b365 string: Teach TIMESTAMP to treat %% as % пре 9 година
target_compile_features d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
target_link_libraries d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
try_compile 5599d858c7 CUDA: Port test cases to Windows with MSVC host compiler пре 9 година
try_run d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
variable_watch d05a9bd1e6 Cygwin: Avoid legacy warnings in RunCMake.* tests пре 12 година
while 1afbe7d2cc Make error message of standalone endwhile command consistent пре 9 година
CMakeLists.txt d525754eab Xcode: Refactor RunCMake.Framework test to prepare for static frameworks пре 9 година
README.rst 9b50388b09 Tests: Split RunCTest helper out of RunCMake.CTest(Submit|Memcheck) пре 11 година
RunCMake.cmake 45405f00d2 Xcode: Ignore Xcode project warning until issue is fixed пре 9 година
RunCTest.cmake f725b20be3 Update tests that expect uncompressed output пре 9 година
pseudo_cpplint.c 0618ddf6b1 Add properties to run the cpplint style checker with the compiler пре 9 година
pseudo_emulator.c d9fd2f5402 Revise C++ coding style using clang-format пре 9 година
pseudo_emulator_custom_command.c e7480d670b Fix custom command target substitution with CROSSCOMPILING_EMULATOR пре 9 година
pseudo_iwyu.c 44de615781 cmake: Comment why we ignore the include-what-you-use return code пре 9 година
pseudo_tidy.c 80ebc55a7c cmake: Report if the <LANG>_CLANG_TIDY tool exits with non-zero пре 9 година

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