CMake/Tests
Basil Fierz 5f13168419 VS: Add option to select the version of the toolset used by VS 2017
Add new `version=` parameter in the toolset setting to select the
version.  Add variable `CMAKE_VS_PLATFORM_TOOLSET_VERSION` to hold the
version, if one is set (blank indicates default).

Fixes: #17549
2018-05-29 10:12:59 -04:00
..
AliasTarget HP-UX: Drop support for building CMake on HP-UX 2017-08-07 09:16:09 -04:00
Architecture
ArgumentExpansion
Assembler
BuildDepends Drop Visual Studio 8 2005 generator 2018-04-02 10:08:10 -04:00
BundleGeneratorTest
BundleTest
BundleUtilities
CFBundleTest Fix trivial typos in text 2017-11-03 10:25:05 -04:00
CheckCompilerRelatedVariables
CMakeCommands add_compile_definitions: add new command 2018-04-20 09:28:13 -04:00
CMakeLib cmRST: Parse inline links and inline literals 2018-05-07 10:10:37 -04:00
CMakeOnly FindJPEG: Add version detection and associated test update and docs 2018-04-17 22:53:26 +02:00
CMakeServerLib cmake: specify source file extensions 2018-01-09 09:21:09 -05:00
CMakeTestAllGenerators Tests: Drop machine-specific logic from CMakeTestAllGenerators 2017-04-18 15:12:22 -04:00
CMakeTestMultipleConfigures
CMakeTests Tests: Fix CheckSourceTree for in-source non-dashboard builds 2018-05-03 09:35:45 -04:00
CoberturaCoverage
CommandLength Ninja: Generate scripts for long custom command sequences 2018-02-06 13:24:46 -05:00
CommandLineTest
CompatibleInterface
CompileCommandOutput
CompileDefinitions
CompileFeatures Tests: Simplify CompileFeatures expectation logic 2018-04-06 14:45:58 -04:00
CompileOptions target_compile_options: Add syntax to specify shell strings 2018-03-14 11:10:25 -04:00
Complex MAINT: Misc. typos 2018-02-13 11:24:30 -05:00
ComplexOneConfig MAINT: Misc. typos 2018-02-13 11:24:30 -05:00
ConfigSources
COnly
Contracts Tests: Restore PLplot contract test repository https URL 2018-03-22 07:08:35 -04:00
CPackComponents
CPackComponentsDEB Various typo fixes 2018-01-04 06:52:01 +11:00
CPackComponentsForAll CPack: Add NuGet support 2018-05-11 09:28:44 -04:00
CPackComponentsPrefix
CPackTestAllGenerators
CPackUseDefaultVersion CPack: Use project version as default for CPACK_PACKAGE_VERSION 2018-05-03 08:26:03 +10:00
CPackUseProjectVersion CPack: Use project version as default for CPACK_PACKAGE_VERSION 2018-05-03 08:26:03 +10:00
CPackUseShortProjectVersion CPack: Use project version as default for CPACK_PACKAGE_VERSION 2018-05-03 08:26:03 +10:00
CPackWiXGenerator
CrossCompile
CSharpLinkFromCxx VS: Support C# project references 2018-02-23 08:53:17 -06:00
CSharpLinkToCxx VS: Do not reference output assemblies if not possible for CSharp target 2017-09-05 09:41:40 -04:00
CSharpOnly
CTestBuildCommandProjectInSubdir
CTestConfig GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
CTestCoverageCollectGCOV
CTestLimitDashJ
CTestScriptMode
CTestTest MAINT: Misc. typos 2018-02-13 11:24:30 -05:00
CTestTest2 Tests: In CTestTest2 configure KWSys encoding to match CMake 2017-11-09 08:35:38 -05:00
CTestTestBadExe
CTestTestBadGenerator
CTestTestChecksum
CTestTestCostSerial
CTestTestCrash
CTestTestCycle
CTestTestDepends
CTestTestEmptyBinaryDirectory
CTestTestFailure
CTestTestFdSetSize
CTestTestLabelRegExp
CTestTestLaunchers
CTestTestMissingDependsExe
CTestTestParallel
CTestTestResourceLock
CTestTestRunScript
CTestTestScheduler
CTestTestSerialInDepends
CTestTestSerialOrder
CTestTestSkipReturnCode
CTestTestStopTime Fix trivial typos in text 2017-11-03 10:25:05 -04:00
CTestTestSubdir
CTestTestTimeout Various typo fixes 2018-01-04 06:52:01 +11:00
CTestTestUpload
CTestTestVerboseOutput
CTestTestZeroTimeout
Cuda CUDA: Use MSVC default pattern for naming object files 2018-01-30 09:14:02 -05:00
CudaOnly VS: Add workaround for CUDA compiler PDB location 2018-04-13 12:56:36 -04:00
CustComDepend
CustomCommand
CustomCommandByproducts GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
CustomCommandWorkingDirectory Tests: use BYPRODUCTS in the CustomCommandWorkingDirectory test 2017-04-21 08:57:40 -04:00
CxxDialect
CxxOnly
CxxSubdirC
DelphiCoverage
Dependency
DoubleProject
EmptyDepends
EmptyLibrary
EmptyProperty
Environment
ExportImport Export: allow exporting of additional properties 2018-03-16 09:00:56 -04:00
ExternalOBJ Various typo fixes 2018-01-04 06:52:01 +11:00
ExternalProject
ExternalProjectLocal
ExternalProjectSourceSubdir
ExternalProjectSubdir
ExternalProjectUpdate
FindBoost FindBoost: support OPTIONAL_COMPONENTS 2018-01-19 17:00:44 +01:00
FindBZip2
FindCURL FindCURL: provide imported target CURL::CURL 2018-03-06 22:53:35 +01:00
FindDoxygen FindDoxygen: Add tests for ALL option 2018-05-27 18:18:40 +10:00
FindEXPAT FindEXPAT: Add unit test of target and variables 2017-09-01 16:02:57 +01:00
FindFreetype FindFreetype: Add imported target, docs, and test 2017-09-07 17:52:33 +01:00
FindGSL
FindGTest FindGTest: Improve test to catch link error 2017-09-18 10:01:15 -04:00
FindGTK2
FindIconv FindIconv: Add the FindIconv module. 2017-11-29 14:51:32 +01:00
FindICU
FindJPEG FindJPEG: Add imported target support and full test 2018-04-18 08:59:06 -04:00
FindJsonCpp
FindLibRHash
FindLibUV
FindLibXml2 FindLibXml2: provide imported target LibXml2::LibXml2 2018-03-08 18:31:12 +01:00
FindLTTngUST
FindMatlab FindMatlab: Matlab Runtime Compiler support 2018-04-23 10:30:49 -04:00
FindModulesExecuteAll Tests: Fix FindModulesExecuteAll when KDE4 is installed 2017-04-21 10:11:10 -04:00
FindMPI FindMPI: Support components for various languages 2017-09-15 14:55:08 +02:00
FindODBC FindODBC: Add module to search for ODBC library 2018-05-22 21:29:22 +02:00
FindOpenCL
FindOpenGL FindOpenGL: Add policy CMP0072 to prefer GLVND for legacy GL 2017-11-17 07:17:28 -05:00
FindOpenMP TestFindOpenMP,MPI: Disable default languages 2017-05-08 21:43:01 +02:00
FindOpenSSL MAINT: Misc. typos 2018-01-10 12:34:14 -05:00
FindPackageModeMakefileTest cmake: Fix --find-package mode with imported targets 2017-08-29 15:30:07 -04:00
FindPackageTest WriteBasicConfigVersionFile: Fix messages in ExactVersion tests 2017-11-21 10:09:15 +01:00
FindPatch Tests: Fix FindPatch test on Windows 2017-11-15 06:56:04 -05:00
FindPNG
FindProtobuf FindProtobuf: add flag to allow descriptor files to be generated 2017-10-02 08:08:24 -04:00
FindPython FindPython*: New implementation for Python stuff 2018-03-20 09:29:44 +01:00
FindThreads
FindTIFF Tests: Remove unnecessary setting of CMAKE_MODULE_PATH 2017-05-16 08:05:32 +10:00
FindVulkan
FindXalanC Tests: Remove unnecessary setting of CMAKE_MODULE_PATH 2017-05-16 08:05:32 +10:00
FindXercesC Tests: Remove unnecessary setting of CMAKE_MODULE_PATH 2017-05-16 08:05:32 +10:00
ForceInclude
Fortran Various typo fixes 2018-01-04 06:52:01 +11:00
FortranC
FortranModules Fortran: Extend submodule test with great-grandchild 2018-04-20 10:57:32 -04:00
FortranOnly Various typo fixes 2018-01-04 06:52:01 +11:00
Framework
FunctionTest
GeneratorExpression Genex: Add IN_LIST logical operator 2018-02-07 10:57:18 +01:00
GhsMulti
GhsMultiDuplicateSourceFilenames
GoogleTest GoogleTest: Add support for disabled tests 2017-06-05 10:11:08 -04:00
IncludeDirectories Order SYSTEM include directories after non-system directories 2018-04-23 11:47:52 -04:00
InterfaceLibrary Do not initialize NO_SYSTEM_FROM_IMPORTED on INTERFACE libraries 2017-10-13 14:32:14 -04:00
InterfaceLinkLibraries
iOSNavApp
IPO
JacocoCoverage
Java UseJava: OUTPUT_DIR must exists in all cases. 2017-10-10 10:00:23 +02:00
JavaExportImport GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
JavaJavah
JavaNativeHeaders add_jar: add option GENERATE_NATIVE_HEADERS 2018-01-22 17:15:59 +01:00
JavascriptCoverage
JCTest
Jump
LibName
LinkDirectory
LinkFlags
LinkLanguage
LinkLine
LinkLineOrder
LinkStatic
LoadCommand Tests: Remove ancient workaround in LoadCommand tests 2017-10-04 09:42:52 -04:00
LoadCommandOneConfig Tests: Remove ancient workaround in LoadCommand tests 2017-10-04 09:42:52 -04:00
MacroTest
MacRuntimePath GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
MakeClean
MathTest
MFC Avoid CRLF newlines in Git repo blobs 2017-08-30 08:29:43 -04:00
MissingInstall GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
MissingSourceFile
Module Tests: Avoid duplicate rules in ExternalData test 2018-04-13 08:06:48 -04:00
ModuleDefinition
MSManifest
MumpsCoverage Avoid CRLF newlines in Git repo blobs 2017-08-30 08:29:43 -04:00
NewlineArgs
ObjC++
ObjectLibrary Drop Visual Studio 7 .NET 2003 generator 2017-04-19 15:28:05 -04:00
OutDir GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
OutOfBinary
OutOfSource Drop Visual Studio 8 2005 generator 2018-04-02 10:08:10 -04:00
PDBDirectoryAndName Add generator expression support to PDB_OUTPUT_DIRECTORY target property 2018-05-21 11:00:12 -04:00
PerConfig
Plugin HP-UX: Drop support for building CMake on HP-UX 2017-08-07 09:16:09 -04:00
Policy0002
PolicyScope cmake_policy: Add undocumented PARENT_SCOPE option to GET 2018-04-18 08:09:56 -04:00
PositionIndependentTargets
PrecompiledHeader GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
PreOrder
Preprocess Drop Visual Studio 7 .NET 2003 generator 2017-04-19 15:28:05 -04:00
Properties Various typo fixes 2018-01-04 06:52:01 +11:00
PythonCoverage
Qt4And5Automoc
Qt4Autogen Autogen: Tests: Add basic scripts for separate tests 2017-12-13 13:48:27 +01:00
Qt4Deploy GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
Qt4Targets Autogen: Tests: Disable some tests on non ASCII build paths 2017-06-13 16:51:33 +02:00
Qt5Autogen Autogen: Tests: Add basic scripts for separate tests 2017-12-13 13:48:27 +01:00
QtAutogen Tests: Add QtAutogen test for a low cmake_minimum_required version 2018-05-16 09:11:45 +02:00
QtAutomocNoQt
ReturnTest
RunCMake VS: Add option to select the version of the toolset used by VS 2017 2018-05-29 10:12:59 -04:00
RuntimePath
SBCS
Server CMake build: Use new FindPython module 2018-03-20 09:29:55 +01:00
SetLang
Simple
SimpleCOnly
SimpleInstall Merge topic 'use_generator_is_multi_config' 2018-01-08 11:14:16 -05:00
SimpleInstallS2 Merge topic 'use_generator_is_multi_config' 2018-01-08 11:14:16 -05:00
SourceFileIncludeDirProperty sourceFile properties: add property INCLUDE_DIRECTORIES 2018-01-24 15:10:10 +01:00
SourceFileProperty
SourceGroups source_group: Fix TREE argument parsing 2018-01-30 12:49:26 -05:00
SourcesProperty
StagingPrefix GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
StringFileTest
SubDir
SubDirSpaces
SubProject
SwiftMix
SwiftOnly
SystemInformation
TargetName
TestDriver
Testing
TestsWorkingDirectory
TryCompile Various typo fixes 2018-01-04 06:52:01 +11:00
Tutorial Tests: Remove unused file from Tutorial Step7 test 2018-03-29 11:27:36 -04:00
Unset
UseSWIG UseSWIG: Ensure tests are usable in multi-config mode. 2018-04-05 12:09:53 +02:00
VariableUnusedViaSet
VariableUnusedViaUnset
VariableUsage
Visibility
VSExcludeFromDefaultBuild
VSExternalInclude
VSGNUFortran GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
VSMASM
VSMidl
VSNASM
VSNsightTegra
VSProjectInSubdir
VSResource Ninja: Fix quoting of RC language depfile in cmcldeps call 2017-09-25 10:07:48 -04:00
VSResourceNinjaForceRSP
VSWindowsFormsResx
VSWinStorePhone VS: Add VS_SHADER_OUTPUT_HEADER_FILE and VS_SHADER_VARIABLE_NAME properties. 2017-09-27 07:56:09 -04:00
VSXaml
WarnUnusedCliUnused
Wrapping Tests: Ensure Solaris linker never sees empty contents 2017-05-18 10:32:03 +10:00
X11
XCTest XCTest: Speed up test by only enabling C language 2017-06-28 22:00:36 +02:00
.NoDartCoverage
bootstrap.bat.in
BootstrapTest.cmake
CheckFortran.cmake Tests: Avoid hanging on check for Fortran 2017-11-06 10:21:11 -05:00
CMakeBuildTest.cmake.in GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
CMakeCopyright.cmake
CMakeInstall.cmake GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
CMakeLists.txt FindODBC: Add module to search for ODBC library 2018-05-22 21:29:22 +02:00
CTestUpdateBZR.cmake.in
CTestUpdateCommon.cmake
CTestUpdateCVS.cmake.in
CTestUpdateGIT.cmake.in
CTestUpdateGIT.sh.in
CTestUpdateHG.cmake.in
CTestUpdateP4.cmake.in
CTestUpdateSVN.cmake.in
EnforceConfig.cmake.in
README.rst Tests: Document test directory layout in a README.rst 2017-06-14 15:04:19 -04:00
test_clean.cmake.in

CMake Tests Directory
*********************

This directory contains the CMake test suite.
See also the `CMake Source Code Guide`_.

.. _`CMake Source Code Guide`: ../Help/dev/source.rst

Many tests exist as immediate subdirectories, but some tests
are organized as follows.

* ``CMakeLib/``:
  Source code, used for tests, that links to the ``CMakeLib`` library
  defined over in ``Source/``.

* ``CMakeOnly/``:
  Deprecated.  Tests that run CMake to generate a project but not build it.
  Superseded by ``Tests/RunCMake/``.

* ``Find*/``:
  Tests for specific find modules that can only be run on machines with
  the corresponding packages installed.  They are enabled in
  ``CMakeLists.txt`` by undocumented options used on CI builds.

* ``Module/``:
  Tests for specific CMake modules.

* ``RunCMake/``:
  Tests that run CMake and/or other tools while precisely checking
  their return code and stdout/stderr content.  Useful for testing
  error cases and diagnostic output.