676befdf52 ctest: add support for memcheck using Dr. Memory
2db0a65f56 cmCTestMemCheckHandler.cxx: minor refactoring
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4119
When using ThreadSanitizer our existing CMAKE_HAVE_LIBC_PTHREAD test
program links using symbols from the tsan library. Among the symbols
not provided by that library, `pthread_cancel()` seems to be the less
risky symbol to add to the check.
Fixes: #19981
cb984c6627 Check*CompilerFlag: Modernize modules
d806263578 Merge branch 'backport-3.16-toc_on_ppc' into toc_on_ppc
90d8bd2deb Merge branch 'backport-3.15-toc_on_ppc' into backport-3.16-toc_on_ppc
b35926e260 Check for support before adding bigtoc linker flag
958f858ad8 Check for support before adding bigtoc linker flag
8c7b7df788 bootstrap: Add target_link_options command
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4122
At CPack running time the `CMAKE_PROJECT_HOMEPAGE_URL` variable
is not set.
Internal CPack modules (e.g. CPackDEB, CPackRPM, CPackFreeBSD)
should use `CPACK_PACKAGE_HOMEPAGE_URL` instead, which is available
after inclusion of `CPack.cmake` into `CMakeLists.txt`.
Closes: #19607
5341f5e4a1 CUDA: get header deps from compiler invocation when possible
7f15c99851 CUDA: forward unknown flags to host compiler when possible.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4099
This makes it much easier to use a launcher for all CMake projects in an
environment rather than having to remember to pass the setting to every
CMake build.
Revert commit de5f123d3a (FindThreads: Do not hard-code '-l' flag on
library name, 2019-09-23, v3.16.0-rc1~71^2). Some clients depend
on the value of `CMAKE_THREAD_LIBS_INIT` to contain a valid flag.
Fixes: #20061, #20065
When cross compiling from a unix machine, if(UNIX) is false,
whih causes the path not to be fixed for unix, leading to false
negative if PKG_CONFIG_PATH needs to be probed
Starting with CUDA 10.2 the nvcc compiler has gained support
to automatically forward unknown flags to the host compiler.
This behavior is highly desired as projcts that mix CUDA, C, C++
run into situation where flags such as `-pthread` which aren't
supported by nvcc, are being applied to all source files and
therefore break CUDA compilation.
We search for tools `ninja-build`, `ninja`, and `samu` as the build tool
for the Ninja generator. Re-order the search to prefer whichever tool
appears first in the `PATH`. This makes it easier for users to control
which tool gets used when more than one is available.
Fixes: #20028
The CUDA language failed to persist CMAKE_CUDA_LIBRARY_ARCHITECTURE
and CMAKE_LIBRARY_ARCHITECTURE, causing find_ calls to fail when
the only enabled language was CUDA.
In commit fe54989fcd (FindwxWidgets: Add support for wxQt, 2019-11-12,
v3.16.0-rc4~12^2~1) the internal `WX_FIND_LIBS` macro gained an argument
but not all call sites were updated. Update the missing one now.
Fixes: #20005
The Ninja generator's support for Fortran requires that source files
be preprocessed explicitly first. However, the `xlf` compiler does
not have a simple `-E` option or equivalent to do preprocessing.
The only documented way to get preprocessed output is to use `-d`
to leave it behind, but only at an inflexible location.
Instead, create our own `cpp` wrapper script and substitute it for the
real preprocessor using `-tF -B ...`. Teach the wrapper to map the
`cpp` output to the location we need and then invoke the real `cpp`
underneath.
Fixes: #19450