Teach the `CMAKE_INSTALL_UCRT_LIBRARIES` feature to honor the
`CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY` and `CMAKE_INSTALL_DEBUG_LIBRARIES`
settings.
Closes: #16542
Historically we have always warned and skipped missing files. Since
commit v3.4.0-rc1~264^2~1 (GetPrerequisites: Add error checks for
execute_process() calls, 2015-07-29) we fail instead, but this was not
an intentional part of that change. Restore the warn-only behavior so
that missing system libraries (e.g. during cross-compiling) do not cause
failure.
Closes: #16523
With some Windows toolchains we use `objdump` which does not mention
delay load dependencies in its output. Therefore, to get consistent
behavior we should always ignore them.
Use the `dumpbin` message "Image has the following delay load
dependencies" that precedes the delay load dependencies to recognize and
skip them. Fortunately, this message is not translated to the current
locale (at least on "Windows 7 French", "Windows 10 French" and "Windows
Server 2008 R2 French").
Fixes: #16241
7db05f42 AUTOGEN: Release notes for SKIP_AUTOX
6eabac26 AUTOGEN: Documentation update: cmake-qt, AUTOMOC, AUTOUIC, AUTORCC
cbc07d33 AUTOGEN: Documentation for SKIP_AUTOX source file properties
c17e0a3a AUTOGEN: Tests: AUTORCC SKIP_AUTORCC and SKIP_AUTOGEN test
53787bf8 AUTOGEN: Tests: AUTOUIC SKIP_AUTOUIC and SKIP_AUTOGEN test
8dbdd3e7 AUTOGEN: Tests: AUTOMOC SKIP_AUTOMOC and SKIP_AUTOGEN test
0699760d AUTOGEN: Generators: Do moc/uic skip test during file list generation
a84f0bb7 AUTOGEN: Generators: Message upper/lower case unification
7b766b83 AUTOGEN: Generators: Use single moc/uic skip test method only
2964b8cc AUTOGEN: Generators: Use AUTOMOC/UIC/RCC instead of AUTOGEN in messages
d58b6bf3 AUTOGEN: Generators: Moc/UicSkipTest methods
94c319f9 AUTOGEN: Generators: Use separate header lists for MOC and UIC
966be439 AUTOGEN: Generators: Be verbose about skipping files
de531432 AUTOGEN: Generators: Remove unused variable
d8e45536 AUTOGEN: Initializer: Always remember skipped files
d9313a82 AUTOGEN: Initializer: Enable SKIP_AUTOGEN on all AUTOGEN generated sources
...
The cmake_parse_arguments command is builtin with version 3.5.
The CMakeParseArguments module is empty and exists for backwards
compatibility with CMake 3.4 and lower.
Remove the includes of CMakeParseArguments from CMake's modules.
The modules are always used with the current version of CMake.
Leave the includes in the tests, as the tests may be run with an older
version of CMake.
Make it possible to find Boost in the default install path (`c:\boost`)
of an official prebuilt binaries installation even when `BOOST_ROOT`
has not been specified.
Documentation updates in commit v3.5.0-rc1~124^2~2 (FindGTest: Add
imported targets and update documentation, 2015-12-10) accidentally
changed the documented default to the wrong value. Restore the
documentation to refer to the actual default used in the implementation.
`su` is not available by default on all devices:
```
> adb shell "echo ls /data/local/tmp | su"
/system/bin/sh: su: not found
> echo $?
0
```
Also since `execute_adb_command` use `execute_process` under the hood
the pipeline (`|`) will not be treated as special symbol and will be
process just like one more command line argument for the `adb`.
In commit v3.3.0-rc1~4^2 (FindPostgreSQL: Search some more common
packaging locations) the PostgreSQL_ADDITIONAL_SEARCH_PATHS variable was
removed. This was used e.g. by osm2pgsql to be able to build on CentOS
with recent PostgreSQL versions. At least add those locations from
yum.postgresql.org, which is a more or less official location.
The PGI documentation says that `-Mpreprocess` "instructs the compiler
to perform cpp-like preprocessing on assembly and Fortran input source
files". The `-E` flag causes the compiler to spit the result to stdout
instead of saving it to a file.
`PYTHON_LIBRARY` may contain a list because of `SelectLibraryConfigurations`.
If it is the case, the list can be:
optimized;<FILEPATH_TO_RELEASE_LIBRARY>;debug;<FILEPATH_TO_DEBUG_LIBRARY>
Instead of directly using the value of `PYTHON_LIBRARY` in the CMake
function `get_filename_component()`, we loop over the content of the
relevant parts of `PYTHON_LIBRARY` and `PYTHON_DEBUG_LIBRARY` whether
they are lists or not.
Suggested-by: Brad King <brad.king@kitware.com>
Do not assume that the implicit link line is the last line of the output
from `nvcc -v`. Instead first find the `LIBRARIES=` line, and then look
for that content on a later line. It appears twice. First on a call to
`nvlink`, which we ignore. Later it appears on the implicit link line.
Extract the latter line. On failure, abort with a `FATAL_ERROR` so that
the user does not try to build without proper link information.
Once we have the line, parse it with `separate_arguments` using the
`UNIX_COMMAND` option just like `CMakeParseImplicitLinkInfo` already
does. This robustly parses the command line and removes quoting.
Then extract the first argument as the host link launcher.
- Unify path handling: Rather than repeat the same logic for each
individual path create two macros which can be used throughout
the module.
- Capitalise helpstrings to match the conventions used by the
standard CMake properties