PGI on Windows should use the Visual C++ linker and librarian and not
the ar provided for legacy reasons. The compiler parameters themselves
are the same as their Linux parameters and not compatible to MSVC
however.
PGI demands -Bdynamic (/MD equivalent) for linking together dynamic
libraries, so we should make it our default mirroring the settings of
e.g. Visual C++ and Intel C++.
Since PGI does not write linker directives into objects, the necessary
libraries have to be parsed from commandline. PGI does however link the
Visual C++ runtime libraries, so they have to be filtered out to ensure
no collision with settings of other languages can occur.
Update the module to account for commit v3.4.0-rc1~342^2 (Factor an
<INCLUDES> placeholder out of <FLAGS> in rule variables, 2015-07-13)
and v2.6.0~537 (Create COMPILE_DEFINITIONS property for targets and
source files, 2008-01-14).
Fixes: #16904
When using `CMake_NO_CXX_STANDARD` a user may still provide `-std=c++11`
or similar flags in `CMAKE_CXX_FLAGS`, so we should still check for the
available C++ features.
We look for `SONAME` in the output of `readelf` to check whether the
binary contains the field. Do not provide a symbol that may
accidentally match.
Fixes: #16894
The `CMP0022-WARN-tll` case overrides legacy properties set by
`target_link_libraries` so that we can verify that the policy
warning is emitted. When building in the Debug configuration,
the `_DEBUG` variant of the legacy property is set/checked too.
Fix the test case to override both variants. Previously it only
passed because `cmComputeTargetDepends::AddInterfaceDepends`
always evaluated dependencies with the "" configuration.
The checks fail even on compilers that support the keywords because
the linkage is broken:
src.c:...: undefined reference to 'test'
At the actual use sites we use `static inline` instead of just `inline`,
so perform the check this way too to fix the linkage.
The fix in commit v3.8.1~4^2 (source_group: Fix TREE with root that is
not current source dir, 2017-04-20) accidentally broke support for
specifying paths relative to the source directory. Fix it and add a
test covering the case.
While at it, fix a typo in a variable name.
Fixes: #16876
The new PackageRoot search path group allows the PackageName_ROOT cmake
and environment variables to be used as search prefixes for all find_*
commands called from within a find module
Code extracted from:
https://gitlab.kitware.com/utils/kwsys.git
at commit fe1f22ceefdae18df33e5bab8483fec7a82d4cee (master).
Upstream Shortlog
-----------------
Adam Weisi (3):
8a799e36 Process: Improve definition ordering in header file
7d56ef24 Process: Save results from all children internally
b7eba998 Process: Add APIs to get results of individual processes
Ben Boeckel (2):
cea71543 style: remove separator comments
874dc559 style: help clang-format near macros