CMake/Tests
Brad King b4263abdea Merge topic 'Xcode-clang-compile-features'
dcd72a74 Help: Add notes for topic 'Xcode-clang-compile-features'
3ad893b5 Features: Record for historical Xcode clang versions.
98965fb1 Features: Record dialect flags for AppleClang 4.0+.
2015-01-15 09:54:08 -05:00
..
AliasTarget HP aCC: record compiler flag for Ansi C++98 support for version 3.80 onwards 2014-04-25 17:59:57 +02:00
Architecture
ArgumentExpansion
Assembler Avoid if() quoted auto-dereference 2014-10-20 11:49:16 -04:00
BuildDepends Tests: Cover rebuild with multiple custom command outputs (#15116) 2014-12-05 09:56:26 -05:00
BundleGeneratorTest
BundleTest Tests/BundleTest: Drop use of ChangeLog.txt 2014-02-07 13:35:31 -05:00
BundleUtilities OSX: Warn when attempting to change runtime paths on OS X 10.5 2014-10-10 10:17:27 -04:00
CFBundleTest Tests: Run CFBundleTest only with valid configuration 2014-12-19 08:24:04 -05:00
CheckCompilerRelatedVariables VS14: Add Visual Studio 14 generator (#14982) 2014-06-25 14:51:19 -04:00
CMakeCommands Features: Extend concept to C language. 2014-05-15 00:15:18 +02:00
CMakeLib Port all cmOStringStream to std::ostringstream. 2015-01-11 17:06:03 +01:00
CMakeOnly Tests: Fix CMP0054 warnings 2014-09-16 09:06:29 -04:00
CMakeTestAllGenerators
CMakeTestBadCommandLines
CMakeTestMultipleConfigures
CMakeTests Tests: Fix CheckSourceTree test for newer Git 2014-12-16 14:51:06 -05:00
CoberturaCoverage CTest: Generalize Cobertura coverage format handling 2014-06-04 14:26:19 +00:00
CommandLineTest
CompatibleInterface Honor $<LINK_ONLY> when checking interface properties 2014-07-16 13:28:47 -04:00
CompileCommandOutput
CompileDefinitions Genex: Do not consider 'head' when evaluating build properties 2014-08-06 10:13:04 -04:00
CompileFeatures Revert topic 'feature_record_msvc' 2015-01-14 13:35:58 -05:00
CompileOptions Makefile: Handle '#' in COMPILE_OPTIONS (#15070) 2014-08-12 13:56:21 -04:00
Complex Encoding: Modify tests to work using non-ascii paths. 2015-01-08 20:56:51 -07:00
ComplexOneConfig Encoding: Modify tests to work using non-ascii paths. 2015-01-08 20:56:51 -07:00
ConfigSources cmTarget: Don't allow relative paths in INTERFACE_SOURCES 2014-11-29 12:24:59 +01:00
COnly
Contracts
CPackComponents
CPackComponentsForAll CPackRPM: Add component based packaging description and summary 2014-10-21 09:06:38 -04:00
CPackTestAllGenerators
CPackWiXGenerator CPackWiX: Fix test to build with expected config 2014-03-08 13:05:40 -05:00
CrossCompile
CTestBuildCommandProjectInSubdir Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestConfig Tests: Use -A option to pass generator platform selection 2014-09-15 10:26:59 -04:00
CTestLimitDashJ
CTestScriptMode
CTestTest Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTest2 Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestBadExe Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestBadGenerator Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestChecksum Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestConfigFileInBuildDir Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestCostSerial Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestCrash Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestCycle Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestDepends Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestEmptyBinaryDirectory
CTestTestFailedSubmits Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestFailure Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestFdSetSize Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestLabelRegExp CTest: Fix combined inclusive/exclusive label regular expressions 2014-06-06 10:28:18 +02:00
CTestTestLaunchers Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestMissingDependsExe
CTestTestParallel Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestResourceLock Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestRunScript
CTestTestScheduler Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestSerialInDepends
CTestTestSerialOrder
CTestTestSkipReturnCode Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestStopTime Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestSubdir Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestTimeout Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestUpload Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestZeroTimeout Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CustComDepend
CustomCommand Encoding: Modify tests to work using non-ascii paths. 2015-01-08 20:56:51 -07:00
CustomCommandByproducts ExternalProject: Add options to specify BYPRODUCTS (#14963) 2014-11-17 09:36:42 -05:00
CustomCommandWorkingDirectory
CxxDialect Features: Enable compiler extensions by default. 2014-05-31 12:16:12 +02:00
CxxOnly
CxxSubdirC Tests: Test using objects from a language enabled in a subdirectory (#15325) 2014-12-22 20:13:40 -05:00
DelphiCoverage CTest: Add code coverage parser for Pascal/Delphi 2014-10-21 15:02:20 -04:00
Dependency Fix link line order when shared libraries are de-duplicated 2014-11-10 14:46:22 -05:00
DoubleProject
EmptyDepends
EmptyLibrary
EmptyProperty
Environment
ExportImport install: Allow absolute EXPORT destination with relative targets (#15258) 2014-12-15 11:45:49 -05:00
ExternalOBJ
ExternalProject Tests/ExternalProject: Skip Windows hg tests with cygwin hg 2014-10-22 10:52:28 -04:00
ExternalProjectLocal ExternalProject: Add TEST_EXCLUDE_FROM_MAIN option 2014-12-05 10:24:16 +01:00
ExternalProjectUpdate ExternalProject: Add unit tests for UPDATE_DISCONNECTED 2014-11-06 15:09:44 +01:00
FindGSL FindGSL: Add module to find the GNU Scientific Library 2014-12-17 10:59:48 -05:00
FindGTK2
FindModulesExecuteAll
FindPackageModeMakefileTest Remove .* expressions from beginning and end of MATCHES regexs 2014-04-14 18:17:11 +02:00
FindPackageTest CMakePackageConfigHelpers: Add unit tests for INSTALL_PREFIX option 2014-08-11 09:38:29 -04:00
ForceInclude Avoid if() quoted auto-dereference 2014-10-20 11:49:16 -04:00
Fortran Avoid if() quoted auto-dereference 2014-10-20 11:49:16 -04:00
FortranC Avoid if() quoted auto-dereference 2014-10-20 11:49:16 -04:00
FortranOnly Makefile: Add assembly and preprocessed targets for Fortran 2014-11-10 10:24:53 -05:00
Framework
FunctionTest Tests: Fix CMP0054 warnings 2014-09-16 09:06:29 -04:00
GeneratorExpression Genex: Only evaluate TARGET_OBJECTS to determine target sources. 2014-04-02 23:12:57 +02:00
IncludeDirectories
InterfaceLibrary Genex: Fix evaluation context propagation for TARGET_OBJECTS. 2014-11-26 22:16:15 +01:00
InterfaceLinkLibraries Make $<LINK_ONLY> available to projects (#14751) 2014-07-16 13:28:44 -04:00
iOSNavApp
IPO
JacocoCoverage CTest: Add Jacoco Coverage functionality 2014-06-12 10:38:19 -04:00
Java
JavascriptCoverage CTest: Add Javascript coverage parser 2014-10-29 11:27:11 -04:00
JCTest
Jump
LibName
LinkDirectory
LinkFlags
LinkLanguage
LinkLine
LinkLineOrder
LinkStatic Avoid if() quoted auto-dereference 2014-10-20 11:49:16 -04:00
LoadCommand Tests: Simplify LoadCommand tests 2014-06-25 15:27:01 -04:00
LoadCommandOneConfig Tests: Simplify LoadCommand tests 2014-06-25 15:27:01 -04:00
MacroTest Tests: Fix CMP0054 warnings 2014-09-16 09:06:29 -04:00
MacRuntimePath Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
MakeClean
MathTest
MFC
MissingInstall
MissingSourceFile
Module Revert topic 'feature_record_msvc' 2015-01-14 13:35:58 -05:00
ModuleDefinition Avoid if() quoted auto-dereference 2014-10-20 11:49:16 -04:00
MumpsCoverage CTEST: Fix MUMPS file parser and update test 2014-08-15 10:50:36 -04:00
NewlineArgs
ObjC++
ObjectLibrary add_library: Allow arbitrary non-linked sources in OBJECT libraries 2014-07-09 09:43:42 -04:00
OutDir Encoding: Modify tests to work using non-ascii paths. 2015-01-08 20:56:51 -07:00
OutOfBinary
OutOfSource
PDBDirectoryAndName Avoid if() quoted auto-dereference 2014-10-20 11:49:16 -04:00
PerConfig Use a more reliable regex for extracting binary INFO strings 2014-09-03 17:00:48 -04:00
Plugin HP aCC: record compiler flag for Ansi C++98 support for version 3.80 onwards 2014-04-25 17:59:57 +02:00
Policy0002
PolicyScope
PositionIndependentTargets
PrecompiledHeader Avoid if() quoted auto-dereference 2014-10-20 11:49:16 -04:00
PreOrder
Preprocess Avoid if() quoted auto-dereference 2014-10-20 11:49:16 -04:00
Properties cmSourceFileLocation: Collapse full path for directory comparisons. 2014-03-31 23:18:43 +02:00
PythonCoverage
Qt4And5Automoc FindQt4: Make AUTOMOC work regardless which order Qt 4/5 is found. 2014-01-29 17:02:43 +01:00
Qt4Deploy
Qt4Targets Qt4: Extend the Qt4Targets test to cover dir and target moc parameters. 2014-05-06 13:39:45 -04:00
QtAutogen Merge topic 'fix-autouic-regression' 2015-01-12 08:57:52 -05:00
QtAutomocNoQt
QtAutoUicInterface
ReturnTest
RunCMake Merge topic 'fix-LOCATION-with-TARGET_OBJECTS' 2015-01-15 09:53:59 -05: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 Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
StringFileTest Fix failing StringFileTest when using unicode characters. 2014-10-27 17:55:15 -06:00
SubDir
SubDirSpaces Use CMAKE_SYSTEM_NAME instead of CMAKE_SYSTEM where sufficient 2014-04-14 18:17:18 +02:00
SubProject VS: Fix subproject .sln dependencies on custom targets 2014-06-12 11:14:06 -04:00
SwigTest
SystemInformation Features: Add support for C++14 features. 2014-05-22 18:01:23 +02:00
TargetName
TarTest
TestDriver
Testing
TestsWorkingDirectory
TryCompile Avoid if() quoted auto-dereference 2014-10-20 11:49:16 -04:00
Tutorial Tests/Tutorial: Fix when USE_MYMATH is OFF 2014-10-31 11:32:24 -04:00
Unset
VariableUnusedViaSet
VariableUnusedViaUnset
VariableUsage
VisibilityInlinesHidden VisibilityInlinesHidden: only apply -fvisibility-inlines-hidden to C++ sources 2014-02-01 09:55:24 +01:00
VSExcludeFromDefaultBuild
VSExternalInclude Tests: Use -A option to pass generator platform selection 2014-09-15 10:26:59 -04:00
VSGNUFortran
VSMASM VS: Add test for MASM support 2014-08-20 10:19:49 -04:00
VSMidl
VSNsightTegra Add 'ANDROID_API_MIN' target property to set Android Target MIN API 2014-12-17 11:17:28 -05:00
VSProjectInSubdir
VSResource Ninja: Fix RC include directories regression 2014-10-13 08:20:05 -04:00
VSWindowsFormsResx
VSWinStorePhone VS: Add source file property to specify Windows App deployment location 2014-12-03 09:31:59 -05:00
WarnUnusedCliUnused
Wrapping
X11
.NoDartCoverage
bootstrap.bat.in
BootstrapTest.cmake
CheckFortran.cmake
CMakeBuildTest.cmake.in Tests: Use -A option to pass generator platform selection 2014-09-15 10:26:59 -04:00
CMakeCopyright.cmake
CMakeInstall.cmake
CMakeLists.txt Merge topic 'ninja-fix-subdir-objlib-languages' 2014-12-24 06:38:24 -05:00
CTestUpdateBZR.cmake.in
CTestUpdateCommon.cmake ctest_update: Add CTEST_UPDATE_VERSION_ONLY option to only note the version 2014-08-18 11:21:36 -04:00
CTestUpdateCVS.cmake.in
CTestUpdateGIT.cmake.in ctest_update: Add CTEST_UPDATE_VERSION_ONLY option to only note the version 2014-08-18 11:21:36 -04: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.