192ab741 FindPythonLibs: Allow find_library to search paths from system environment
3976a106 FindPythonLibs: Prefer libs early in search path regardless of name
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1378
`xmlrpc-c-config $modules --cflags` may report no `-I` flags if the
headers are in a standard location like `/usr/include`. In this case
it is okay for `XMLRPC_INCLUDE_DIRS` to be empty.
Ideally the `--cflags` output should be used as hints for a `find_path`
call to really find the headers as we do for other find modules, but
simply assuming no explicit include directories are needed is good
enough for now.
Fixes: #17347
Drop the `NO_SYSTEM_ENVIRONMENT_PATH` option from our `find_library`
calls. No other find modules do this. Also, since commit
v3.3.0-rc1~430^2 (Teach find_(library|file|path) to get prefixes from
PATH, 2015-02-18) we always search the `lib` directory of each prefix
before the `bin` directory and so should prefer the non-`.dll` name.
Issue: #17336
Add `NAMES_PER_DIR` to all `find_library` invocations so that we
consider all possible names in each search directory before moving on to
the next directory. This helps find the package that appears earliest
in the search path regardless of how it names its libraries.
Fixes: #17336
The implementation of this module doesn't expect such dereferences
to happen, but can when a project sets a variable called `x`.
Set `CMP0054` explicitly to get its NEW behavior.
Fixes: #17335
CPACK_DEBIAN_PACKAGE_VERSION variable could in the past also
contain release and epoch version so regex test should expect
the entire versioning if both CPACK_DEBIAN_PACKAGE_RELEASE
and CPACK_DEBIAN_PACKAGE_EPOCH are not set.
Also since the checks were not performed in the past the regex
test of CPACK_DEBIAN_PACKAGE_VERSION variable content should
only report author warnings instead of errors in case of the
test fail.
Fixes: #17339
The LLVM/Clang installer on Windows provides a `LLVM/bin` directory
containing `clang.exe` and `clang++.exe` command-line tools that have a
GNU-like command-line but target the MSVC ABI (instead of MinGW). We
do not support this combination, so diagnose and reject it explicitly.
Tell users what to do to use the `clang-cl.exe` tool instead.
Issue: #16439
In the normal archiving rules the ``<CMAKE_AR>`` placeholder is replaced
by the generators with a properly-quoted path to the tool. In the IPO
rules we specify the tools directly, so we need to quote them.
Fixes: #17326
Java 9 has only one component. Revise the logic to tolerate any number
of version components 1 through 4. Fix the parsing of individual
components.
Fixes: #17325
When no explicit `CMAKE_CUDA_HOST_COMPILER` is specified by the user
then we do not pass `-ccbin` to `nvcc`. In this case, nvcc's link line
we extract during the compiler identification step may not have the
absolute path to the host compiler it uses to drive linking. If it is
not absolute, use the `PATH=` from nvcc's output to search for it since
that is the one `nvcc` would use.
This fixes our internal `CMAKE_CUDA_HOST_LINK_LAUNCHER` value used to
construct link lines when using `CUDA` as the linker language. It needs
to match the host compiler `nvcc` uses internally during compilation.
Fixes: #17323
Set `CMP0007` to `NEW` for the entire script. The script comes with
CMake and is aware of the policy's behavior, so set the policy to ensure
that its warnings do not show up during the build phase.
Fixes: #16579
1bdb8cd2 IAR: Detect compiler platform version
b96ca728 Add infrastructure to detect secondary compiler version information
f952f16d Help: Fix placement of one variable in cmake-variables manual
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1324
`__IAR_SYSTEMS_ICC__` provides additional version information that
we need to determine correct usage of the compiler. Extract and
store it as `CMAKE_<LANG>_COMPILER_VERSION_INTERNAL`.
Issue: #17264
Create a `CMAKE_<LANG>_COMPILER_VERSION_INTERNAL` variable to hold
a secondary/internal compiler version number detected at the same
time as the primary compiler version. This will be useful for some
compilers where we need such a number to determine correct usage.
Inspired-by: Stefan Andersson <tfosm@hotmail.com>
Suggested-by: Norbert Lange <norbert.lange@andritz.com>
Issue: #17264
- The .desc files will be in the same folder as the generated .cc and .h files.
- Paths to generate .desc files are stored in a variable passed in
- This is only implemented for C++
- Remove legacy ARGS
- Add test that generates and uses C++ protobuf message
- Add test that checks that the generated .desc file can be instantiated
with DynamicMessageFactory
- Add Help rst for new feature
Reduce duplication by storing the custom command outputs in variables.
Also, since custom command outputs are automatically marked as generated
we do not need to do so explicitly.
Add a test for this case to verify the messages. This test will also be
valuable to cover this code path in which we've had several regressions
recently.