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.
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
Since commit v3.7.0-rc1~392^2 (Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT
set in toolchain files, 2016-07-05) our convention is to initialize
compiler flag variables via `string(APPEND)` rather than `set()`.
Fix the convention for `CMAKE_CUDA_FLAGS[_<CONFIG>]_INIT`.
97c1e569 Help: Add release note for C++ 17 support
85c8e652 Features: Activate C++ 17 support for AppleClang 6.1+
8084f7a6 Features: Activate C++ 17 support for Clang 3.5+
24e29d41 Features: Activate C++ 17 support for GNU 5.1+
ae1a6815 Features: Add infrastructure for C++ 17 language standard
684e4d20 Features: Make feature recording conditions more consistent
* In older version "%dir %attr(-, root, root) foo" would put "%dir foo"
in the final spec file.
* Also added comment to describe this and advise not not to add trailing
slashes to directories in USER_FILELIST.
* Includes test in RunCMake CPack which now passes.
Create OpenGL::GL and OpenGL::GLU imported targets using the locations
found.
This feature was originally added by commit v3.1.0-rc1~420^2~2
(FindOpenGL: Provide imported targets for GL and GLU, 2014-05-31) but
had to be reverted by commit v3.1.0-rc3~10^2 (FindOpenGL: Revert support
for imported targets, 2014-12-01) due to issue #15267. Since then we
added support for `IMPORTED_LIBNAME` to interface libraries, so use it
to handle the case where we have only the library name without an
absolute path.
Inspired-by: Philipp Möller <bootsarehax@googlemail.com>
Closes: #15267
Condition all calls to `_record_compiler_features_{c,cxx}` on
`_result EQUAL 0` so that adding new language standards later does
not need to update them. Avoid some duplicate compiler version
checks by conditioning C11 and CXX14 feature recording on the
existence of `CMAKE_{C11,CXX14}_STANDARD_COMPILE_OPTION` (whose
setting already used the version check).
Split the arguments off of the `ASM${ASM_DIALECT}` environment variable
as is done for `CC` and other compiler variables. This fixes using CMake
when `ASM*` is used to pass additional target flags, e.g. when one uses
`ASM=${CC}`.