summaryrefslogtreecommitdiffstats
path: root/Modules/InstallRequiredSystemLibraries.cmake
Commit message (Collapse)AuthorAgeFilesLines
* IRSL: Update redist directory for VS 2019 update 1Brad King2019-04-151-2/+5
| | | | | | | | 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
* IRSL: Fix discovery of VS 2019 v142 toolset redistributablesBrad King2019-04-041-9/+14
| | | | | | | | | 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
* Merge topic 'irsl-ucrt-version'Brad King2018-11-201-3/+19
|\ | | | | | | | | | | | | 01c7d9ce86 IRSL: Detect versioned Windows Universal CRT directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2637
| * IRSL: Detect versioned Windows Universal CRT directoriesBrad King2018-11-191-3/+19
| | | | | | | | | | | | | | Windows SDK version 10.0.17763.0 now places the uCRT libraries in a versioned directory. Fixes: #18603
* | Help: Convert remaining modules to block-style commentsKitware Robot2018-10-221-54/+55
|/
* Fix misc. typosluz.paz2018-10-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ```
* Merge topic 'irsl-fortran-only-linux'Brad King2018-05-141-8/+10
|\ | | | | | | | | | | | | 05ece372a6 IRSL: Fix Intel library list for ifort-only setups Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2061
| * IRSL: Fix Intel library list for ifort-only setupsChristian Pfeiffer2018-05-111-8/+10
| | | | | | | | Fixes: #17727
* | Merge topic 'InstallRequiredSystemLibraries-mfcm'Brad King2018-04-191-0/+8
|\ \ | | | | | | | | | | | | | | | | | | bdf660cab5 InstallRequiredSystemLibraries: Check for existence of mfcm dlls Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1980
| * | InstallRequiredSystemLibraries: Check for existence of mfcm dllsChristof Krüger2018-04-181-0/+8
| |/ | | | | | | | | | | | | | | | | 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
* | Modules: Use MSVC_TOOLSET_VERSION variable to simplify logicArkady Shapkin2018-04-041-75/+30
|/
* Merge topic 'irsl-intel-fortran-only-fix'Brad King2017-12-141-5/+8
|\ | | | | | | | | | | | | 7d1ed84c IRSL: Skip libgfxoffload if no Intel C++ is used Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1589
| * IRSL: Skip libgfxoffload if no Intel C++ is usedChristian Pfeiffer2017-12-121-5/+8
| | | | | | | | | | | | | | `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
* | Merge topic 'irsl-msvc-omp-fix'Brad King2017-12-131-2/+7
|\ \ | |/ |/| | | | | | | | | 4dae55fb IRSL: Fix MSVC variable deferencing Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1588
| * IRSL: Fix MSVC variable deferencingChristian Pfeiffer2017-12-121-2/+7
| | | | | | | | Fixes: #17529
* | IRSL: Install the 1041 folder for Intel compilersChristian Pfeiffer2017-11-201-1/+4
|/ | | | | | | | | 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.
* IRSL: Add support for the 2018 release on Windows.Christian Pfeiffer2017-11-061-3/+5
| | | | Fixes: #17421
* Merge branch 'backport-irsl-vs15-future' into irsl-vs15-futureBrad King2017-09-061-19/+16
|\
| * InstallRequiredSystemLibraries: Add support for future VS 2017 toolchainsBrad King2017-09-061-19/+16
| | | | | | | | | | | | Assume that all cl 19.xx versions will use the same runtime DLL pattern. Suggested-by: Tomasz Słodkowicz <slodki@users.noreply.github.com>
* | IRSL: Add Intel compiler supportChristian Pfeiffer2017-08-301-2/+133
| | | | | | | | | | Fixes: #16891 Fixes: #9903
* | IRSL: Install VC++ OpenMP libraries only for MSVCChristian Pfeiffer2017-08-231-1/+8
|/ | | | | | 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.
* InstallRequiredSystemLibraries: Find VS 2017 Update 3 redist directoryBrad King2017-08-211-3/+13
| | | | | | Add compiler version 19.11 to our table. Fixes: #17184
* InstallRequiredSystemLibraries: Factor redist name into variableBrad King2017-08-211-8/+18
| | | | | | 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.
* VS: Add an environment variable for the Windows 10 kits directoryBrad King2017-04-121-0/+6
| | | | | | | | | | | | | | | | | 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
* InstallRequiredSystemLibraries: Find VS 2017 redist directoryBrad King2017-03-271-0/+5
| | | | | | | | 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
* InstallRequiredSystemLibraries: Split VS 2017 search pathsBrad King2017-03-271-7/+14
| | | | | | 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.
* InstallRequiredSystemLibraries: Add support for VS 2017Brad King2017-03-231-5/+23
| | | | | | | | | | | | | | | 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
* InstallRequiredSystemLibraries: Split MFC redist dir variableBrad King2017-03-231-3/+5
|
* InstallRequiredSystemLibraries: Split VS IDE and DLL versionsBrad King2017-03-231-66/+86
| | | | Refactor MSVC logic to split the IDE and DLL version variables.
* InstallRequiredSystemLibraries: Drop version from variable namesBrad King2017-03-221-122/+123
| | | | | | 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.
* InstallRequiredSystemLibraries: Refactor to avoid macrosBrad King2017-03-221-58/+54
| | | | | | 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.
* InstallRequiredSystemLibraries: Use `MSVC_VERSION` instead of `MSVC##`Brad King2017-03-221-22/+22
| | | | Issue: #16735
* Merge topic 'InstallRequiredSystemLibraries-UCRT-configs'Brad King2017-01-121-8/+14
|\ | | | | | | | | e0ed1de4 InstallRequiredSystemLibraries: Distinguish UCRT install configurations
| * InstallRequiredSystemLibraries: Distinguish UCRT install configurationsBjoern Thiel2017-01-111-8/+14
| | | | | | | | | | | | | | | | Teach the `CMAKE_INSTALL_UCRT_LIBRARIES` feature to honor the `CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY` and `CMAKE_INSTALL_DEBUG_LIBRARIES` settings. Closes: #16542
* | InstallRequiredSystemLibraries: Add concrt*.dll for VC >= 14.0Taylor Braun-Jones2016-12-161-2/+8
|/ | | | Fixes #16513
* Simplify CMake per-source license noticesBrad King2016-09-271-13/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* InstallRequiredSystemLibraries: Document UCRT option use caseBrad King2016-06-301-2/+2
| | | | Suggested-by: Hendrik Sattler <post@hendrik-sattler.de>
* InstallRequiredSystemLibraries: Optionally install Windows UCRT (#16073)Brad King2016-05-121-0/+23
|
* InstallRequiredSystemLibraries: Fix ENV{ProgramFiles(x86)} referenceBrad King2016-05-121-1/+1
| | | | | | 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.
* Merge topic 'InstallRequiredSystemLibraries-vs2015'Brad King2015-05-051-2/+10
|\ | | | | | | | | 9b2778d4 InstallRequiredSystemLibraries: Update for VS 2015 (#15552)
| * InstallRequiredSystemLibraries: Update for VS 2015 (#15552)Brad King2015-05-041-2/+10
| | | | | | | | | | | | | | | | | | 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
* | InstallRequiredSystemLibraries: Fix MBCS MFC detection (#15531)Bjoern Thiel2015-04-271-7/+2
| | | | | | | | | | | | | | 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.
* | InstallRequiredSystemLibraries: Add option to specify install COMPONENTJohan Andruejol2015-03-031-2/+12
| | | | | | | | | | | | | | | | 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.
* | InstallRequiredSystemLibraries: Format documentationBrad King2015-03-031-25/+34
|/
* InstallRequiredSystemLibraries: Install OpenMP runtime libs (#15117)Gregory Sharp2014-09-021-0/+36
| | | | Add option CMAKE_INSTALL_OPENMP_LIBRARIES to control the behavior.
* VS14: Add Visual Studio 14 generator (#14982)Brad King2014-06-251-0/+8
| | | | | | | | | | | | | | | | 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>
* InstallRequiredSystemLibraries: Allow repeat use per-configBjoern Thiel2014-06-161-0/+6
| | | | | | 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.
* Windows: Avoid () in environment variable referencesBen Boeckel2014-05-081-1/+2
| | | | Use nested variable evaluation instead.
* Merge topic 'InstallRequiredSystemLibraries-vs12-mfc'Brad King2014-05-071-4/+21
|\ | | | | | | | | c0a6646d InstallRequiredSystemLibraries: MBCS MFC is optional on VS 12 (#14903)
| * InstallRequiredSystemLibraries: MBCS MFC is optional on VS 12 (#14903)Felix Krause2014-05-061-4/+21
| | | | | | | | | | | | | | | | | | 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.