CMake/Tests
Daniele E. Domenichelli 67cfbf8eb7 ExternalProject: Add unit tests 2014-11-03 16:15:14 +01: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 Xcode: Fix test architecture selection for Xcode >= 5 2013-10-02 12:48:20 -04:00
ArgumentExpansion Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
Assembler Avoid if() quoted auto-dereference 2014-10-20 11:49:16 -04:00
BuildDepends Tests/BuildDepends: Make 3-second delay more robust 2014-05-19 10:51:16 -04:00
BundleGeneratorTest Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
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 CFBundle test: Add isysroot argument when calling Rez. 2013-11-06 06:42:44 -07:00
CMakeCommands Features: Extend concept to C language. 2014-05-15 00:15:18 +02:00
CMakeLib Tests: Fix CMakeLib.testRST for relative __FILE__ 2014-06-06 10:39:45 -04:00
CMakeOnly Tests: Fix CMP0054 warnings 2014-09-16 09:06:29 -04:00
CMakeTestAllGenerators Ensure libgmp-10.dll is in the PATH for CMakeTestAllGenerators 2011-07-29 11:13:33 -04:00
CMakeTestBadCommandLines
CMakeTestMultipleConfigures Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CMakeTests cmSystemTools: reimplement verson comparison without sscanf() 2014-10-31 11:31:31 -04:00
COnly Remove CMake-language block-end command arguments 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 CPackRPM: Add component based packaging description and summary 2014-10-21 09:06:38 -04:00
CPackTestAllGenerators Tests: Use the right path to CPack value for running CPack tests 2012-11-29 15:49:36 -05:00
CPackWiXGenerator CPackWiX: Fix test to build with expected config 2014-03-08 13:05:40 -05:00
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 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 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 Tests: added test for ctest_empty_binary_directory() 2013-11-01 21:32:16 +01:00
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
CTestTestMemcheck tests: Add a test for ctest_memcheck MemorySanitizer 2014-10-07 15:27:34 -04:00
CTestTestMissingDependsExe CTest: fix regressions introduced by the ctest-fix-run-serial topic 2013-12-23 15:31:15 +01:00
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 Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestScheduler Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
CTestTestSerialInDepends CTest: fix dashboard issues associated with the ctest-fix-run-serial topic 2013-10-25 21:39:58 +02:00
CTestTestSerialOrder CTest: fix regressions introduced by the ctest-fix-run-serial topic 2013-12-23 15:31:15 +01:00
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
CheckCompilerRelatedVariables VS14: Add Visual Studio 14 generator (#14982) 2014-06-25 14:51:19 -04:00
CoberturaCoverage CTest: Generalize Cobertura coverage format handling 2014-06-04 14:26:19 +00:00
CommandLineTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CompatibleInterface Honor $<LINK_ONLY> when checking interface properties 2014-07-16 13:28:47 -04:00
CompileCommandOutput Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CompileDefinitions Genex: Do not consider 'head' when evaluating build properties 2014-08-06 10:13:04 -04:00
CompileFeatures Features: Add support for C++14 features. 2014-05-22 18:01:23 +02:00
CompileOptions Makefile: Handle '#' in COMPILE_OPTIONS (#15070) 2014-08-12 13:56:21 -04:00
Complex Tests: Set policies in 'complex' tests 2014-07-22 09:36:57 -04:00
ComplexOneConfig Tests: Set policies in 'complex' tests 2014-07-22 09:36:57 -04:00
ConfigSources cmTarget: Allow transitive evaluation of SOURCES property. 2014-04-02 23:14:02 +02:00
Contracts Tests/Contracts: Submit notes with VTK build 2013-12-19 10:01:14 -05:00
CrossCompile Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CustComDepend Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
CustomCommand add_custom_command: Normalize OUTPUT and DEPENDS paths. 2014-05-28 21:05:41 +02:00
CustomCommandWorkingDirectory Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CxxDialect Features: Enable compiler extensions by default. 2014-05-31 12:16:12 +02:00
CxxOnly Fix CXX/Fortran MODULE flags when enabled before C (#12929) 2012-02-03 15:45:13 -05:00
DelphiCoverage CTest: Add code coverage parser for Pascal/Delphi 2014-10-21 15:02:20 -04:00
Dependency Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
DoubleProject Fix the case where cmake --build failed with two project cmds in one file. 2011-12-20 14:16:25 -05:00
EmptyDepends Watcom: Avoid prompt from wmake about dll with no exports... 2012-11-28 12:11:52 -05:00
EmptyLibrary Add test that CMake errors with empty libs 2010-09-30 11:01:35 -04:00
EmptyProperty set_property: Do not remove a property when APPENDing nothing 2013-07-24 10:50:15 -04:00
Environment ENH: Implement feature request from issue 7885. Allow setting environment variables on a per-test basis for ctest using set_test_properties ENVIRONMENT. 2008-11-26 14:38:43 -05:00
ExportImport Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
ExternalOBJ Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
ExternalProject Tests/ExternalProject: Skip Windows hg tests with cygwin hg 2014-10-22 10:52:28 -04:00
ExternalProjectLocal ExternalProject: Add CMAKE_CACHE_DEFAULT_ARGS arguments 2014-10-31 11:34:04 -04:00
ExternalProjectUpdate ExternalProject: Add unit tests 2014-11-03 16:15:14 +01:00
FindGTK2 FindGTK2: Add tests for components and targets in gtk and gtkmm modules 2013-10-08 10:47:06 -04:00
FindModulesExecuteAll Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
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 VS: Support Intel Fortran 15 .vfproj generation (#15175) 2014-09-30 08:24:50 -04:00
Framework Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
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
IPO Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
IncludeDirectories cmTarget: Fix system include annotation propagation. 2014-01-06 17:25:10 +01:00
InterfaceLibrary Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970) 2014-07-14 09:09:32 -04:00
InterfaceLinkLibraries Make $<LINK_ONLY> available to projects (#14751) 2014-07-16 13:28:44 -04:00
JCTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
JacocoCoverage CTest: Add Jacoco Coverage functionality 2014-06-12 10:38:19 -04:00
Java Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
JavascriptCoverage CTest: Add Javascript coverage parser 2014-10-29 11:27:11 -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 Test: Remove obsolete commented code. 2014-01-07 09:38:00 -05:00
LinkFlags Add additonal tests for the linker flags 2013-07-31 08:41:08 -04:00
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 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
MFC Tests: Only really run MFC test if we can build MFC apps (#11213) 2011-12-16 16:30:10 -05:00
MacRuntimePath Tests: Add generator platform support 2014-09-10 11:21:50 -04:00
MacroTest Tests: Fix CMP0054 warnings 2014-09-16 09:06:29 -04:00
MakeClean Tests: Don't read the LOCATION property from build targets. 2013-11-19 18:07:27 +01:00
MathTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
MissingInstall InstallRules: added new variable to disable generation of install rules 2014-01-08 16:28:14 +01:00
MissingSourceFile Test that missing source mentions directory (#11677) 2011-01-15 08:16:50 -05:00
Module Features: Add compiler version support to WriteCompilerDetectionHeader. 2014-06-09 23:42:20 +02: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 Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
ObjC++ Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
ObjectLibrary add_library: Allow arbitrary non-linked sources in OBJECT libraries 2014-07-09 09:43:42 -04:00
OutDir Fix OutDir test on HP, MinGW, and Cygwin 2009-10-29 09:26:17 -04:00
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 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 Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
PositionIndependentTargets Add the INTERFACE_LIBRARY target type. 2013-10-07 19:56:31 -04:00
PreOrder Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
PrecompiledHeader Avoid if() quoted auto-dereference 2014-10-20 11:49:16 -04:00
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 Adding support for the Python coverage.py tool. 2013-10-08 09:20:30 -04:00
Qt4And5Automoc FindQt4: Make AUTOMOC work regardless which order Qt 4/5 is found. 2014-01-29 17:02:43 +01:00
Qt4Deploy Remove QtGui dependency in Qt4Deploy test and verify QtSql existance. 2012-02-29 07:55:31 -07:00
Qt4Targets Qt4: Extend the Qt4Targets test to cover dir and target moc parameters. 2014-05-06 13:39:45 -04:00
QtAutoUicInterface QtAutoUic: Add INTERFACE_AUTOUIC_OPTIONS target property. 2013-11-27 19:06:12 +01:00
QtAutogen QtAutogen: Regenerate qrc files if their input changes (#15074) 2014-10-24 19:45:27 +02: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 ExternalProject: Add unit tests 2014-11-03 16:15:14 +01:00
RuntimePath Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SBCS Visual Studio: Allow setting Single Byte Character Set (#12189) 2012-02-17 11:30:23 -05:00
SameName Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
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 Tests: Teach SimpleInstall to use "cmake --build" 2013-11-18 08:26:22 -05:00
SimpleInstallS2 Tests: Teach SimpleInstall to use "cmake --build" 2013-11-18 08:26:22 -05:00
SourceGroups Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
SourcesProperty Make the SOURCES target property writable. 2014-04-02 23:14:02 +02: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 Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
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 Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SystemInformation Features: Add support for C++14 features. 2014-05-22 18:01:23 +02:00
TarTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
TargetName 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 Fix XCode -> Xcode typos, notably in man page (#12231) 2011-05-31 09:13:00 -04:00
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 unset: Add PARENT_SCOPE option 2013-10-08 08:37:50 -04:00
VSExcludeFromDefaultBuild Add tests for EXCLUDE_FROM_DEFAULT_BUILD 2012-11-13 09:08:42 -05:00
VSExternalInclude Tests: Use -A option to pass generator platform selection 2014-09-15 10:26:59 -04:00
VSGNUFortran Tests/VSGNUFortran: Avoid C++ comment in C code (#13314) 2012-06-18 16:18:27 -04:00
VSMASM VS: Add test for MASM support 2014-08-20 10:19:49 -04:00
VSMidl VSMidl Test: Use correct include_directories with VS6 (#11461) 2011-01-06 09:12:20 -05:00
VSNsightTegra VS: Fix Tegra-Android platform linking of libraries by name 2014-09-30 08:45:35 -04:00
VSProjectInSubdir VS: Add test for building MSBuild project in subdir 2013-04-12 11:35:36 -04:00
VSResource Ninja: Fix RC include directories regression 2014-10-13 08:20:05 -04:00
VSWinStorePhone VS: Add test case for Windows Phone and Windows Store 2014-09-02 10:17:03 -04:00
VSWindowsFormsResx VS: Add Resx configuration to the vcxproj file 2013-06-28 09:23:41 -04:00
VariableUnusedViaSet Add test for unused detection via setting it 2010-09-16 13:52:54 -04:00
VariableUnusedViaUnset Fix typo in VariableUnusedViaUnset test 2010-09-17 10:04:18 -04:00
VariableUsage
VisibilityInlinesHidden VisibilityInlinesHidden: only apply -fvisibility-inlines-hidden to C++ sources 2014-02-01 09:55:24 +01:00
WarnUnusedCliUnused CLI: Suppress the unused warning if the key value pair is cached. 2013-06-04 12:38:56 +02:00
Wrapping Tests: Don't read the LOCATION property from build targets. 2013-11-19 18:07:27 +01:00
X11 Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
iOSNavApp Xcode: Add test to demonstrate iOS project in Xcode 2011-09-12 15:46:24 -04:00
.NoDartCoverage
BootstrapTest.cmake Tests: Launch BootstrapTest through cmake instead of ctest 2013-11-18 08:26:22 -05:00
CMakeBuildTest.cmake.in Tests: Use -A option to pass generator platform selection 2014-09-15 10:26:59 -04:00
CMakeCopyright.cmake Copyright.txt: Add test to check year range 2013-11-12 16:35:26 -05:00
CMakeInstall.cmake Tests: Launch CMake.Install test through 'cmake --build' 2013-11-18 08:26:22 -05:00
CMakeLists.txt Merge topic 'wince-tests' 2014-10-30 14:11:51 -04:00
CTestUpdateBZR.cmake.in 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
CTestUpdateCommon.cmake ctest_update: Add CTEST_UPDATE_VERSION_ONLY option to only note the version 2014-08-18 11:21:36 -04:00
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 Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CTestUpdateP4.cmake.in ctest_update: Do not remove the p4 depot name 2013-11-01 08:52:26 -04:00
CTestUpdateSVN.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CheckFortran.cmake
EnforceConfig.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
README Add stronger infrastructure for CMake-only tests 2012-03-12 09:33:21 -04:00
RegexEscapeString.cmake Fix test failures caused by regexp-sensitive characters in the build paths 2013-06-03 16:51:21 +02:00
bootstrap.bat.in
test_clean.cmake.in Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00

README

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.