CMake/Tests
Marc Chevrier a71caab46b LINK_DIRECTORIES: Add new properties and commands
These new capabilities enable to manage link directories

Two new properties:
* target properties: LINK_DIRECTORIES and INTERFACE_LINK_DIRECTORIES

One new command
* target_link_directories(): to populate target properties

Fixes: #17215
2018-09-25 23:59:58 +10:00
..
AliasTarget Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
Architecture
ArgumentExpansion
Assembler
BuildDepends LINK_DEPENDS: add support of 'generator expressions' 2018-06-27 18:38:36 +02:00
BundleGeneratorTest
BundleTest Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
BundleUtilities Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CFBundleTest Fix trivial typos in text 2017-11-03 10:25:05 -04:00
CheckCompilerRelatedVariables
CMakeCommands LINK_DIRECTORIES: Add new properties and commands 2018-09-25 23:59:58 +10:00
CMakeLib Help: Add new section for CPack generators 2018-06-21 11:00:25 -04:00
CMakeOnly option: respect existing normal variable 2018-07-09 07:48:28 -04:00
CMakeServerLib cmake: specify source file extensions 2018-01-09 09:21:09 -05:00
CMakeTestAllGenerators
CMakeTestMultipleConfigures
CMakeTests list: Allow inserting at the end of a list 2018-07-05 13:53:49 -04:00
CoberturaCoverage
CommandLength Ninja: Generate scripts for long custom command sequences 2018-02-06 13:24:46 -05:00
CommandLineTest
CompatibleInterface Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CompileCommandOutput Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CompileDefinitions Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CompileFeatures Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CompileOptions Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
Complex Fix misc. typos 2018-06-04 10:32:49 -04:00
ComplexOneConfig Fix misc. typos 2018-06-04 10:32:49 -04:00
ConfigSources
COnly Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
Contracts Tests: Restore PLplot contract test repository https URL 2018-03-22 07:08:35 -04:00
CPackComponents
CPackComponentsDEB Various typo fixes 2018-01-04 06:52:01 +11:00
CPackComponentsForAll Fix misc. typos 2018-06-04 10:32:49 -04:00
CPackComponentsPrefix
CPackTestAllGenerators
CPackUseDefaultVersion CPack: Use project version as default for CPACK_PACKAGE_VERSION 2018-05-03 08:26:03 +10:00
CPackUseProjectVersion CPack: Use project version as default for CPACK_PACKAGE_VERSION 2018-05-03 08:26:03 +10:00
CPackUseShortProjectVersion CPack: Use project version as default for CPACK_PACKAGE_VERSION 2018-05-03 08:26:03 +10:00
CPackWiXGenerator
CrossCompile
CSharpLinkFromCxx clang-format.bash: update to clang-format-6.0 2018-06-01 09:52:02 -04:00
CSharpLinkToCxx
CSharpOnly
CTestBuildCommandProjectInSubdir
CTestConfig GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
CTestCoverageCollectGCOV
CTestLimitDashJ
CTestScriptMode
CTestTest MAINT: Misc. typos 2018-02-13 11:24:30 -05:00
CTestTest2 Tests: In CTestTest2 configure KWSys encoding to match CMake 2017-11-09 08:35:38 -05:00
CTestTestBadExe
CTestTestBadGenerator
CTestTestChecksum
CTestTestCostSerial Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CTestTestCrash
CTestTestCycle
CTestTestDepends
CTestTestEmptyBinaryDirectory
CTestTestFailure
CTestTestFdSetSize Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CTestTestLabelRegExp
CTestTestLaunchers
CTestTestMissingDependsExe
CTestTestParallel
CTestTestResourceLock
CTestTestRunScript
CTestTestScheduler Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CTestTestSerialInDepends
CTestTestSerialOrder
CTestTestSkipReturnCode
CTestTestStopTime Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CTestTestSubdir
CTestTestTimeout Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CTestTestUpload Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CTestTestVerboseOutput
CTestTestZeroTimeout Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
Cuda Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CudaOnly Merge topic 'cuda-no-cublas_device' 2018-08-24 13:35:01 -04:00
CustComDepend Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CustomCommand Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CustomCommandByproducts GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
CustomCommandWorkingDirectory
CxxDialect
CxxOnly Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
CxxSubdirC
DelphiCoverage
Dependency
DoubleProject
EmptyDepends
EmptyLibrary
EmptyProperty
Environment
ExportImport LINK_DIRECTORIES: Add new properties and commands 2018-09-25 23:59:58 +10:00
ExternalOBJ Various typo fixes 2018-01-04 06:52:01 +11:00
ExternalProject
ExternalProjectLocal
ExternalProjectSourceSubdir
ExternalProjectSubdir
ExternalProjectUpdate
FindALSA FindALSA: add testcase 2018-05-31 09:35:53 +02:00
FindBoost FindBoost: support OPTIONAL_COMPONENTS 2018-01-19 17:00:44 +01:00
FindBZip2
FindCURL FindCURL: Rename imported target to match upstream CURL 2018-06-18 13:58:21 -04:00
FindDoxygen FindDoxygen: Add tests for ALL option 2018-05-27 18:18:40 +10:00
FindEXPAT
FindFreetype FindFreetype: Add imported target, docs, and test 2017-09-07 17:52:33 +01:00
FindGSL
FindGTest FindGTest: Improve test to catch link error 2017-09-18 10:01:15 -04:00
FindGTK2 Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
FindIconv FindIconv: Add the FindIconv module. 2017-11-29 14:51:32 +01:00
FindICU
FindJPEG FindJPEG: Add imported target support and full test 2018-04-18 08:59:06 -04:00
FindJsonCpp
FindLibRHash
FindLibUV
FindLibXml2 FindLibXml2: provide imported target LibXml2::LibXml2 2018-03-08 18:31:12 +01:00
FindLTTngUST Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
FindMatlab FindMatlab: Matlab Runtime Compiler support 2018-04-23 10:30:49 -04:00
FindModulesExecuteAll
FindMPI FindMPI: Support components for various languages 2017-09-15 14:55:08 +02:00
FindODBC Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
FindOpenCL Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
FindOpenGL Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
FindOpenMP Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
FindOpenSSL MAINT: Misc. typos 2018-01-10 12:34:14 -05:00
FindPackageModeMakefileTest FindPackageModeMakefileTest: Explicitly use C linkage 2018-08-29 13:02:09 -04:00
FindPackageTest doc: Consistently use <PackageName> for describing the name of a package 2018-08-14 20:54:56 +10:00
FindPatch Tests: Fix FindPatch test on Windows 2017-11-15 06:56:04 -05:00
FindPNG
FindProtobuf FindProtobuf: add flag to allow descriptor files to be generated 2017-10-02 08:08:24 -04:00
FindPython FindPython*: New implementation for Python stuff 2018-03-20 09:29:44 +01:00
FindThreads
FindTIFF
FindVulkan
FindXalanC
FindXercesC
ForceInclude Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
Fortran Various typo fixes 2018-01-04 06:52:01 +11:00
FortranC
FortranModules Fortran: Extend submodule test with great-grandchild 2018-04-20 10:57:32 -04:00
FortranOnly Various typo fixes 2018-01-04 06:52:01 +11:00
Framework Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
FunctionTest
GeneratorExpression Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
GhsMulti
GhsMultiDuplicateSourceFilenames
GoogleTest GoogleTest: Modify test to verify that empty files can be scanned 2018-09-10 16:21:48 +08:00
ImportedSameName Fix transitive usage requirements through same-name imported targets 2018-09-10 07:51:44 -04:00
IncludeDirectories Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
InterfaceLibrary Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
InterfaceLinkLibraries Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
iOSNavApp
IPO
JacocoCoverage
Java UseJava: OUTPUT_DIR must exists in all cases. 2017-10-10 10:00:23 +02:00
JavaExportImport GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
JavaJavah
JavaNativeHeaders add_jar: add option GENERATE_NATIVE_HEADERS 2018-01-22 17:15:59 +01:00
JavascriptCoverage
JCTest
Jump Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
LibName
LinkDirectory LINK_DIRECTORIES: Add new properties and commands 2018-09-25 23:59:58 +10:00
LinkFlags Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
LinkLanguage
LinkLine
LinkLineOrder
LinkStatic
LoadCommand Tests: Remove ancient workaround in LoadCommand tests 2017-10-04 09:42:52 -04:00
LoadCommandOneConfig Tests: Remove ancient workaround in LoadCommand tests 2017-10-04 09:42:52 -04:00
MacroTest
MacRuntimePath Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
MakeClean
MathTest math: Add options to calculate and format output as hexadecimal 2018-07-03 09:55:58 -04:00
MFC Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
MissingInstall GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
MissingSourceFile
Module Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
ModuleDefinition Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
MSManifest
MumpsCoverage
NewlineArgs Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
ObjC++
ObjectLibrary Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
OutDir GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
OutName Fix regression in target output file naming logic 2018-09-19 08:14:48 -04:00
OutOfBinary
OutOfSource Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
PDBDirectoryAndName Add generator expression support to PDB_OUTPUT_DIRECTORY target property 2018-05-21 11:00:12 -04:00
PerConfig Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
Plugin Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
Policy0002
PolicyScope cmake_policy: Add undocumented PARENT_SCOPE option to GET 2018-04-18 08:09:56 -04:00
PositionIndependentTargets clang-format.bash: update to clang-format-6.0 2018-06-01 09:52:02 -04:00
PrecompiledHeader Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
PreOrder
Preprocess Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
Properties Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
PythonCoverage
Qt4And5Automoc
Qt4Autogen Autogen: Tests: Add basic scripts for separate tests 2017-12-13 13:48:27 +01:00
Qt4Deploy GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
Qt4Targets Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
Qt5Autogen Autogen: Tests: Add basic scripts for separate tests 2017-12-13 13:48:27 +01:00
QtAutogen Autogen: Tests: Use non inverting Qt version tests 2018-08-09 15:44:11 +02:00
QtAutomocNoQt
ReturnTest
RunCMake LINK_DIRECTORIES: Add new properties and commands 2018-09-25 23:59:58 +10:00
RuntimePath
SBCS
Server CMake build: Use new FindPython module 2018-03-20 09:29:55 +01:00
SetLang
Simple
SimpleCOnly
SourceFileIncludeDirProperty sourceFile properties: add property INCLUDE_DIRECTORIES 2018-01-24 15:10:10 +01:00
SourceFileProperty
SourceGroups source_group: Fix TREE argument parsing 2018-01-30 12:49:26 -05:00
SourcesProperty
StagingPrefix GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
StringFileTest
SubDir Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
SubDirSpaces Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
SubProject
SwiftMix
SwiftOnly
SystemInformation
TargetName
TestDriver
Testing
TestsWorkingDirectory Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
TryCompile Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
Tutorial Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
Unset
UseSWIG UseSWIG: add policy to manage target naming strategy. 2018-07-25 18:00:52 +02:00
VariableUnusedViaSet
VariableUnusedViaUnset
VariableUsage
Visibility
VSExcludeFromDefaultBuild
VSExternalInclude
VSGNUFortran GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
VSMASM
VSMidl
VSNASM VS: Properly quote arguments in nasm.xml 2018-07-02 18:50:12 -04:00
VSNsightTegra
VSProjectInSubdir
VSResource Ninja: Fix quoting of RC language depfile in cmcldeps call 2017-09-25 10:07:48 -04:00
VSResourceNinjaForceRSP
VSWindowsFormsResx
VSWinStorePhone Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
VSXaml
WarnUnusedCliUnused
Wrapping Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
X11 Revise C++ coding style using clang-format-6.0 2018-06-01 09:53:42 -04:00
XCTest
.NoDartCoverage
bootstrap.bat.in
BootstrapTest.cmake
CheckFortran.cmake Tests: Avoid hanging on check for Fortran 2017-11-06 10:21:11 -05:00
CMakeBuildTest.cmake.in GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
CMakeCopyright.cmake
CMakeInstall.cmake GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests 2017-12-30 09:35:56 +11:00
CMakeLists.txt LINK_DIRECTORIES: Add new properties and commands 2018-09-25 23:59:58 +10:00
CTestUpdateBZR.cmake.in
CTestUpdateCommon.cmake
CTestUpdateCVS.cmake.in
CTestUpdateGIT.cmake.in
CTestUpdateGIT.sh.in
CTestUpdateHG.cmake.in
CTestUpdateP4.cmake.in
CTestUpdateSVN.cmake.in
EnforceConfig.cmake.in
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.