summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* 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-302-0/+20
| | | | | | | | | | | | 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.
* CMake 3.15.2v3.15.2Brad King2019-08-071-1/+1
|
* Merge branch 'doc-relnotes-3.15' into release-3.15Brad King2019-08-071-0/+7
|\ | | | | | | Merge-request: !3664
| * Help: Add 3.15.2 release notesBrad King2019-08-071-0/+7
|/
* 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
* | Merge branch 'find_package-prefer-config-not-found' into release-3.15Brad King2019-08-062-1/+9
|\ \ | | | | | | | | | Merge-request: !3653
| * | find_package: Fix prefer-config mode to not fail on missing optional packageCristian Adam2019-08-062-1/+9
| |/ | | | | | | | | | | | | | | When `CMAKE_FIND_PACKAGE_PREFER_CONFIG` mode was set to `ON`, failure to find a package was fatal even if it was not `REQUIRED`. Fix this and add a test case. Fixes: #19557
* | Merge branch 'clang-frontend-variant' into release-3.15Brad King2019-08-052-0/+32
|\ \ | | | | | | | | | Merge-request: !3650
| * | 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
* | | Merge branch 'fileapi-install-generators' into release-3.15Brad King2019-08-026-8/+58
|\ \ \ | | | | | | | | | | | | Merge-request: !3639
| * | | fileapi: Fix codemodel target install destination for cross-dir rulesBrad King2019-07-316-8/+58
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit e89ad0f94e (install: Allow installing targets created in another directory, 2018-06-18, v3.13.0-rc1~407^2) we support calling `install(TARGETS)` for targets created in another directory. However, install generators are associated with the directory in which the call to `install()` appears. This may not be the same directory in which the target is defined. Record in each target the list of install generators it has. Fixes: #19546
* | | Merge branch 'clang-cl-non-windows' into release-3.15Brad King2019-07-311-1/+1
|\ \ \ | | |/ | |/| | | | Merge-request: !3634
| * | 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 'source_group-tree-files' into release-3.15Brad King2019-07-301-11/+4
|\ \ | | | | | | | | | Merge-request: !3630
| * | source_group: Fix regression in relative FILESBrad King2019-07-301-11/+4
| |/ | | | | | | | | | | | | | | | | | | Fix the check added in commit 8d93815d20 (source_group command ensures that FILES arguments are actually files, 2019-04-25, v3.15.0-rc1~195^2) to convert to an absolute path before checking for existence. Also simplify the conversion to an absolute path. Fixes: #19454
* | Merge branch 'vs-spectre-off' into release-3.15Brad King2019-07-305-5/+50
|\ \ | | | | | | | | | Merge-request: !3629
| * | VS: Fix mapping of `-Qspectre-` flagBrad King2019-07-305-5/+50
| |/ | | | | | | | | | | | | | | | | | | | | | | The mapping for this flag was added by commit 43aa632f57 (VS: Populate `-Qspectre-` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~7). However, it did not do anything because the special logic added by commit bb60ed6e72 (VS: Add flag table entry for -Qspectre, 2018-10-08, v3.13.0-rc1~4^2) to move the `SpectreMitigation` element from `ClCompile` to the top level only handled the presence of the setting and not its value. Extend the special logic to carry the value too. Fixes: #19535
* | Merge branch 'swift-with-interface-libs' into release-3.15Brad King2019-07-292-8/+12
|\ \ | |/ |/| | | Merge-request: !3624
| * Swift: Restore support for enabling with INTERFACE librariesBrad King2019-07-292-8/+12
|/ | | | | | | | | | | The check added in commit b06f4c8a74 (Swift: disallow WIN32_EXECUTABLE properties, 2019-05-31, v3.15.0-rc1~9^2) makes sense only for executables because the `WIN32_EXECUTABLE` property is defined only for them. Running the check on other target types, particularly those that do not link such as INTERFACE libraries, violates internal assumptions. In particular, `GetLinkerLanguage` should not be called on such targets. Fixes: #19528
* CMake 3.15.1v3.15.1Brad King2019-07-261-1/+1
|
* Merge branch 'doc-relnotes-3.15' into release-3.15Brad King2019-07-261-0/+17
|\ | | | | | | Merge-request: !3608
| * Help: Add 3.15.1 release notesBrad King2019-07-261-0/+17
|/
* 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 'makefile-depend-relative-include' into release-3.15Brad King2019-07-257-4/+47
|\ \ | | | | | | | | | Merge-request: !3599
| * | Makefile: Fix regression in dependencies on relative includesBrad King2019-07-247-4/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'backport-clang-gnulike-support' into release-3.15Brad King2019-07-2420-43/+42
|\ \ \ | | | | | | | | | | | | Merge-request: !3592
| * | | Tests: Revert "require C++14 for the Tutorial"Brad King2019-07-2413-13/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Clang: For MSVC ABI do not use modes older than C++14Brad King2019-07-247-30/+15
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'fix-emulator-arguments' into release-3.15Brad King2019-07-232-1/+4
|\ \ \ | | | | | | | | | | | | Merge-request: !3591
| * | | Fix allocation in CROSSCOMPILING_EMULATOR evaluationMarek Antoniak2019-07-232-1/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 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 'ctest-done-hash' into release-3.15Brad King2019-07-191-9/+9
|\ \ \ | | | | | | | | | | | | Merge-request: !3563
| * | | CTest: Generate Done.xml before calculating its hashBetsy McPhail2019-07-191-9/+9
| |/ / | | | | | | | | | Fixes: #19489
* | | Merge branch 'msvc-runtime-library-doc' into release-3.15Brad King2019-07-193-1/+11
|\ \ \ | | | | | | | | | | | | Merge-request: !3573
| * | | MSVC: Document behavior when MSVC_RUNTIME_LIBRARY is not setBrad King2019-07-193-1/+11
| |/ / | | | | | | | | | | | | By default `CMAKE_MSVC_RUNTIME_LIBRARY` is not set. Document the default runtime library selection in that case. We already test it.
* | | Merge branch 'vs-asmlist-dir' into release-3.15Brad King2019-07-182-4/+2
|\ \ \ | | | | | | | | | | | | Merge-request: !3569
| * | | VS: Place intermediate files in the "ASM List Location" next to objectsBrad King2019-07-182-4/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'backport-swift-improvements' into release-3.15Brad King2019-07-185-15/+72
|\ \ \ | | | | | | | | | | | | 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.