CMake/Tests
Brad King 8a08ab051a Merge topic 'vs12-generator'
9a76d83 VS12: Find proper MSBuild for VSProjectInSubdir test
4e5cb39 Merge branch 'master' into vs12-generator
78fdbbc FindBoost: Add -vc120 mangling for VS 12
e99d7b1 VS12: Generate flag tables from MSBuild v120 tool files
77ac9b8 VS12: Add Visual Studio 12 generator (#14251)
2013-07-01 09:27:33 -04:00
..
Architecture
ArgumentExpansion Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
Assembler Tests/Assembler: Use CMAKE_OSX_SYSROOT to generate .s file 2012-09-21 11:15:23 -04:00
BuildDepends Merge topic 'link-depends-no-shared' 2012-11-13 14:31:54 -05:00
BundleGeneratorTest Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
BundleTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
BundleUtilities Refactor how bundles and frameworks are supported. 2013-05-23 10:42:49 -04:00
CFBundleTest OS X: Fix getting of CFBundle LOCATION property. 2013-06-03 06:29:33 -06:00
CheckCompilerRelatedVariables VS12: Add Visual Studio 12 generator (#14251) 2013-06-28 18:13:14 -04:00
CMakeCommands Introduce add_compile_options command. 2013-06-04 11:36:55 +02:00
CMakeLib VS: Create parser for Visual Studio .sln files 2013-04-12 11:35:35 -04:00
CMakeOnly Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CMakeTestAllGenerators
CMakeTestBadCommandLines
CMakeTestMultipleConfigures Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CMakeTests Add cmake_host_system_information command 2013-06-19 08:46:37 -04:00
CommandLineTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CompatibleInterface Fix spelling and typos (non-binary) 2013-05-07 08:39:19 -04:00
CompileCommandOutput Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CompileDefinitions Tests/CompileDefinitions: Avoid spaces in defines on VS 6 2013-05-24 09:35:43 -04:00
CompileOptions Add generator expressions for compiler versions. 2013-06-28 14:32:58 +02:00
Complex replace string(... MATCHES "^const$) with string(... STREQUAL "const") 2013-06-02 22:18:19 +02:00
ComplexOneConfig replace string(... MATCHES "^const$) with string(... STREQUAL "const") 2013-06-02 22:18:19 +02:00
COnly Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
Contracts Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CPackComponents Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CPackComponentsForAll Tests: Use the right path to CPack value for running CPack tests 2012-11-29 15:49:36 -05:00
CPackTestAllGenerators Tests: Use the right path to CPack value for running CPack tests 2012-11-29 15:49:36 -05:00
CPackWiXGenerator CPack: Add a WiX Generator (#11575) 2012-12-03 11:00:31 -05:00
CrossCompile Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestBuildCommandProjectInSubdir ctest_build: Pass projectDir to GenerateBuildCommand 2013-04-12 11:35:36 -04:00
CTestConfig Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestLimitDashJ Add CTestLimitDashJ test (#12904) 2013-01-03 13:37:50 -05:00
CTestScriptMode Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CTestTest Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTest2 Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestBadExe Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestChecksum Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestConfigFileInBuildDir Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestCostSerial Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestCrash Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestCycle Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestDepends Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestFailedSubmits Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestFailure Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestFdSetSize CTest: Add test for running many tests in parallel 2013-03-22 09:02:12 -04:00
CTestTestMemcheck Merge branch 'master' into escape-regex-specials-in-path 2013-06-03 13:43:52 -04:00
CTestTestParallel Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestResourceLock Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestRunScript Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestScheduler Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestStopTime Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestSubdir Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestTimeout Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestUpload Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestZeroTimeout Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CustComDepend
CustomCommand Add a test to expose a bug with add_custom_command and ninja. 2013-06-25 14:43:47 -04:00
CustomCommandWorkingDirectory Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CxxOnly
Dependency Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
DocTest
DoubleProject
EmptyDepends Watcom: Avoid prompt from wmake about dll with no exports... 2012-11-28 12:11:52 -05:00
EmptyLibrary
Environment
ExportImport Generate INTERFACE_COMPILE_OPTIONS on export. 2013-06-10 16:50:20 +02:00
ExternalOBJ Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
ExternalProject ExternalProject: Allow DEPENDS on normal targets (#13849) 2013-01-16 10:35:58 -05:00
ExternalProjectUpdate Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
FindModulesExecuteAll Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
FindPackageModeMakefileTest
FindPackageTest FPHSA: Add FOUND_VAR option to specify _FOUND variable name 2013-02-22 08:31:00 -05:00
ForceInclude
Fortran Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
FortranC Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
FortranOnly
Framework
FunctionTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
GeneratorExpression Split the GeneratorExpression test into a third part. 2013-06-28 14:58:09 +02:00
IncludeDirectories Merge topic 'fix-genex-HEAD-target' 2013-06-05 09:54:20 -04:00
iOSNavApp
IPO Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Java
JCTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
Jump Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
LibName Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
LinkDirectory
LinkFlags
LinkLanguage
LinkLine Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
LinkLineOrder Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
LinkStatic
LoadCommand Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
LoadCommandOneConfig Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
MacroTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
MacRuntimePath OS X: Add test for rpaths on Mac. 2013-06-03 09:42:06 -04:00
MakeClean Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
MathTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
MFC
MissingSourceFile
Module Merge topic 'VISIBILITY_PRESET-property' 2013-06-05 09:38:59 -04:00
ModuleDefinition
MumpsCoverage
NewlineArgs
ObjC++ Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
ObjectLibrary Make sure INTERFACE properties work with OBJECT libraries. 2013-02-08 20:10:22 +01:00
OutDir
OutOfBinary Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
OutOfSource Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
PDBDirectoryAndName VS: Separate compiler and linker PDB files (#11899, #14062) 2013-04-05 11:25:09 -04:00
PerConfig Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Plugin Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Policy0002
PolicyScope Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
PositionIndependentTargets
PrecompiledHeader Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
PreOrder Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Preprocess Merge branch 'master' into vs12-generator 2013-06-28 18:29:54 -04:00
Properties Remove CMake multiline block-end command arguments 2012-08-15 16:50:29 -04:00
Qt4And5Automoc QtAutomoc: Get the Qt version through the target link interface 2013-05-28 01:19:37 +02:00
Qt4Deploy
Qt4Targets Qt4Macros: Allow specifying a TARGET in invokations of macros. 2013-06-03 10:07:02 +02:00
QtAutomoc Merge topic 'test-moc-with-empty-COMPILE_DEFINITIONS' 2013-05-21 15:12:42 -04:00
QtAutomocNoQt Automoc: Don't create automoc targets if Qt is not used (#13999) 2013-03-12 17:42:02 -04:00
ReturnTest Fix spelling and typos (affecting binary data / module messages) 2013-05-07 08:39:19 -04:00
RunCMake Merge branch 'master' into vs12-generator 2013-06-28 18:29:54 -04:00
RuntimePath Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SameName Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
SBCS
SetLang Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Simple Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SimpleCOnly Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SimpleExclude Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SimpleInstall replace string(... MATCHES "^const$) with string(... STREQUAL "const") 2013-06-02 22:18:19 +02:00
SimpleInstallS2 replace string(... MATCHES "^const$) with string(... STREQUAL "const") 2013-06-02 22:18:19 +02:00
SourceGroups
StringFileTest string: Add MAKE_C_IDENTIFIER subcommand 2013-05-21 15:29:34 -04:00
SubDir Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SubDirSpaces Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SubProject
SwigTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SystemInformation OS X: Detect implicit linker framework search paths 2012-12-11 15:15:52 -05:00
TargetName Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
TarTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
TestDriver Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Testing Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
TestsWorkingDirectory
TryCompile try_compile: Add signature to allow multiple SOURCES 2013-06-06 14:35:20 -04:00
Tutorial Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
Unset Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
VariableUnusedViaSet
VariableUnusedViaUnset
VariableUsage
VSExcludeFromDefaultBuild Add tests for EXCLUDE_FROM_DEFAULT_BUILD 2012-11-13 09:08:42 -05:00
VSExternalInclude VS12: Add Visual Studio 12 generator (#14251) 2013-06-28 18:13:14 -04:00
VSGNUFortran
VSMidl
VSProjectInSubdir VS: Add test for building MSBuild project in subdir 2013-04-12 11:35:36 -04:00
VSResource
VSWindowsFormsResx VS: Add Resx configuration to the vcxproj file 2013-06-28 09:23:41 -04:00
WarnUnusedCliUnused CLI: Suppress the unused warning if the key value pair is cached. 2013-06-04 12:38:56 +02:00
Wrapping Fix casing of 'Qt' in docs, comments and user-visible strings. 2012-08-28 11:24:55 +02:00
X11 Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
.NoDartCoverage
bootstrap.bat.in
CheckFortran.cmake
CMakeBuildTest.cmake.in Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CMakeInstall.cmake
CMakeLists.txt VS12: Find proper MSBuild for VSProjectInSubdir test 2013-06-28 19:38:44 -04:00
CMakeWizardTest.cmake
CTestUpdateBZR.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CTestUpdateCommon.cmake Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CTestUpdateCVS.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CTestUpdateGIT.cmake.in CTest: Fix ctest_update with 'HEAD' file in source tree 2013-02-28 11:52:30 -05:00
CTestUpdateGIT.sh.in
CTestUpdateHG.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CTestUpdateSVN.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
EnforceConfig.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
README
RegexEscapeString.cmake Fix test failures caused by regexp-sensitive characters in the build paths 2013-06-03 16:51:21 +02:00
test_clean.cmake.in Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
TestInstall.sh.in

If you think about adding a new testcase then here is a small checklist you
can run through to find a proper place for it. Go through the list from the
beginning and stop once you find something that matches your tests needs,
i.e. if you will test a module and only need the configure mode use the
instructions from section 2, not 3.

1. Your testcase can run in CMake script mode, i.e. "cmake -P something"

Put your test in Tests/CMakeTests/ directory as a .cmake.in file. It will be
put into the test binary directory by configure_file(... @ONLY) and run from
there. Use the AddCMakeTest() macro in Tests/CMakeTests/CMakeLists.txt to add
your test to the test runs.

2. Your test needs CMake to run in configure mode, but will not build anything

This includes tests that will build something using try_compile() and friends,
but nothing that expects add_executable(), add_library(), or add_test() to run.

If the test configures the project only once and it must succeed then put it
into the Tests/CMakeOnly/ directory.  Create a subdirectory named like your
test and write the CMakeLists.txt you need into that subdirectory. Use the
add_CMakeOnly_test() macro from Tests/CMakeOnly/CMakeLists.txt to add your
test to the test runs.

If the test configures the project with multiple variations and verifies
success or failure each time then put it into the Tests/RunCMake/ directory.
Read the instructions in Tests/RunCMake/CMakeLists.txt to add a test.

3. If you are testing something from the Modules directory

Put your test in the Tests/Modules/ directory. Create a subdirectory there
named after your test. Use the ADD_TEST_MACRO macro from Tests/CMakeLists.txt
to add your test to the test run. If you have put your stuff in
Tests/Modules/Foo then you call it using ADD_TEST_MACRO(Module.Foo Foo).

4. You are doing other stuff.

Find a good place ;) In doubt mail to cmake-developers@cmake.org and ask for
advise.