| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
e2cca9f8 FindGTest: Avoid macro name collision
4636c64b FindGTest: Improve test to catch link error
35061791 FindGTest: Fix shared linking on Windows
9fd9e448 FindGTest: Avoid using find_dependency in a find module
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1267
|
| |
| |
| |
| |
| |
| |
| | |
Use two _'s for private function/macro names rather than one. This
avoids a potential collision if a function/macro with no leading _ that
otherwise matches the name of a private function/macro also overrides a
built-in function or is defined twice.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add logic to FindGTest.cmake to attempt to determine if the libraries
are shared or static. If the libraries are shared, add an interface
compile definition that is needed in some cases for successful linking
on Windows.
See also https://github.com/google/googletest/issues/877.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The `find_dependency` macro is not meant for use in find modules.
Instead use plain `find_package` for the Threads package. Assume that
if it is not found then it isn't needed on the current platform.
Issue: #17257
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of `list(FIND...)` and then checking result for `-1`
(found/not-found), nowadays `if` command has the `IN_LIST` test for
that.
This change was originally made by commit v3.9.0-rc1~41^2 (FindBoost:
Simplify search in lists, 2017-04-23) but then had to be reverted by
commit v3.9.2~3^2 (FindBoost: Revert "Simplify search in lists.",
2017-09-05) due to problems related to using `find_dependency`. Those
problems were addressed by commit 3080a0a611 (FindBoost: Improve
behavior when thread dependency is missing, 2017-09-15), so now we can
restore the original change.
Issue: #17252
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
bf1e606f FindMPI: Add support for FreeBSD and SLES
2f673da6 FindMPI: Support components for various languages
9a58e69c FindMPI: Modernization from ground up
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !893
|
| | |
| | |
| | |
| | | |
Fixes: #17117
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a near-total rewrite of FindMPI implementing the following
features:
Environmental improvements:
- C++ settings can now be picked from C settings if no dedicated C++
settings are found (some installs of IBM Platform MPI)
- Fortran settings can now be found on MPICH-1, MVAPICH-1, Microsoft
MPI and MPICH-2 on Windows.
- Improved flag procession logic: Flags related to security enhancements
of MPI itself, and unrelated to MPI usage (-fstack-protector-strong on
e.g. RHEL 7 for MPICH and MVAPICH) will be filtered out properly now.
-pthread is now being handled. -fno-strict-aliasing, which may be needed
while compiling MVAPICH (e.g. RHEL 7's MVAPICH package) is also
filtered.
Features added:
- MPI version can be determined for each language and is exposed as the
package version
- MPI functionality is being tested to ensure the correctness of
settings
- MPI-2 C++ bindings can be suppressed if desired by the project or
user. For older MPIs, this often resolves issues and eliminated the
infamous SEEK_SET trouble.
- MPI-2 C++ bindings are now being searched for and exposed by a
variable if detected.
- Fortran support now does not make assumptions over the MPI present and
works with ILP64 MPI implementations.
- Fortran now exposes which bindings (mpif.h, mpi/mpi_f08 modules) are
available
- MPI detection can now work hybridly, which for example permits using the
Fortran modules shipped with some compiler suites together with MPI
(e.g. PGI on Windows shipping MSMPI modules)
- Ability to determine MPI library version (*requires* try_run, caution)
upon request
- Ability to determine Fortran capabilities from MPI-3 for each of the
bindings (subarrays, asynchronous attribute protecting entities) (also
requires try_run)
Fine grained control over the search process:
- Possibility to selectively enable and disable steps like compiler
wrapper search and guessing. Permits picking Microsoft MPI over Intel
MPI if both are loaded (previously not possible without removing the
IMPI compiler wrappers from the environment)
- Ability to pick MPICH2 over MSMPI (previously the first one located
was taken)
- A user may now pass compiler flags to the compiler wrapper script,
enabling much more flexibility. This permits for example linking the
Intel MPI debug runtime, static linking, ILP64 with Fortran,
linking tracing, ...
- A user may define a suffix for all MPI binaries that are being looked
for (useful on Debian/Ubuntu where the alternative MPI installs are each
appended with their name, e.g. mpicc.mpich and mpicc.lam)
Cache variable improvements
- Instead of the previous plural cache variables a list-of-variables
approach is now in place. Permits correcting individual variables
instead of having to wade through a list, also speeds up the search
process and increases comfort by eliminating duplicate entries in
LIBRARIES over languages
- MPIEXEC was corrected to MPIEXEC_EXECUTABLE in order to fix the
grouping in the CMake GUI for the variable (previously ungrouped)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The `find_dependency` macro is not meant for use in find modules and
`return()`s from the caller when the package is not found. Avoid using
it in FindBoost. Instead use plain `find_package` for the Threads
package and manually forward the `QUIET` argument. When the Threads
package is missing then treat the Boost `thread` component as missing.
Issue: #17257
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
d25f30a6 FindOpenMP: Add support for components
23530151 FindOpenMP: Minor environmental improvements
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1266
|
| | |
| | |
| | |
| | |
| | | |
Language specific components are added to FindOpenMP to ease consumption
of the module's results.
|
| |/
| |
| |
| |
| | |
A backup flag for Cray compilers was added and the OpenMP 5.0 Preview 1
document was added to the specification map.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
5dc215e0 FPHSA: fix typo in comment
a8f70b32 FPHSA: replace left-over VERSION by _FOUND_VERSION.
549366cb FPHSA: Add (failing) unit test when checking EXACT on full version number
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1259
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was accidentally left out of commit aec27c152e (FPHSA: use more
localized _FOUND_VERSION instead of VERSION, 2017-09-05).
Fixes: #17281
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
c2cc91a4 Platforms: Remove Windows-NMcl
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1255
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
Since commit v2.8.10~148^2~2 (Modernize MSVC compiler information files,
2012-08-23), the Windows-NMcl platform has been broken.
It's most likely not needed anymore.
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
7ed35aa3 Docs: Improve markup for graphviz related documentation
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1236
|
| | |
| | |
| | |
| | |
| | | |
- add hyperlink to CMakeGraphVizOptions.cmake in cmake(1)
- improve markup in CMakeGraphVizOptions.cmake
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
39be8a9d MSVC: Avoid unnecessary C++ feature detection steps
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1253
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since commit v3.9.0-rc1~17^2~4 (Compilers: Port to use default
cmake_record_lang_compile_features macros, 2017-05-10) we run full
per-language-standard feature detection for MSVC. This is not necessary
because the base mode for MSVC has all features we define except for the
meta-features for C++14 and above. Override the default C++ feature
detection macro for MSVC to run detection only once as before.
Fixes: #17274
|
|\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | | |
bc7c94fe MSVC: Add support for ARM64 architecture
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1215
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Visual Studio 15.4 adds support for this architecture.
Fixes: #17213
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
8a4755ca VS: Update support for LLVM-vs* toolsets from LLVM 5.0
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1231
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Revert commit v3.7.0-rc1~25^2 (VS: Recognize VS/LLVM toolset names as
Clang, 2016-09-28). Since at least LLVM 5.0 the VS integration of the
LLVM toolchain now mimics cl and accepts MSVC-style command-line
arguments (unlike Microsoft Clang/C2).
Fixes: #17193, #17235
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
d371b52f FindOpenSSL: Search 'ssld' and 'crypod' for debug variants
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1246
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Release variant search already considered `ssl` and `crypto`, but
similarly named libs with `d` postfix were not searched for debug
variant.
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
e48acfc5 CMakeFindDependencyMacro: Document return() behavior and caveats
07a05079 CMakeFindDependencyMacro: Convert documentation to bracket comment
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1245
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The `find_dependency` macro is designed to be called from Package
Configuration Files, not from Find Modules. The return() behavior is
particularly problematic for find modules. Document this more clearly.
Issue: #17257
|
| |/ / |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
f34ac1c6 FindMatlab: Don't use the deprecated variable CMAKE_CL_64
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1234
|
| | |
| | |
| | |
| | |
| | | |
The variable is not defined on 64-bit MinGW, causing a 32-bit Matlab
version to be found. Check using CMAKE_SIZEOF_VOID_P instead.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
This fixes the failing unit tests in which a cache variable VERSION is present or the found version is 0.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
dbba53a5 FindBoost: Add version 1.65.1
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1241
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
b1d1c56c Help: Add notes for topic 'FindFreetype-importedtargets'
457c2021 FindFreetype: Add imported target, docs, and test
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1219
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
- 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.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
e6159e18 FindBoost: Add option to prevent finding DEBUG/RELEASE Boost-libs
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1216
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|
| |\ \ \ \ \ \ |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Assume that all cl 19.xx versions will use the same runtime DLL pattern.
Suggested-by: Tomasz Słodkowicz <slodki@users.noreply.github.com>
|
| | |\ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Merge-request: !1168
|
| | |\ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Merge-request: !1167
|