| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
VS 2019 Update 1 will fix its redist directories to be named `VC142`
instead of `VC141`. It will also use cl `19.21` instead of `19.20`
so we can use that to distinguish the versions.
Fixes: #19131
|
|
|
|
|
|
|
|
|
| |
Since VS 2017's v141 toolset there is no longer a simple equation to
calculate the redist name, dll version, and VS IDE version from just the
MSVC toolset version. Refactor the logic to use hard-coded values and
warn when a new version is not supported.
Fixes: #19125
|
|\
| |
| |
| |
| |
| |
| | |
01c7d9ce86 IRSL: Detect versioned Windows Universal CRT directories
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2637
|
| |
| |
| |
| |
| |
| |
| | |
Windows SDK version 10.0.17763.0 now places the uCRT libraries in a
versioned directory.
Fixes: #18603
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Found via `codespell -q 3 -I ../cmake-whitelist.txt --skip="./Utilities"`
where the whitelist consists of
```
aci
ans
behaviour
buil
convertor
dum
earch
ect
emmited
emmitted
helpfull
iff
isnt
ith
lowercased
mose
nd
nknown
nto
objext
ot
pathes
pevents
splitted
substract
superceded
supercedes
te
tim
todays
uint
upto
whitespaces
```
|
|\
| |
| |
| |
| |
| |
| | |
05ece372a6 IRSL: Fix Intel library list for ifort-only setups
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2061
|
| |
| |
| |
| | |
Fixes: #17727
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
bdf660cab5 InstallRequiredSystemLibraries: Check for existence of mfcm dlls
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1980
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, only existence of `mfc${v}.dll` and `mfc${v}d.dll` variants
was checked and it was assumed that the managed variants `mfcm*.dll`
also existed. This assumption doesn't hold with Visual Studio 2017.
Check each file separately.
Fixes: #17913
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
7d1ed84c IRSL: Skip libgfxoffload if no Intel C++ is used
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1589
|
| |
| |
| |
| |
| |
| |
| | |
`libgfxoffload` is only used and installed by the Intel C/C++ compilers
and will be unavailable if only Intel Fortran has been installed.
Fixes: #17550
|
|\ \
| |/
|/|
| |
| |
| |
| | |
4dae55fb IRSL: Fix MSVC variable deferencing
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1588
|
| |
| |
| |
| | |
Fixes: #17529
|
|/
|
|
|
|
|
|
|
| |
The presence of the `1041` seems to solely depend on whether a given
Intel compiler release was available in Japanese or not. Install it if
it is present and silently ignore it otherwise.
Example: The Intel 2018.0 release did not ship it, but the 2018.1
compilers have it.
|
|
|
|
| |
Fixes: #17421
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Assume that all cl 19.xx versions will use the same runtime DLL pattern.
Suggested-by: Tomasz Słodkowicz <slodki@users.noreply.github.com>
|
| |
| |
| |
| |
| | |
Fixes: #16891
Fixes: #9903
|
|/
|
|
|
|
| |
At the moment, the Visual C++ OpenMP libraries will be installed for all
compilers simulating MSVC. They should however only be provided if we're
dealing with actual MSVC.
|
|
|
|
|
|
| |
Add compiler version 19.11 to our table.
Fixes: #17184
|
|
|
|
|
|
| |
Store the `VC###` component of the `Microsoft.VC###.CRT` directory name
in a variable set based on the toolchain version. Its naming convention
is changed by VS 15.3.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Define a `CMAKE_WINDOWS_KITS_10_DIR` environment variable to allow
users to tell CMake about a custom Windows 10 SDK directory. We
choose to make this an environment variable rather than a CMake
variable or cache entry because:
* Using a custom directory also requires custom external MSBuild
configuration. Therefore users are already configuring a
custom environment.
* The custom directory must be set consistently in all parts of
a build including nested projects. An environment variable
avoids requiring users to thread the setting into nested builds.
Fixes: #16743
|
|
|
|
|
|
|
|
| |
Use our undocumented `cmake_host_system_information` query to find the
VS 2017 installation directory by asking the VS installer tool. Then
look relative to that for the redist directory.
Fixes: #16737
|
|
|
|
|
|
| |
VS 2017 does not have the same registry entries or other paths we
search for other VS versions. Split the search code paths to treat
it separately.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
VS 2017 (VS 15) places its redist DLLs in `Microsoft.VC150.*`
directories but still uses version number `140` in the DLL names. The
redist directories now have version numbers in their name, and the MSVC
and MFC runtime DLLs may be in directories with different versions.
Fill out our logic to handle this.
For now assume we are given the `MSVC_REDIST_DIR` value as a cache
entry. Unfortunately we cannot yet find the VS 2017 MSVC redist
directory automatically since there is no registry entry for the VS
installation. Later we will have to use `cmVSSetupHelper` for this.
Issue: #16735
|
| |
|
|
|
|
| |
Refactor MSVC logic to split the IDE and DLL version variables.
|
|
|
|
|
|
| |
Each `MSVC${v}_*_DIR` variable is only ever used with one value for
`${v}` within a given build tree. Drop the `${v}` version component
from the variable names.
|
|
|
|
|
|
| |
For a given `MSVC_VERSION` our macros were each called at most once.
Replace them with a single code path that is parameterized over what
was the macro argument.
|
|
|
|
| |
Issue: #16735
|
|\
| |
| |
| |
| | |
e0ed1de4 InstallRequiredSystemLibraries: Distinguish UCRT install configurations
|
| |
| |
| |
| |
| |
| |
| |
| | |
Teach the `CMAKE_INSTALL_UCRT_LIBRARIES` feature to honor the
`CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY` and `CMAKE_INSTALL_DEBUG_LIBRARIES`
settings.
Closes: #16542
|
|/
|
|
| |
Fixes #16513
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per-source copyright/license notice headers that spell out copyright holder
names and years are hard to maintain and often out-of-date or plain wrong.
Precise contributor information is already maintained automatically by the
version control tool. Ultimately it is the receiver of a file who is
responsible for determining its licensing status, and per-source notices are
merely a convenience. Therefore it is simpler and more accurate for
each source to have a generic notice of the license name and references to
more detailed information on copyright holders and full license terms.
Our `Copyright.txt` file now contains a list of Contributors whose names
appeared source-level copyright notices. It also references version control
history for more precise information. Therefore we no longer need to spell
out the list of Contributors in each source file notice.
Replace CMake per-source copyright/license notice headers with a short
description of the license and links to `Copyright.txt` and online information
available from "https://cmake.org/licensing". The online URL also handles
cases of modules being copied out of our source into other projects, so we
can drop our notices about replacing links with full license text.
Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
of the replacements mechanically. Manually fix up shebang lines and trailing
newlines in a few files. Manually update the notices in a few files that the
script does not handle.
|
|
|
|
| |
Suggested-by: Hendrik Sattler <post@hendrik-sattler.de>
|
| |
|
|
|
|
|
|
| |
The fix in commit v3.1.0-rc1~544^2~5 (Windows: Avoid () in environment
variable references, 2014-05-02) introduced a set() command in the
middle of an argument list. Move it to before the find_path() call.
|
|\
| |
| |
| |
| | |
9b2778d4 InstallRequiredSystemLibraries: Update for VS 2015 (#15552)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The part of the MS C Runtime library that applications need to
distribute has been renamed from "msvcr*.dll" to "vcruntime*.dll"
starting with VS 2015. See the Visual C++ Team Blog:
Introducing the Universal CRT
http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx
|
| |
| |
| |
| |
| |
| |
| | |
Fix the logic added by commit v3.0.0-rc5~9^2
(InstallRequiredSystemLibraries: MBCS MFC is optional on VS 12,
2014-05-06). Do not test content of MSVC${v}_MFC_DIR until after the
variable is set.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Previously the module did not support projects using installation
components because install(PROGRAMS) was never called with COMPONENT.
Add an option to specify the COMPONENT so that projects doing this do
not have to resort to using CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP and
writing the install rule by hand.
|
|/ |
|
|
|
|
| |
Add option CMAKE_INSTALL_OPENMP_LIBRARIES to control the behavior.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Call the generator "Visual Studio 14" without any year because this
version of VS does not provide a year in the product name.
Copy cmGlobalVisualStudio12Generator to cmGlobalVisualStudio14Generator
and update version numbers accordingly. Add the VS14 enumeration value.
Teach the platform module Windows-MSVC to set MSVC14 and document the
variable. Teach module InstallRequiredSystemLibraries to look for the VS
14 runtime libraries.
Teach tests CheckCompilerRelatedVariables, VSExternalInclude, and
RunCMake.GeneratorToolset to treat VS 14 as they do VS 10, 11, and 12.
Co-Author: Pawel Stopinski <diokhan@go2.pl>
|
|
|
|
|
|
| |
To be able to include InstallRequiredSystemLibraries more than once
(e.g. to get the Debug and Release libraries separately), clear the
internal library list for non-matching configuration.
|
|
|
|
| |
Use nested variable evaluation instead.
|
|\
| |
| |
| |
| | |
c0a6646d InstallRequiredSystemLibraries: MBCS MFC is optional on VS 12 (#14903)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The MBCS (Multi-Byte Character Set) has been deprecated with VS 2013,
and MSVC no longer ships with an MBCS-version of MFC by default.
However, it can be downloaded as an add-on.
Teach InstallRequiredSystemLibraries to install the MBCS MFC only
for VS < 12 or if it happens to exist on the system.
|