c4b4d8b3a6 POSITION_INDEPENDENT_CODE: Manage link flags for executables
724a0346f7 POSITION_INDEPENDENT_CODE: Fix erroneous '-fPIE' flag for Sun Studio
023188ffb4 INTERFACE_POSITION_INDEPENDENT_CODE: add generator expressions support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2465
Add recognition of compiler version and prefix for clang.
Accommodate changes to version numbering scheme for GCC 5+ and clang 4+
- Minor number becomes patch, so excluded it from compiler prefix.
- Improves searching for Boost 1.69+ libraries built with GCC 5+ and
clang 4+, where library names are generated with compiler tag based on
major version only eg. -gcc5 for GC 5.5.0 or -clang6 for clang 6.0.0
- Follows up related changes in upcoming Boost 1.69
https://github.com/boostorg/build/pull/349
Dump detected compiler version in Boost_DEBUG message.
Replace use of CMAKE_COMPILER_IS_GNUCXX with CMAKE_CXX_COMPILER_ID.
Add missing vendor table entries for Clang and AppleClang to identify
them. Previously this worked only if Clang was also enabled as a C or
CXX compiler first because we used to copy the C compiler id. However,
that was removed by commit v3.13.0-rc1~44^2 (ASM: Search for full path
even when using C or C++ compiler, 2018-09-26).
Fixes: #18575
Add the system thread library to Boost_LIBRARIES when the boost thread
component has been found.
The Boost::thread imported target already pulls in Threads::Threads.
This changes does the same for projects using the Boost_LIBRARIES variable
instead.
f5c46dd84e PkgConfig: Be less verbose by mark(ing)_as_advanced the find_library result
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !2576
Fedora installs a `jconfig-32.h` and `jconfig-64.h` which were not
searched. Instead, glob up all `jconfig` headers and bail once we've
found a version number.
575e2cc35d FindPostgreSQL: extract the actual version number
7413f29fe6 Tests/FindPostgreSQL: add a test for FindPostgreSQL
d2235fd253 FindPostgreSQL: add an imported target
7a801b7dfb FindPostgreSQL: Modernize documentation layout
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2555
f1a3e4eca8 FindLAPACK: Correct library name and symbol searched in LAPACK95 wrapper
970b18e9a5 FindBLAS: Correct symbol searched in BLAS95 wrapper
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2560
The `PG_VERSION` variable can be mangled by distributions to indicate
things like the name of the distro and package build numbers.
However, `PG_VERSION_NUM` is new in 8.2 (2006), so keep the old
extraction code around for old versions.
Boost 1.66 and above built with `--layout=versioned` add an architecture
tag to the library file names. We already try to compute this tag
automatically when `CMAKE_CXX_COMPILER_ARCHITECTURE_ID` is available,
but that is currently not computed everywhere. Add an explicit
`Boost_ARCHITECTURE` option that a user can set to specify the
architecture tag.
Issue: #17701
The symbol "CHEEV", originally used to determine if a library provides
Fortran 95 wrappers for LAPACK, has been replaced by "cheev_f95". "CHEEV"
is provided by libmkl_intel_(i)lp64, which does not provide the generic
Fortran 95 wrappers. Instead, libmkl_lapack95_(i)lp64 does; one of the
specializations of the type-generic interfaces contained in that library
is "lapack_f95".
Also, FindLAPACK used libmkl_intel_(i)lp64 instead of the correct
libmkl_lapack95_(i)lp64 library for LAPACK95 functionality. This has
been fixed, too.
The symbol "SGEMM", originally used to determine if a library provides
Fortran 95 wrappers for BLAS, has been replaced by "sgemm_f95". "SGEMM"
is provided by libmkl_intel_(i)lp64, which does not provide the generic
Fortran 95 wrappers. Instead, libmkl_blas95_(i)lp does; one of the
specializations of the type-generic interfaces contained in that library
is "sgemm_f95".