They seem to actually cause trouble, like an error reported on IRC where some
but not all CMake invocations may end up with an error like this:
CMake Warning (dev) at /usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake:74 (if):
Policy CMP0054 is not set: Only interpret if() arguments as variables or
keywords when unquoted. Run "cmake --help-policy CMP0054" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.
Quoted keywords like ")" will no longer be interpreted as keywords when the
policy is set to NEW. Since the policy is not set the OLD behavior will be
used.
Call Stack (most recent call first):
/usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake:179 (cmake_parse_implicit_include_line)
/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:119 (cmake_parse_implicit_include_info)
/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)
CMakeLists.txt:24 (project)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Error at /usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake:74 (if):
if given arguments:
"GNU" "STREQUAL" "SunPro" "AND" "(" ")" "MATCHES" "-D__SUNPRO_C" "OR" ")" "MATCHES" "-D__SUNPRO_F" ")"
I suspect that the line ends up being just ")", which then causes this error.
add_jar() currently requires (undocumented) that resources be supplied
as relative paths. The resources *may* then end up in a path which does
not reflect the original path particularly when performing out-of-source
builds. This change adds a RESOURCE (and NAMESPACE) parameter and a
function to add the names resources into the named namespace within the
jar- and thus address both of these problems.
Fixes: #22101
fd02f10103 Xcode: Fix typos and spelling in error message
5950e54325 Source: Fix typos and spelling in comments
7072d83772 Help: Fix typos and spelling in documentation
03b1140ddc CONTRIBUTING: Fix typos and spelling
87f8843d8b FindMatlab: Fix spelling in warning and documentation
15cc39ed7f Modules: Fix typos and spelling in documentation
f015c36c5a Modules: Fix typos and spelling in comments of generated code
dad5b9d845 Modules: Fix typos and spelling in comments
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6099
In ac6a4d4884 (ExternalProject: Improve robustness of update step,
2020-10-17), the method used to check whether we already have a
commit or not was changed from using git rev-list to git rev-parse.
The new logic assumed rev-parse would output nothing if given a commit
hash it didn't know about, but it simply prints the hash again without
raising an error in this scenario. Amend that logic by adding ^{commit} to
the ref to ensure we do get an error if that ref is not currently known.
Fixes: #22166
Update the list of known versions.
Run the command
cmake -DBOOST_DIR=/path/to/boost_1_76_0 \
-P Utilities/Scripts/BoostScanDeps.cmake
to extract dependencies from the 1.76.0 source tree.
They are the same as 1.75's dependencies, so just update
the version check for warning about newer versions.
Fixes: #22167
Tell the Fortran compiler to write preprocessor output directly to a
file, as we do for the GNU compiler. The previous "redirect stdout"
approach could break checks using flags that add information to stdout
when called with `-###`.
Fixes: #22156
The original regular expression was greedy and would match any
environment variable ending with `TOP` (like `DESKTOP`). This is an
issue on windows where `nvcc -v` would output all environment variables
before the compiler's verbose output.
To resolve this issue we use a tighter match algorithm that looks
for `#$ TOP=` instead of `TOP=`.
Fixes: #22158
Since commit 4d786dfcfa (BinUtils: Avoid clobbering a variable named
without a private prefix, 2021-04-06, v3.20.1~4^2) we use variables
named `_tool` and `_name`, but these may still be common enough to
affect project code. Use `_CMAKE_TOOL` and `_CMAKE_TOOL_NAME` instead,
and unset them when finished.
Fixes: #22140
Update the archive rules added by commit 6e3655db2c (Clang: add LTO
support for GNU-command line clang on windows, 2019-07-08,
v3.16.0-rc1~161^2~3) to match the `ar` convention we use for normal
archives.
Issue: #21988
Extend the change from commit 39d0ade07e (Windows-GNU: Support duplicate
object names in large archives (#14874), 2014-04-14, v3.1.0-rc1~629^2~1)
to apply to the temporary archive we create for linking shared libraries
with MinGW tools.
Issue: #21988
If a `CMakeLists.txt` or `CMAKE_TOOLCHAIN_FILE` sets a variable named
`C`, `CXX`, or `CUDA`, we were previously comparing each enabled
language name to the value of that variable, rather than the name
itself. Double-quote the string to take advantage of policy `CMP0054`,
but also add "x" prefixes to support projects that do not set the
policy.
Fixes: #22125
If all SWIG cache variables (EXECUTABLE, DIR, VERSION) are set,
there should be no need to invoke the SWIG exe on a reconfigure. This
changeset reduces the number of calls to the SWIG executable, and
additonially prevents temporary `SWIG_xxx` values from propagating outside
the `find_package` call.
I also refactored the conditionals to be less nested (and thus more
predictable), including changing theh definition of SWIG_USE_FILE to
reflect that it's if and only if SWIG_FOUND is trure.