summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'backport-3.15-vs-v142-version' into release-3.15Brad King2019-12-121-3/+4
|\ | | | | | | Merge-request: !4133
| * VS: Fix support for v142 toolset minor versions in VS 16.5+Brad King2019-12-121-3/+4
| | | | | | | | | | | | | | | | | | | | The fix in commit 5117389931 (VS: Fix support for v142 toolset minor versions, 2019-10-01, v3.15.5~6^2) worked around a bug in VS's placement of toolset files. VS 16.5 will fix that bug and restore the original pattern for locations of toolset files. Update our logic to look for both possibilities. Issue: #19779
* | Merge branch 'backport-3.15-FindGTK2-harfbuzz' into release-3.15Brad King2019-12-091-0/+3
|\ \ | | | | | | | | | Merge-request: !3877
| * | FindGTK2: Add harfbuzz to GTK2_INCLUDE_DIRSMarkus Mittendrein2019-12-091-0/+3
| | | | | | | | | | | | Fixes: #19531
* | | Merge branch 'backport-implicit-includes-extra-CR' into release-3.15Brad King2019-11-261-1/+1
|\ \ \ | | | | | | | | | | | | Merge-request: !4088
| * | | CMakeParseImplicitIncludeInfo: Remove all CR chars from compiler outputBrad King2019-11-251-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | With Clang/LLVM on MinGW, lines ending in `\r\r\n` have been observed. Filter out all `\r` characters from these line endings. Fixes: #20021
* | | Merge branch 'backport-FindBoost-meta-component-ALL' into release-3.15Brad King2019-11-071-0/+3
|\ \ \ | | | | | | | | | | | | Merge-request: !4008
| * | | FindBoost: Prevent warning due to new meta-component "ALL" of Boost 1.73Deniz Bahadir2019-11-071-0/+3
| |/ /
* | | Merge branch 'backport-findpostgres-10-and-older' into release-3.15Brad King2019-11-071-5/+16
|\ \ \ | |/ / |/| | | | | Merge-request: !4007
| * | FindPostgreSQL: support version encoding used in pre-10 releasesBen Boeckel2019-11-071-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | With the 10.x release, PostgreSQL upstream started encoding the version as `MMmmmm` where `M` is major and `m` is minor. Prior to that, `MMmmPP` was used where `P` was the patch number. Detect this difference and decode it based on the used encoding. Fixes: #19912
| * | Merge branch 'FindBISON-CMP0088-SourcePath' into release-3.14Brad King2019-07-121-3/+9
| |\ \ | | | | | | | | | | | | Merge-request: !3549
| * \ \ Merge branch 'backport-implicit-includes-cray-hlist' into release-3.14Brad King2019-07-091-2/+2
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !3532
* | \ \ \ Merge branch 'InstallRequiredSystemLibraries-redist' into release-3.15Brad King2019-10-111-0/+7
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !3909
| * | | | | IRSL: Install vcruntime140_1.dll if availableBrad King2019-10-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VS 2019 now distributes this additional runtime DLL with its `14.2x` toolsets. Fixes: #19829
| * | | | | IRSL: Prefer MSVC runtime libraries from newest toolset firstBrad King2019-10-111-0/+1
| | | | | |
* | | | | | VS: Fix support for v142 toolset minor versionsBrad King2019-10-011-1/+7
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using `-T v142,version=14.22` the `.props` file location is different starting with version `14.20` than it was in `14.16` and below. Adapt the path based on the version. Fixes: #19779
* | | | | Merge branch 'FindBoost-1.71' into release-3.15Brad King2019-09-041-9/+15
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !3780
| * | | | | FindBoost: Tolerate future Boost INTERFACE librariesBrad King2019-09-041-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 0dd6772a89 (FindBoost: Add legacy variables and targets for compatibility, 2019-06-14, v3.15.0-rc2~3^2~1) we query imported targets provided by `BoostConfig.cmake` for their `IMPORTED_LOCATION_<cfg>`. Querying this property is not allowed on INTERFACE libraries, so add a condition to avoid doing so in case Boost adds one in the future. Suggested-by: Alexander Grund <alexander.grund@tu-dresden.de> Issue: #19656, #19402
| * | | | | FindBoost: Clarify role of legacy variables in warning messageBrad King2019-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revise the wording of the warning added by commit 0dd6772a89 (FindBoost: Add legacy variables and targets for compatibility, 2019-06-14, v3.15.0-rc2~3^2~1) to refer to the old variables as "legacy" rather than "standard". Suggested-by: Alexander Grund <alexander.grund@tu-dresden.de> Issue: #19402
* | | | | | Merge branch 'FindBoost-1.71' into release-3.15Brad King2019-08-301-18/+31
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | Merge-request: !3763
| * | | | | FindBoost: Add support for Boost 1.71Brad King2019-08-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run `Utilities/Scripts/BoostScanDeps.cmake` with the Boost 1.71.0 sources to compute dependencies. They are the same as Boost 1.70. Fixes: #19658
| * | | | | FindBoost: Unwrap compatibility INTERFACE targets for legacy variablesBrad King2019-08-301-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 0dd6772a89 (FindBoost: Add legacy variables and targets for compatibility, 2019-06-14, v3.15.0-rc2~3^2~1) we extract information from imported targets provided by upstream `BoostConfig.cmake` files. However, upstream Boost 1.71 provides some imported targets only for compatibility. They are just INTERFACE libraries that wrap around the real target named by `INTERFACE_LINK_LIBRARIES`. Unwrap this layer so we can extract the real imported location. Fixes: #19656
| * | | | | FindBoost: Remove incorrect 1.70 timer dependencyBrad King2019-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running `Utilities/Scripts/BoostScanDeps.cmake` with the Boost 1.70.0 sources shows that the `timer` component no longer depends on `system`. This is consistent with upstream Boost Timer commit `43eecbd071`.
| * | | | | FindBoost: Simplify conditional block for last known versionBrad King2019-08-301-16/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A version newer than we know about will be large enough to enter the block for the last known version so we can put the warning there.
* | | | | | Merge branch 'CrayPrgEnv-update-link-type-detection' into release-3.15Brad King2019-08-221-3/+17
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3716
| * | | | | | CrayPrgEnv: Change default linking mode based on PE versionChuck Atkins2019-08-221-3/+17
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Beginning with the 19.06 release of the Cray Programming Environment, the default linking mode on XC Cray systems is dynamic instead of static. This updates the CrayPrgEnv compiler wrappers to detect the PE version being used and behave accordingly.
* | | | | | Merge branch 'FindMPI-restore-flag-vars' into release-3.15Brad King2019-08-211-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3710
| * | | | | | FindMPI: Restore MPI_<LANG>_COMPILE_FLAGS and MPI_<LANG>_COMPILE_OPTIONSRobert Maynard2019-08-211-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit e374b9f1eb (FindMPI: Restore MPI_<LANG>_COMPILE_FLAGS as a command-line string, 2018-09-10, v3.12.3~6^2) we tried to restore the compile flags but accidentally inverted the arguments to `list(JOIN)` causing both `MPI_<LANG>_COMPILE_FLAGS` and `MPI_<LANG>_COMPILE_OPTIONS` to be empty. Issue: #18349
* | | | | | Flang: Implement MSVC runtime library abstractionBrad King2019-08-091-0/+5
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit fb3370b6a1 (MSVC: Add abstraction for runtime library selection, 2019-04-10, v3.15.0-rc1~229^2) we overlooked updating flags for Flang on Windows. Add them now and update the MSVCRuntimeLibrary Fortran test to work with Flang. Base the flags on those we already use for the GNU-like Clang targeting the MSVC ABI. Fixes: #19583
* | | | | Merge branch 'FindGLEW-macOS' into release-3.15Brad King2019-08-061-3/+34
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !3656
| * | | | | FindGLEW: Fix typo in verbose log messageClaudio Fantacci2019-08-061-1/+1
| | | | | |
| * | | | | FindGLEW: Add required OpenGL dependency in macOSClaudio Fantacci2019-08-061-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | macOS requires OpenGL as INTERFACE_LINK_LIBRARIES dependency in the GLEW targets. This commit fixes this issue.
| * | | | | FindGLEW: Fix macOS library suffix selectionClaudio Fantacci2019-08-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | clang: Work around toolchain file use of internal CMake variablesBrad King2019-08-052-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d44c0db0b2 (clang: setup correct configuration in gnu mode, 2019-02-20, v3.15.0-rc1~41^2~5) our Clang compiler information modules need the `CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT` variable that we compute during compiler detection. However, some existing toolchain files set our internal `CMAKE_<LANG>_COMPILER_ID_RUN` variables and block that detection, but do not set the new frontend variant variable. Help them out by setting `CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT` anyway. Fixes: #19515, #19539
* | | | | | clang: Restore support for clang-cl on non-Windows hostsBrad King2019-07-311-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The frontend variant detection logic added by commit 53fbe23f3f (clang: introduce CMAKE_<lang>_COMPILER_FRONTEND_VARIANT, 2019-02-20, v3.15.0-rc1~41^2~8) assumes that `clang-cl` only runs on a Windows host. It is also available on non-Windows hosts. Fix the condition. Fixes: #19544
* | | | | Merge branch 'FindMPI-link-flags' into release-3.15Brad King2019-07-251-5/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !3605
| * | | | | FindMPI: make sure computed link flags are not de-duplicatedRobert Maynard2019-07-251-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | FindMPI: Updated to use INTERFACE_LINK_OPTIONSRobert Maynard2019-06-241-3/+2
| | | | | |
* | | | | | Merge branch 'backport-clang-gnulike-support' into release-3.15Brad King2019-07-241-0/+7
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3592
| * | | | | | Clang: For MSVC ABI do not use modes older than C++14Brad King2019-07-241-0/+7
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'InstallRequiredSystemLibraries-redist' into release-3.15Brad King2019-07-221-6/+14
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3585
| * | | | | | IRSL: Fix discovery of VS 2019 v141 toolset redistributablesJames Butler2019-07-221-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | | IRSL: Fix typo in v143 toolset version checkJames Butler2019-07-221-2/+2
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'backport-swift-improvements' into release-3.15Brad King2019-07-181-4/+19
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3568
| * | | | | | Swift: support SONAME on ELFish targetsSaleem Abdulrasool2019-07-181-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should enable the soname to be setup for ELF shared libraries. Failure to do so generates binaries with incorrect names which prevents loading.
| * | | | | | Swift: support multithreaded compilationSaleem Abdulrasool2019-07-181-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Query the number of logical CPUs available to enable parallel compilation for Swift.
| * | | | | | Swift: add rules for static linkingSaleem Abdulrasool2019-07-181-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | Support per-language library link flagsSaleem Abdulrasool2019-07-181-0/+2
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | FindPython: ensure interpreter is founded when cross-compilingMarc Chevrier2019-07-181-11/+10
|/ / / / / | | | | | | | | | | | | | | | Fixes: #19473
* | | | | Merge branch 'FindBISON-CMP0088-SourcePath' into release-3.15Brad King2019-07-121-3/+9
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | Merge-request: !3549