CMake/Tests
Brad King 2e4ea0c055 Merge topic 'refactor-cmLocalGenerator'
ce167b54 cmMakefile: Handle CMP0014 before configuring the generator.
7baef756 cmLocalGenerator: Assert that there is a parent.
63255342 cmMakefile: Remove redundant variable set.
894961af cmMakefile: Use the state to determine the parent directory.
115e9199 Use new top-level check abstraction.
c5059c90 cmLocalGenerator: Add abstraction to check if top-level.
b17686d2 cmGlobalGenerator: Move some flags from cmLocalGenerator.
ed41a8e7 cmLocalGenerator: Port loops to cmState::Snapshot.
48a9e91b cmState: Add an accessor for Parent snapshot and a validity check.
e7f7c2e2 cmLocalGenerator: Convert two recursive methods to loops.
c5cb3a73 cmLocalGenerator: Get project directories from the cmState.
76b59831 cmLocalGenerator: Initialize state before creating cmMakefile.
34c9ee2e cmLocalGenerator: Require a global generator in the constructor.
3837c483 Tests: Add case for 'ctest' run with bad CTestTestfile
b317b38d cmGlobalBorlandMakefileGenerator: Do not inherit from NMake generator
94867698 Don't use a cmLocalGenerator instance to call static methods.
...
2015-05-15 11:22:36 -04:00
..
AliasTarget
Architecture
ArgumentExpansion
Assembler
BuildDepends Makefile: Fix multiple custom command outputs with one missing 2015-04-10 16:27:42 -04:00
BundleGeneratorTest
BundleTest
BundleUtilities
CFBundleTest Tests: Run CFBundleTest only with valid configuration 2014-12-19 08:24:04 -05:00
CheckCompilerRelatedVariables
CMakeCommands Tests: Do not try to use invalid "ld -v" flag on Solaris 2015-03-31 11:21:36 -04:00
CMakeLib cmSystemTools: Teach RunSingleCommand to separate stdout and stderr 2015-04-20 15:47:50 -04:00
CMakeOnly FindHDF5: Add version support 2015-05-13 10:00:55 -04:00
CMakeTestAllGenerators
CMakeTestMultipleConfigures
CMakeTests Tests: Fix CheckSourceTree test when build is under source (#15566) 2015-05-14 09:50:34 -04:00
CoberturaCoverage
CommandLineTest
CompatibleInterface
CompileCommandOutput
CompileDefinitions Tests: Shorten paths in CompileDefinitions 2015-01-25 08:12:12 -05:00
CompileFeatures Features: VS 2013 Update 3 supports initializer lists (#15494) 2015-04-06 10:06:26 -04:00
CompileOptions
Complex Tests: Remove incorrect indentation from Complex test comment 2015-01-22 14:11:46 -05:00
ComplexOneConfig Tests: Remove incorrect indentation from Complex test comment 2015-01-22 14:11:46 -05:00
ConfigSources cmTarget: Don't allow relative paths in INTERFACE_SOURCES 2014-11-29 12:24:59 +01:00
COnly
Contracts
CPackComponents
CPackComponentsDEB CPack/DEB per component dependencies 2015-05-08 23:36:26 +02:00
CPackComponentsForAll CPackRPM content listing refactor 2015-04-19 18:22:18 +02:00
CPackComponentsPrefix CPack: Enable DEB and RPM tests more reliably 2015-05-12 08:56:34 -04:00
CPackTestAllGenerators
CPackWiXGenerator
CrossCompile
CTestBuildCommandProjectInSubdir
CTestConfig
CTestCoverageCollectGCOV CTestCoverageCollectGCOV: Support CTEST_CUSTOM_COVERAGE_EXCLUDE 2015-04-04 12:25:15 +02:00
CTestLimitDashJ
CTestScriptMode
CTestTest
CTestTest2
CTestTestBadExe
CTestTestBadGenerator
CTestTestChecksum
CTestTestConfigFileInBuildDir
CTestTestCostSerial
CTestTestCrash
CTestTestCycle
CTestTestDepends
CTestTestEmptyBinaryDirectory
CTestTestFailure
CTestTestFdSetSize
CTestTestLabelRegExp
CTestTestLaunchers
CTestTestMissingDependsExe
CTestTestParallel
CTestTestResourceLock
CTestTestRunScript
CTestTestScheduler
CTestTestSerialInDepends
CTestTestSerialOrder
CTestTestSkipReturnCode
CTestTestStopTime
CTestTestSubdir
CTestTestTimeout
CTestTestUpload
CTestTestVerboseOutput CTest: Output test-specific env vars in verbose mode (#15446) 2015-03-17 10:11:33 -04:00
CTestTestZeroTimeout
CustComDepend
CustomCommand Merge topic 'fix-OBJECT_DEPENDS-after-path-normalization' 2015-01-29 09:13:53 -05:00
CustomCommandByproducts ExternalProject: Replace placeholder tokens in BYPRODUCTS 2015-03-09 10:04:44 -04:00
CustomCommandWorkingDirectory
CxxDialect
CxxOnly
CxxSubdirC Tests: Test using objects from a language enabled in a subdirectory (#15325) 2014-12-22 20:13:40 -05:00
DelphiCoverage
Dependency
DoubleProject
EmptyDepends
EmptyLibrary
EmptyProperty
Environment
ExportImport Tests: Fix ExportImport on AIX with GCC 2015-04-23 10:53:39 -04:00
ExternalOBJ
ExternalProject
ExternalProjectLocal Tests: Shorten paths in ExternalProjectLocal 2015-01-27 08:57:57 -05:00
ExternalProjectSubdir ExternalProject: Allow dependencies on INTERFACE libraries 2015-04-22 08:48:52 -04:00
ExternalProjectUpdate
FindGSL FindGSL: Add module to find the GNU Scientific Library 2014-12-17 10:59:48 -05:00
FindGTK2
FindJsonCpp FindJsonCpp: Drop new module due to upstream jsoncpp providing package 2015-02-20 08:22:02 -05:00
FindMatlab Tests: Increasing the stability of the FindMatlab.basic_checks test 2015-04-13 09:36:13 -04:00
FindModulesExecuteAll
FindPackageModeMakefileTest
FindPackageTest Tests: Fix failures when running under the default install prefix (#15566) 2015-05-14 10:07:37 -04:00
ForceInclude
Fortran
FortranC
FortranOnly CheckFortranCompilerFlag: Add test case 2015-02-05 11:18:13 -05:00
Framework
FunctionTest
GeneratorExpression
GhsMulti Add a 'Green Hills MULTI' generator on Windows 2015-04-20 13:55:40 -04:00
IncludeDirectories IncludeDirectories: Respect SYSTEM flag when using CONFIG genex. 2015-01-23 00:08:18 +01:00
InterfaceLibrary Allow add_dependencies() on INTERFACE libraries (#15414) 2015-03-27 16:25:09 -04:00
InterfaceLinkLibraries
iOSNavApp
IPO
JacocoCoverage CTest: Fix Jacoco Coverage 2015-03-06 11:18:19 -05:00
Java
JavascriptCoverage
JCTest
Jump
LibName
LinkDirectory
LinkFlags
LinkLanguage
LinkLine
LinkLineOrder
LinkStatic
LoadCommand
LoadCommandOneConfig
MacroTest
MacRuntimePath
MakeClean
MathTest
MFC
MissingInstall
MissingSourceFile
Module ExternalData: Add option to recursively match under directories 2015-03-27 14:44:54 -04:00
ModuleDefinition
MumpsCoverage
NewlineArgs
ObjC++
ObjectLibrary
OutDir Encoding: Modify tests to work using non-ascii paths. 2015-01-08 20:56:51 -07:00
OutOfBinary
OutOfSource
PDBDirectoryAndName
PerConfig
Plugin
Policy0002
PolicyScope
PositionIndependentTargets
PrecompiledHeader
PreOrder
Preprocess Tests: Update Preprocess test for XL compiler limitations 2015-04-14 11:03:48 -04:00
Properties
PythonCoverage
Qt4And5Automoc
Qt4Deploy
Qt4Targets
QtAutogen QtAutogen: Process 'rcc --list' stdout and stderr separately (#15523) 2015-04-21 09:33:19 -04:00
QtAutomocNoQt
QtAutoUicInterface
ReturnTest
RunCMake Merge topic 'refactor-cmLocalGenerator' 2015-05-15 11:22:36 -04:00
RuntimePath
SameName
SBCS
SetLang
Simple
SimpleCOnly
SimpleExclude
SimpleInstall
SimpleInstallS2
SourceFileProperty test: test source file properties with case-insensitivity 2014-12-02 10:56:36 -05:00
SourceGroups
SourcesProperty cmTarget: Don't allow relative paths in INTERFACE_SOURCES 2014-11-29 12:24:59 +01:00
StagingPrefix
StringFileTest
SubDir
SubDirSpaces
SubProject
SwigTest
SystemInformation
TargetName
TestDriver
Testing
TestsWorkingDirectory
TryCompile
Tutorial
Unset
VariableUnusedViaSet
VariableUnusedViaUnset
VariableUsage
VisibilityInlinesHidden
VSExcludeFromDefaultBuild VS: Add option to put INSTALL target in .sln default build 2015-05-06 10:31:39 -04:00
VSExternalInclude
VSGNUFortran
VSMASM
VSMidl
VSNsightTegra Add 'ANDROID_API_MIN' target property to set Android Target MIN API 2014-12-17 11:17:28 -05:00
VSProjectInSubdir
VSResource
VSWindowsFormsResx VS: Add support for XAML source files 2015-04-03 13:40:35 -04:00
VSWinStorePhone VS: Add source file property to set extra hlsl shader flags 2015-01-28 09:29:50 -05:00
VSXaml VS: Add support for XAML source files 2015-04-03 13:40:35 -04:00
WarnUnusedCliUnused
Wrapping
X11
XCTest Tests: Add XCTest example to test Frameworks and Cocoa App Bundles 2015-03-23 09:12:20 -04:00
.NoDartCoverage
bootstrap.bat.in
BootstrapTest.cmake
CheckFortran.cmake
CMakeBuildTest.cmake.in
CMakeCopyright.cmake
CMakeInstall.cmake
CMakeLists.txt Merge topic 'cpack-deb-component-dependencies' 2015-05-12 09:12:54 -04:00
CTestUpdateBZR.cmake.in
CTestUpdateCommon.cmake ctest_update: Add QUIET option 2015-02-23 10:01:59 -05:00
CTestUpdateCVS.cmake.in
CTestUpdateGIT.cmake.in ctest_update: Add QUIET option 2015-02-23 10:01:59 -05:00
CTestUpdateGIT.sh.in
CTestUpdateHG.cmake.in
CTestUpdateP4.cmake.in
CTestUpdateSVN.cmake.in
EnforceConfig.cmake.in
README
RegexEscapeString.cmake
test_clean.cmake.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.