| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
macOS requires OpenGL as INTERFACE_LINK_LIBRARIES dependency
in the GLEW targets. This commit fixes this issue.
|
|
|
|
|
|
|
|
|
|
| |
Fix logic added by commit a7d853868b (FindGLEW: Update implementation,
2019-03-13, v3.15.0-rc1~375^2~1) on macOS. macOS is recognized as both
UNIX and APPLE. Consequently, the library suffix for shared and static
library was set, respectively, as `.so` and `.a`, just like UNIX systems.
Fix this by properly checking the OS type.
Fixes: #19542
|
| |
|
|\
| |
| |
| | |
Merge-request: !3608
|
|/ |
|
|\
| |
| |
| | |
Merge-request: !3605
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit f7eaa342de (FindMPI: Store imported target link flags as a
list instead of a string, 2019-06-14, v3.15.0-rc2~2^2) we used
`separate_arguments` to parse the extracted link flags and add them to
`INTERFACE_LINK_LIBRARIES`. That property is not meant for link flags
and CMake may de-duplicate them. This is particularly problematic for
flags like `-Wl,-rpath -Wl,/path1 -Wl,-rpath -Wl,/path2`.
In commit 39c572c9c9 (FindMPI: Updated to use INTERFACE_LINK_OPTIONS,
2019-06-24) we moved the parsed flags over to `INTERFACE_LINK_OPTIONS`,
but that may still perform de-duplication. Avoid the parsing and
de-duplication of flags by passing the original string via `SHELL:`
instead.
Fixes: #19516
|
| | |
|
|\ \
| | |
| | |
| | | |
Merge-request: !3599
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since commit a13a5c948e (Replace use of CollapseCombinedPath with
CollapseFullPath, 2019-03-19, v3.15.0-rc1~361^2~1), one code path now
calls `CollapseFullPath` with a base path that may be relative.
Backport KWSys commit c6f8e24a3 (SystemTools: Fix CollapseFullPath with
relative base path, 2019-07-24) to handle such base paths.
This case occurs when a build tree is placed in a directory inside a
source tree such that CMake is willing to generate a relative path from
the build tree to the source tree. Add a test covering this case.
Fixes: #19507
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3592
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Revert commit a2a90f41e3 (Tests: require C++14 for the Tutorial,
2019-03-21, v3.15.0-rc1~41^2~2). In commit d50b31be35 (Clang: For MSVC
ABI do not use modes older than C++14, 2019-07-23) we fixed the C++
standard selection for GNU-like Clang with the MSVC ABI so the test code
itself no longer needs to do it. In particular, changing the tests in
this way broke the tutorial's narrative.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since commit d44c0db0b2 (clang: setup correct configuration in gnu mode,
2019-02-20, v3.15.0-rc1~41^2~5) we support the GNU-like Clang that
targets the MSVC ABI. However, Clang cannot compile with the MSVC
standard library unless it runs in a mode aware of C++14 (since MSVC
itself does not even have a lower mode). When `CMAKE_CXX_STANDARD` is
set to 98 or 11, use C++14 anyway.
Since Clang's default mode is aware of C++14, another option is to not
add any flags for 98 or 11. However, if a future Clang version ever
defaults to a higher C++ standard, setting the standard to 98 or 11
should at least not use a mode higher than 14.
Also revert test updates from commit 4819ff9647 (Tests: fix failures
with gnu mode clang on windows, 2019-03-21, v3.15.0-rc1~41^2~3) that
were meant to work around the standard selection problem.
Fixes: #19496
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3591
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In commit fec441ec17 (Teach CROSSCOMPILING_EMULATOR to support
arguments, 2019-05-30, v3.15.0-rc1~6^2) the new member
`cmCustomCommandGenerator::EmulatorsWithArguments` was not initialized
to the proper size. Fix this and add a test case covering the crash
that could occur with multiple commands where an emulator appears only
in a later command.
Fixes: #19500
Co-Author: Brad King <brad.king@kitware.com>
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3585
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since VS 2019, the v141 toolset redistributables can be found in
either the VS 2019 or VS 2017 install directory. Update the logic
to search multiple versions of VS.
Fixes: #19488
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Fix the toolset v143 check from commit 33ee779330 (IRSL: Fix discovery
of VS 2019 v142 toolset redistributables, 2019-04-03, v3.14.2~6^2) to
check the correct variable.
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3563
|
| |/ /
| | |
| | |
| | | |
Fixes: #19489
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3573
|
| |/ /
| | |
| | |
| | |
| | | |
By default `CMAKE_MSVC_RUNTIME_LIBRARY` is not set. Document the
default runtime library selection in that case. We already test it.
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3569
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The `AssemblerListingLocation` setting in VS project files is meant for
intermediate files created during the build much like object files.
When the VS 7 generator was first under development, commit 49aebe6c99
(new arch, 2002-09-04) placed both object files and the ASM list
location in the same directory. Later commit f9aef0e422 (Generator now
creates a separate intermediate files directory for each target,
2005-07-27) moved the object files to a per-target directory but the
ASM list location was not moved with them. Move it now.
Fixes: #19480
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3568
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We should enable the soname to be setup for ELF shared libraries.
Failure to do so generates binaries with incorrect names which prevents
loading.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Query the number of logical CPUs available to enable parallel
compilation for Swift.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The Swift driver recently learnt how to generate static libraries using
the `-static` flag. This enables us to generate proper static libraries
with dependency tracking with Swift as well.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When building Swift executables and libraries which import a module, an
implicit link will be added by the driver. Because this links by name
rather than path, the library search path needs to be provided to
indicate where to find the library. For all local dependencies, add the
library paths for the targets when linking. This ensures that you can
link against local libraries without explicitly setting a library path.
Fixes: #19304
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This changes the behaviour of the generators to use a per-language
library search path flag. This is needed for multi-language projects
with different compilers (e.g. cl + gfortran). Since the adjusted
variable has been part of the user settings, we control this based on a
policy.
Fixes: #19307
|
|\ \ \
| |/ /
|/| |
| | | |
Merge-request: !3564
|
|/ /
| |
| |
| | |
Fixes: #19473
|
| | |
|
|\ \
| | |
| | |
| | | |
Merge-request: !3557
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The module mode fallback added by commit 22e65d10c1 (find_package: Fixed
CMAKE_FIND_PACKAGE_PREFER_CONFIG Module fallback, 2019-06-13,
v3.15.0-rc2~6^2) should not be used unless the `find_package` call
allows module mode. Doing so can lead to infinite recursion if a find
module tries to call config mode with `find_package(... NO_MODULE)`.
Fix the logic and add a test case.
Fixes: #19478
|
|\ \ \
| | | |
| | | |
| | | | |
Merge-request: !3549
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Now that the working directory is in the build tree, relative input
paths must be converted to an absolute path to remain relative to the
source directory.
Fixes: #19472
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3537
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In commit 3a53005f7d (Build object library targets in VS, 2012-03-12,
v2.8.8~29^2~13) we updated the condition for unicode but accidentally
left out the SBCS case support for object libraries.
Fixes: #19469
|
|\ \ \ \
| |/ / /
|/| | |
| | | | |
Merge-request: !3504
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Define `CMAKE_Fortran_SUBMODULE_{SEP,EXT}` for the Cray Fortran
compiler. Use an empty separator to tell CMake that this compiler does
not use the enclosing module name as a prefix on submodule files.
Issue: #18925
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Define `CMAKE_Fortran_SUBMODULE_SEP` with an empty string to mean that
the compiler uses no module prefix on its submodule files.
Also add a default fallback to use the `.mod` extension when
`CMAKE_Fortran_SUBMODULE_EXT` is not set. This is a better guess than
no extension at all.
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !3532
|
| |\ \ \ \ |
|
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | | |
Update parsing logic from commit 5990ecb741 (Compute implicit include
directories from compiler output, 2018-12-07, v3.14.0-rc1~108^2)
to handle the quoting behavior caused by the `-hlist=` flag.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
Merge-request: !3526
|
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This ability was lost in commit 81b4d10d8f (CUDA: More exhaustive checks
to determine when to do device linking, 2019-05-09, v3.15.0-rc1~82^2)
and needs to be restored to use imported static libraries that have CUDA
symbols.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
Merge-request: !3523
|
|/ / / / / |
|