91935d9e FPHSA: lower-case for cmake_parse_arguments + move config-mode related code
aec27c15 FPHSA: use more localized _FOUND_VERSION instead of VERSION.
0019bfeb FPHSA: Add (failing) unit test in case a cache variable VERSION is present
81844334 FPHSA: add (failing) unit test for found version being equal to 0.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !1224
- The output file name of the `rcc` command get computed once
in the AUTOGEN initializer and is passed in the info file.
- The function name for the `-name` option of `rcc` gets computed
once in the AUTOGEN initializer and is passed along with the
other `rcc` options in the info file.
This is a large commit that serves multiple purposes
- Iterate source files only once and store all extracted
information in a cmQtAutogenDigest class that can be reused.
This is brings speed improvements because several properties
are only evaluated once. More that that it helps to avoid
duplication of code with non trivial files property checks.
- Fix the Visual Studio generator to use PRE_BUILD when possible.
- Convert `for( ... )` loops to C++11 range base loops where possible
(cmQtAutogen*.cxx only).
- String concatenation optimizations.
3a4f82e9 Help: Add notes for topic 'FindEXPAT-importedtargets'
bfe51369 FindEXPAT: Add unit test of target and variables
78f166f8 FindEXPAT: Add imported target and documentation
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1207
6dd0a593 Merge branch 'backport-irsl-vs15-future' into irsl-vs15-future
1dd2c08b InstallRequiredSystemLibraries: Add support for future VS 2017 toolchains
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Christian Pfeiffer <cpfeiffer@live.de>
Merge-request: !1240
With the use of options `Boost_USE_DEBUG_LIBS` and
`Boost_USE_RELEASE_LIBS` it is now possible to skip searching for either
DEBUG or RELEASE Boost libraries.
This is useful if Boost is installed on the system in multiple
directories but only one of them should be used which only contains e.g.
the RELEASE libraries. Without this change the DEBUG libraries might be
found in the other directory which might not be desired at all.
Revert commit v3.9.0-rc1~41^2 (FindBoost: Simplify search in lists,
2017-04-23). It regressed the module by exposing issue #17257, but the
fix for that issue is not suitable for inclusion in a patch release.
It is simplest to revert the commit until the larger problem can be
addressed.
Fixes: #17252
Since NDK commit 90ec78ffd96b87cd75d82575587ead14d6494df1 (Remove Clang
toolchain path from setup.mk, 2017-05-31) the `setup.mk` files for Clang
no longer hold the path to the `toolchains/llvm` directory. It has been
the same since NDK r11, so use that as the default.
Fixes: #17253
The overhaul in commit v3.9.0-rc1~207^2~1 (FindOpenMP: Complete
overhaul, 2017-04-24) documented this variable but accidentally left it
unset.
Fixes: #17251
The known keywords for each function are obtained by scraping the
documentation for lines matching a particular regular expression. In
commit 8842a027 (ExternalProject: Improve documentation, 2017-07-09),
the docs were overhauled and the COMMAND docs subsequently matched the
regular expression when they shouldn't have. This made COMMAND appear as
a true keyword, which thwarted the special handling logic elsewhere for
the intended use of COMMAND arguments.
This commit contains a workaround for issue #17229 to force a dependency
of the patch step on the update step to ensure a predictable step order.
Fixes: #17198
flang is a Fortran compiler built on top of clang [1]. Because flang
shares a lot of commonalities with clang, the flang module piggybacks
off the clang module and overrides certain options.
Add flang to Fortran compiler auto find list.
Update flang preprocessor macros to differentiate from PGI.
Add Flang-FindBinUtils.
[1] https://github.com/flang-compiler/flang
Use `try_compile` instead of `try_run`. It is not clear why `try_run`
was ever needed, and it does not work during cross-compiling.
Update the check's source file to remove code associated with actually
running things. Also remove the ancient `__CLASSIC_C__` code path and
use a simple `int main(void)` as in `Modules/CheckIncludeFile.c.in`.
Fixes: #16920
Microsoft has dedicated toolset versions for XP compatible binaries
(v110 vs. v110_xp, v141 vs. v141_xp) and CMake doesn't find wxWidgets
compiled with _xp tools. This patch adds _xp to directories searched
for wxWin libraries.
The VS environment script we load changes the working directory to
`%USERPROFILE%/source` if it exists. Set `VSCMD_START_DIR` to tell
the script to retain the current working directory.
The Ninja generator preprocesses and compiles separately for Fortran.
When compiling, tell gfortran that the source is already preprocessed so
that it will honor the `# <line>` directives when producing diagnostics
messages.
Fixes: #17160
The `crlf` attribute is deprecated in Git. This also changes the given
files to be in the index using LF newlines, but they will be checked
out with CRLF newlines due to the attribute.
At the moment, the Visual C++ OpenMP libraries will be installed for all
compilers simulating MSVC. They should however only be provided if we're
dealing with actual MSVC.
With MSVC the Ninja generator extracts the `cl -showIncludes` prefix.
When MSVC is configured to have non-English output, e.g. via
`VSLANG=2052` in the environment, then `cl` prints the prefix encoded
for the current code page, which is not necessarily UTF-8 encoding.
Currently we fail to convert the prefix to our internal UTF-8 encoding,
but assume it is UTF-8 later.
While writing `rules.ninja`, the Ninja generator converts our internal
UTF-8 encoding to the current code page. The `msvc_deps_prefix =` line
needs to be encoded as the current code page so that `ninja` can match
in the output from `cl -showIncludes` during the build.
Prior to commit v3.9.0-rc1~47^2 (codecvt: Re-implement do_out and
do_unshift, 2017-05-25), the non-UTF-8 prefix extracted above was
written without noticing its incorrect internal encoding. The
`rules.ninja` file was successfully written, but possibly with a mangled
`msvc_deps_prefix`. Since that commit the output stream correctly
rejects the non-UTF-8 byte sequence and writing `rules.ninja` fails.
Fix this by correctly converting the `cl -showIncludes` output from the
current code page to our internal UTF-8 encoding.
Fixes: #17191