CMake/Tests
Ben Boeckel 3f1e005067 Tests/RunCMake/CXXModules: declare forwarding as extern "C++"
It is not part of any module, so it needs to be declared as such.
2023-02-03 15:54:11 -05:00
..
AliasTarget Tests: Remove incidental use of C++98 compiler modes 2022-04-26 12:01:06 -04:00
Architecture
ArgumentExpansion
Assembler Tests: Pass -fno-lto to the Assembler test when using clang 2022-06-30 22:29:18 +00:00
BuildDepends
BundleGeneratorTest
BundleTest Source: Replace most calls to sprintf with snprintf 2021-10-25 18:23:13 -04:00
BundleUtilities
CFBundleTest
CheckCompilerRelatedVariables
CheckSourceTree Tests: Teach CheckSourceTree test to clean up more specific known files 2022-11-14 10:35:06 -05:00
CMakeCommands target_link_libraries: Restore LINK_ONLY for multiple static lib dependencies 2022-03-16 10:47:32 -04:00
CMakeGUI Revise C++ coding style using clang-format-15 2023-01-18 16:20:47 -05:00
CMakeLib Revise C++ coding style using clang-format-15 2023-01-18 16:20:47 -05:00
CMakeOnly Find{BZip2,LibLZMA,ZLIB}: use *_VERSION as modern CMake 2022-11-07 16:22:31 -05:00
CMakeTestAllGenerators
CMakeTests Tests: Move CMake.FileDownload cases into RunCMake.file-DOWNLOAD 2022-11-18 09:02:15 -05:00
CoberturaCoverage
CommandLength
CommandLineTest
CompatibleInterface
CompileCommandOutput
CompileDefinitions
CompileFeatures Revise C++ coding style using clang-format-15 2023-01-18 16:20:47 -05:00
CompileOptions LCC: Add policy CMP0129 regarding interpreting LCC as GNU 2021-10-21 17:24:22 +03:00
Complex Tests: Fix some tests under CFLAGS=-DNDEBUG CXXFLAGS=-DNDEBUG 2022-09-01 12:29:22 -04:00
ComplexOneConfig Tests: Fix some tests under CFLAGS=-DNDEBUG CXXFLAGS=-DNDEBUG 2022-09-01 12:29:22 -04:00
ConfigSources
COnly
Contracts
CPackComponents CPack: Remove the deprecated PackageMaker generator 2022-05-05 08:36:44 +10:00
CPackComponentsDEB
CPackComponentsForAll CPack: Remove the deprecated PackageMaker generator 2022-05-05 08:36:44 +10:00
CPackComponentsPrefix
CPackNSISGenerator
CPackTestAllGenerators
CPackUseDefaultVersion
CPackUseProjectVersion
CPackUseShortProjectVersion
CPackWiXGenerator
CrossCompile
CSharpLinkFromCxx clang-format.bash: Use generic clang-format attribute 2023-01-18 11:48:49 -05:00
CSharpLinkToCxx
CSharpOnly
CSharpWin32GenEx
CTestConfig
CTestCoverageCollectGCOV Tests: Fix GCOV test in unusual environments 2022-08-16 15:36:50 -04:00
CTestLimitDashJ
CTestScriptMode
CTestTest
CTestTest2
CTestTestBadExe
CTestTestBadGenerator
CTestTestChecksum
CTestTestCostSerial
CTestTestCrash Tests: Prevent compiler optimizing away test code in CTestTestCrash 2021-11-02 09:03:27 -04:00
CTestTestCycle
CTestTestDepends
CTestTestEmptyBinaryDirectory
CTestTestFailure
CTestTestFdSetSize Tests/CTestTestFdSetSize: Support plain POSIX 2022-06-26 11:49:46 +03:00
CTestTestLabelRegExp
CTestTestLaunchers
CTestTestMissingDependsExe
CTestTestParallel
CTestTestResourceLock
CTestTestRunScript
CTestTestScheduler Tests: Add missing include in sleep sources 2022-04-26 12:01:06 -04:00
CTestTestSerialInDepends
CTestTestSerialOrder
CTestTestSkipReturnCode
CTestTestStopTime Tests: Add missing include in sleep sources 2022-04-26 12:01:06 -04:00
CTestTestSubdir
CTestTestTimeout
CTestTestUpload
CTestTestVerboseOutput
CTestTestZeroTimeout
Cuda Revise C++ coding style using clang-format-15 2023-01-18 16:20:47 -05:00
CudaOnly CUDA: device linking obeys CMAKE_CUDA_VISIBILITY_PRESET setting 2023-01-16 11:27:13 -05:00
CustComDepend
CustomCommand
CustomCommandByproducts ExternalProject: Add INSTALL_BYPRODUCTS option 2022-11-05 16:26:45 +00:00
CustomCommandWorkingDirectory
CxxDialect
CxxOnly
CxxSubdirC
DelphiCoverage
Dependency
DoubleProject
EmptyDepends
EmptyLibrary
EmptyProperty
Environment Tests/Environment: also test modifying ambient values 2021-10-29 10:54:02 -04:00
ExportImport Add EXPORT_NO_SYSTEM target property, deprecate IMPORTED_NO_SYSTEM 2022-06-17 22:38:07 +08:00
ExternalOBJ
ExternalProject Tests: handle a case when hg executable is broken 2022-06-28 11:12:04 -04:00
ExternalProjectLocal
ExternalProjectSourceSubdir
ExternalProjectSourceSubdirNotCMake
ExternalProjectSubdir
ExternalProjectUpdate
FindALSA
FindBLAS Find{BLAS,LAPACK}: Provide testing of BLA_SIZEOF_INTEGER 2021-10-05 23:41:36 +09:00
FindBoost Tests: Update FindBoost.TestPython for Python 3.11 and 3.12 2022-11-16 14:34:07 -05:00
FindBZip2
FindCups
FindCURL
FindDevIL
FindDoxygen
FindEnvModules
FindEXPAT
FindFontconfig
FindFreetype
FindGDAL
FindGIF
FindGit
FindGLEW
FindGLUT FindGLUT: Provide modern-named GLUT_INCLUDE_DIRS result variable 2021-12-20 09:53:33 -05:00
FindGnuTLS
FindGSL
FindGTest FindGTest: Add target for gmock library 2021-11-22 11:23:39 -05:00
FindGTK2
FindIconv
FindICU
FindImageMagick FindImageMagick: Define targets for specific components 2023-01-27 10:33:10 -05:00
FindIntl
FindJasper FindJasper: Add IMPORTED target 2021-10-06 11:28:09 -04:00
FindJNI FindJNI: added components and imported targets 2022-04-04 19:46:32 +02:00
FindJPEG
FindJsonCpp
FindLAPACK Find{BLAS,LAPACK}: Provide testing of BLA_SIZEOF_INTEGER 2021-10-05 23:41:36 +09:00
FindLibArchive
FindLibinput
FindLibLZMA
FindLibRHash
FindLibUV
FindLibXml2
FindLibXslt
FindLTTngUST
FindMatlab FindMatlab: Add NO_IMPLICIT_LINK_TO_MATLAB_LIBRARIES option to matlab_add_mex 2022-04-05 08:27:09 -04:00
FindMPI
FindODBC
FindOpenACC Revise C++ coding style using clang-format-15 2023-01-18 16:20:47 -05:00
FindOpenAL FindOpenAL: Add imported target 2022-06-22 09:16:19 -04:00
FindOpenCL
FindOpenGL
FindOpenMP
FindOpenSP FindOpenSP: Add module to find the OpenSP library 2022-08-30 13:55:07 -04:00
FindOpenSSL
FindPackageModeMakefileTest
FindPackageTest FindPackageTest: Replace VTK with Boost 2022-09-03 01:14:43 -04:00
FindPatch
FindPNG
FindPostgreSQL
FindProtobuf
FindPython FindPython: add support for Stable ABI 2022-11-29 16:48:08 +01:00
FindRuby
FindSDL
FindSQLite3
FindThreads
FindTIFF
FindVulkan FindVulkan: Add dxc (DirectX Shader Compiler) component 2022-07-20 17:06:31 -04:00
FindX11 FindX11: add xcb-xtest and xcb-keysyms 2022-03-10 11:41:31 -05:00
FindXalanC
FindXercesC
ForceInclude
Fortran LLVMFlang: Add support for mixed-language linking with Fortran 2022-10-11 15:38:48 -04:00
FortranC LLVMFlang: Add support for mixed-language linking with Fortran 2022-10-11 15:38:48 -04:00
FortranModules Tests/FortranModules: add case for modules after "end interface X" 2022-11-30 06:39:48 -05:00
FortranOnly Tests: Avoid using CMake{Output,Error}.log files 2023-01-18 16:40:19 -05:00
Framework
FunctionTest FunctionTest: Fix some test failure checks 2022-09-03 06:52:49 -04:00
Fuzzing
GeneratorExpression Genex: Fix CONFIG on imported target with no explicit mapping 2022-12-16 09:00:34 -05:00
GhsMulti GHS: Update tests for updated binary layout 2022-03-17 19:11:48 -04:00
GoogleTest
HIP HIP: Remove ROMClang compiler id and use Clang directly 2021-09-16 15:33:47 -04:00
ImportedSameName
IncludeDirectories Add SYSTEM target property 2022-06-16 00:25:27 +08:00
IncludeDirectoriesCPATH
InstallMode Fix: InstallMode tests fail on some platforms 2021-08-24 19:21:40 +02:00
InterfaceLibrary
InterfaceLinkLibraries LINK_LIBRARIES: Add support for LINK_ONLY genex 2022-03-24 08:23:55 -04:00
InterfaceLinkLibrariesDirect INTERFACE_LINK_LIBRARIES_DIRECT: Honor link dependencies through LINK_ONLY 2022-03-22 11:57:48 -04:00
iOSNavApp
ISPC
JacocoCoverage
Java
JavaExportImport
JavaJavah
JavaNativeHeaders
JavascriptCoverage
JCTest
Jump
LibName
LinkDirectory
LinkFlags
LinkLanguage
LinkLine
LinkLineOrder
LinkStatic LCC: Add policy CMP0129 regarding interpreting LCC as GNU 2021-10-21 17:24:22 +03:00
LoadCommand Source: Replace uses of sprintf with safer snprintf in CMake 3.24 branch 2022-11-03 11:58:31 -04:00
LoadCommandOneConfig Source: Replace uses of sprintf with safer snprintf in CMake 3.24 branch 2022-11-03 11:58:31 -04:00
MacroTest
MacRuntimePath
MakeClean
MathTest
MFC
MissingInstall
MissingSourceFile
Module CUDA: Add Device LTO support for nvcc 2022-07-22 10:34:45 -04:00
ModuleDefinition Tests: Update ModuleDefinition for IntelLLVM MSVC Frontend Variant 2022-08-01 19:34:49 -04:00
MSManifest Clang: embed windows manifests with GNU interface 2021-09-17 00:35:32 +02:00
MSVCDebugInformationFormat MSVC: Add test for debug information format 2022-09-14 09:12:47 -04:00
MSVCRuntimeLibrary
MumpsCoverage
NewlineArgs
ObjC
ObjCXX
ObjectLibrary Revert INTERFACE_LINK_LIBRARIES_DIRECT feature for 3.23 branch 2022-03-21 13:17:32 -04:00
OutDir
OutName
OutOfBinary
OutOfSource Makefiles: Restore path consistency in the global dispatch makefile 2022-08-03 14:58:47 -04:00
PDBDirectoryAndName
PerConfig
Plugin Tests: Remove incidental use of C++98 compiler modes 2022-04-26 12:01:06 -04:00
Policy0002
PolicyScope
PositionIndependentTargets clang-format.bash: Use generic clang-format attribute 2023-01-18 11:48:49 -05:00
PrecompiledHeader
PreOrder
Preprocess Tests: Fix some tests under CFLAGS=-DNDEBUG CXXFLAGS=-DNDEBUG 2022-09-01 12:29:22 -04:00
Properties
PythonCoverage
Qt4And5Automoc
Qt4Autogen
Qt4Deploy
Qt4Targets
Qt5Autogen
Qt6Autogen Tests: Add support for testing Qt6 2021-10-04 22:10:57 +11:00
QtAutogen Revise C++ coding style using clang-format-15 2023-01-18 16:20:47 -05:00
QtAutomocNoQt
ReturnTest
RunCMake Tests/RunCMake/CXXModules: declare forwarding as extern "C++" 2023-02-03 15:54:11 -05:00
RuntimePath
SBCS
SetLang LCC: Add policy CMP0129 regarding interpreting LCC as GNU 2021-10-21 17:24:22 +03:00
Simple
SimpleCOnly
SourceFileIncludeDirProperty
SourceFileProperty
SourceGroups
SourcesProperty
StagingPrefix
StringFileTest Revise C++ coding style using clang-format-15 2023-01-18 16:20:47 -05:00
SubDir
SubDirSpaces
SubProject
SwiftMix Xcode: Evaluate Swift compile definitions separately 2022-10-25 14:09:28 -04:00
SwiftMixLib Swift: Omit output-file-map when used as a linker 2022-10-28 16:44:26 -07:00
SwiftOnly Ninja: Emit swiftmodule from executable with exports 2023-01-19 11:49:24 -08:00
SystemInformation Merge topic 'configure-log' 2023-01-19 13:21:36 -05:00
TargetName Tests: Add missing return types to C function prototypes 2022-05-13 11:07:17 -04:00
TestDriver
Testing
TestsWorkingDirectory
TryCompile Tests: Fix TryCompile bad source case for clang-cl 15 on Windows 2022-11-10 12:57:55 -05:00
Unset
UseSWIG UseSWIG: Add support of perl5 language 2022-10-14 16:46:42 +02:00
VariableUsage
Visibility
VSAndroid
VSExcludeFromDefaultBuild
VSExternalInclude
VSGNUFortran Build: Modernize some foreach calls to use IN LISTS/IN ITEMS 2022-09-22 09:24:46 -04:00
VSManagedCustomCommand VS: Revert "Add missing label in C# project-build events" 2021-12-02 18:06:39 -05:00
VSMARMASM VS: Honor compile options for ASM_MARMASM 2023-01-26 12:56:25 -05:00
VSMASM VS: Honor compile options for MASM 2023-01-12 14:35:38 -05:00
VSMidl
VSNASM VS: Honor compile options for ASM_NASM 2023-01-26 13:51:49 -05:00
VSProjectInSubdir
VSResource
VSResourceNinjaForceRSP
VSWindowsFormsResx VS: Fix managed C++ project generation for VS 2022 2021-09-15 13:19:37 -04:00
VSWinStorePhone Revise C++ coding style using clang-format-15 2023-01-18 16:20:47 -05:00
VSXaml
WarnUnusedCliUnused
WatcomRuntimeLibrary OpenWatcom: Allow specifying the runtime library 2022-05-06 10:40:58 -04:00
Wrapping Revise C++ coding style using clang-format-15 2023-01-18 16:20:47 -05:00
X11 CPack: Remove the deprecated PackageMaker generator 2022-05-05 08:36:44 +10:00
XCTest
.NoDartCoverage
bootstrap.bat.in
BootstrapTest.cmake
CheckFortran.cmake Tests: Avoid using CMake{Output,Error}.log files 2023-01-18 16:40:19 -05:00
CheckSwift.cmake Tests: Avoid using CMake{Output,Error}.log files 2023-01-18 16:40:19 -05:00
CMakeBuildTest.cmake.in
CMakeCopyright.cmake
CMakeInstall.cmake
CMakeLists.txt FindImageMagick: Define targets for specific components 2023-01-27 10:33:10 -05:00
CTestUpdateBZR.cmake.in
CTestUpdateCommon.cmake Build: Modernize some foreach calls to use IN LISTS/IN ITEMS 2022-09-22 09:24:46 -04:00
CTestUpdateCVS.cmake.in
CTestUpdateGIT.cmake.in Tests: Fix CTest.UpdateGIT under repo-local defaultBranch config 2023-01-11 17:11:34 -05:00
CTestUpdateGIT.sh.in
CTestUpdateHG.cmake.in
CTestUpdateP4.cmake.in Build: Modernize some foreach calls to use IN LISTS/IN ITEMS 2022-09-22 09:24:46 -04:00
CTestUpdateSVN.cmake.in
EnforceConfig.cmake.in Deprecate Visual Studio 11 2012 generator 2022-09-27 11:45:50 -04:00
README.rst
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.