Files
CMake/Tests
Robert Maynard 41eab150a8 CUDA: Pass more link libraries to device linking
Previously we dropped non-target items from the device link line because
nvcc rejects paths to shared library files, and only with target items
do we know the kind of library.  However, this also prevents projects
from linking to system-provided libraries like `cublas_device` that
contain device code.

Fix this by passing more link items to device linking.  Items that are
not file paths, such as `-lfoo`, can simply be passed unconditionally.
Items that are targets known to be shared libraries can still be
skipped.  Items that are paths to library files can be passed directly
if they end in `.a`.  Otherwise, pass them using `-Xnvlink` to bypass
nvcc's front-end.  The nvlink tool knows to ignore shared library files.

Issue: #16317
2018-03-28 09:38:43 -04:00
..
2017-11-03 10:25:05 -04:00
2018-02-13 11:24:30 -05:00
2018-02-13 11:24:30 -05:00
2018-01-04 06:52:01 +11:00
2018-02-13 11:24:30 -05:00
2018-01-04 06:52:01 +11:00
2018-01-04 06:52:01 +11:00
2016-09-09 11:42:35 -04:00
2018-01-10 12:34:14 -05:00
2018-01-04 06:52:01 +11:00
2018-01-04 06:52:01 +11:00
2016-07-28 00:43:04 +02:00
2017-08-30 08:29:43 -04:00
2017-11-03 10:25:05 -04:00
2018-01-04 06:52:01 +11:00
2018-03-20 14:28:17 +01:00
2018-01-04 06:52:01 +11:00
2016-07-28 00:43:04 +02:00

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.