Skip to content

[pull] master from Kitware:master#6

Merged
pull[bot] merged 26 commits intoMu-L:masterfrom
Kitware:master
Jun 18, 2020
Merged

[pull] master from Kitware:master#6
pull[bot] merged 26 commits intoMu-L:masterfrom
Kitware:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull bot commented Jun 18, 2020

See Commits and Changes for more details.


Created by pull[bot]. Want to support this open source service? Please star it : )

Gusts Kaksis and others added 26 commits June 15, 2020 11:20
* Instead of `classes` use name `commonSourceFiles`.
* No need for reference when you have pointer.
… target

The implementation needs only the target name.
Even though Intel MKL typically puts the libraries under
`$MKLROOT/lib/$arch_$os` some installations may still use
`$MKLROOT/lib/$arch/` path. Ideally, `$arch` should be a
symlink to `$arch_$os`, but sometimes the opposite happens
(for instance, see Intel MKL distribution in Arch Linux [1]),
and sometimes only `$arch` directory alone is present.

This patch extends the search list with `$MKLROOT/lib/$arch` with
lower priority than `$MKLROOT/lib/$arch_$os`, as the latter is the
official path to Intel MKL libraries.

It is also worth mentioning that Intel MKL Link Line Adviser [2]
recommends using `$MKLROOT/lib/$arch` directory in a link line:
```
 -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_lp64
 -lmkl_sequential -lmkl_core -lpthread -lm -ldl
```

[1] https://www.archlinux.org/packages/community/x86_64/intel-mkl/files/

[2] https://software.intel.com/content/www/us/en/develop/articles/intel-mkl-link-line-advisor.html
Even though Intel MKL typically puts the libraries under
`$MKLROOT/lib/$arch_$os` some installations may still use
`$MKLROOT/lib/$arch/` path. Ideally, `$arch` should be a
symlink to `$arch_$os`, but sometimes the opposite happens
(for instance, see Intel MKL distribution in Arch Linux [1]),
and sometimes only `$arch` directory alone is present.

This patch extends the search list with `$MKLROOT/lib/$arch` with
lower priority than `$MKLROOT/lib/$arch_$os`, as the latter is the
official path to Intel MKL libraries.

It is also worth mentioning that Intel MKL Link Line Adviser [2]
recommends using `$MKLROOT/lib/$arch` directory in a link line:
```
 -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_lp64
 -lmkl_sequential -lmkl_core -lpthread -lm -ldl
```

[1] https://www.archlinux.org/packages/community/x86_64/intel-mkl/files/

[2] https://software.intel.com/content/www/us/en/develop/articles/intel-mkl-link-line-advisor.html
When built statically we failed to install the SqrtLibrary
on some platforms -fPIC is implicit so you won't get an error
Instead of mutating the configure-time cmTarget's properties at generate
time, compute and store it in a cmGeneratorTarget field.
Implement error handling in case it fails

Fixes: #20696
cmCoreTryCompile had significant code duplication around handling
languages that offer standard levels. This refactoring reduces
the complexity and makes it easier to add new languages in the
future.
Try linking all target linked libraries through frameworks build phase
instead of linker flags, thus letting Xcode manage build product paths
correctly.  Prevent adding duplicate entries to "Link Binary With
Libraries" build phase.

Add check for configuration-dependent linking - in case the library is
not present in all configurations revert back to linker flags which are
per-configuration.

This does change the order of libraries linked, but that does not seem
to matter for Apple linkers invoked by Xcode, even for static libraries.
The linker will go back and re-consider a static library from earlier
on the link line when more symbols from its objects are needed.

Fixes: #14185
Drop the portion of the case names that repeats the name of the
containing test.
Fix a typo from commit ef81661 (ARMClang: allow fallback to -march
and correct setting of --cpu flags, 2020-06-03, v3.18.0-rc1~18^2).
5f97e44 Tests: Shorten case names in RunCMake.target_link_libraries-* tests
0951b1f Tests: Split RunCMake.target_link_libraries test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4908
…3.18

5f97e44 Tests: Shorten case names in RunCMake.target_link_libraries-* tests
0951b1f Tests: Split RunCMake.target_link_libraries test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4908
2ff68c0 ARMClang: Fix typo in -Xlinker flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4916
2ff68c0 ARMClang: Fix typo in -Xlinker flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4916
574f71e try_compile: Refactor language standard level parsing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4900
7c3204f Tutorial: Correct Step9 wording

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4907
0fdfd6b Tutorial: Install correctly when built statically

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4906
8d5a07c FindLAPACK: Extend search directories for MKL
d880d28 FindBLAS: Extend search directories for MKL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4905
032506a cmake: implement error handling in configure_file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4889
742ff97 Refactor language standard computation
0892c79 cmMakefile: Change CompileFeatureKnown to take target name instead of target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4803
58c05e1 Xcode: Use "Link Binary With Libraries" build phase when possible
927373b Xcode: Refactor generator variable names and types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4882
@pull pull bot added the ⤵️ pull label Jun 18, 2020
@pull pull bot merged commit 0a7a466 into Mu-L:master Jun 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants