summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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.
| * | Swift: support multithreaded compilationSaleem Abdulrasool2019-07-183-6/+19
| | | | | | | | | | | | | | | 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.
| * | Swift: Add library search paths for dependenciesSaleem Abdulrasool2019-07-181-7/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Support per-language library link flagsSaleem Abdulrasool2019-07-182-4/+19
| |/ | | | | | | | | | | | | | | | | | | 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 branch 'FindPython-interpreter-crosscompiling' into release-3.15Brad King2019-07-181-11/+10
|\ \ | |/ |/| | | Merge-request: !3564
| * FindPython: ensure interpreter is founded when cross-compilingMarc Chevrier2019-07-181-11/+10
|/ | | | Fixes: #19473
* CMake 3.15.0v3.15.0Brad King2019-07-171-1/+1
|
* Merge branch 'find_package-fix-NO_MODULE' into release-3.15Brad King2019-07-164-2/+38
|\ | | | | | | Merge-request: !3557
| * find_package: Fix NO_MODULE under CMAKE_FIND_PACKAGE_PREFER_CONFIGCristian Adam2019-07-164-2/+38
| | | | | | | | | | | | | | | | | | | | | | 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 branch 'FindBISON-CMP0088-SourcePath' into release-3.15Brad King2019-07-122-3/+17
|\ \ | | | | | | | | | Merge-request: !3549
| * | FindBISON: Fix CMP0088 NEW behavior for non-absolute input pathsBrian Carlson2019-07-122-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'object-library-sbcs' into release-3.15Brad King2019-07-121-1/+1
|\ \ \ | | | | | | | | | | | | Merge-request: !3537
| * | | VS: Fix SBCS support for object librariesBrad King2019-07-121-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | 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 branch 'fortran-submodule-cray' into release-3.15Brad King2019-07-112-1/+9
|\ \ \ | |/ / |/| | | | | Merge-request: !3504
| * | Fortran: Add support for submodules on CrayWillem Deconinck2019-07-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Fortran: Support compilers using no module prefix on submodule filesWillem Deconinck2019-07-081-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | CMake 3.15.0-rc4v3.15.0-rc4Brad King2019-07-101-1/+1
| | |
* | | Merge branch 'implicit-includes-cray-hlist' into release-3.15Brad King2019-07-108-2/+167
|\ \ \ | | | | | | | | | | | | Merge-request: !3532
| * \ \ Merge branch 'backport-implicit-includes-cray-hlist'Brad King2019-07-098-2/+167
| |\ \ \
| | * | | Cray: Fix include parsing when the -hlist= flag is presentChuck Atkins2019-07-098-2/+167
| | | |/ | | |/| | | | | | | | | | | | | | | | | 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 branch 'cuda-imported-library-device-linking' into release-3.15Brad King2019-07-101-6/+11
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3526
| * | | | CUDA: Restore device linking to imported static library targetsRobert Maynard2019-07-091-6/+11
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | 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 topic 'docs-message-cmake-gui' into release-3.15Craig Scott2019-07-101-6/+6
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3523
| * | | | message() help: Clarify how logs are displayed in various toolsFrank Dana2019-07-091-6/+6
|/ / / /
* | | | Merge branch 'ccmake-clear-aliases' into release-3.15Brad King2019-07-091-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3529
| * | | | cmGlobalGenerator: Do not persist alias targets across configuresBrad King2019-07-081-0/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In `ccmake` a single global generator instance may be used for multiple configure step runs. The `cmGlobalGenerator::ClearGeneratorMembers` method is supposed to clear global state that is specific to each configure run but forgot to clear alias targets. Fixes: #19457
* | | | Merge branch 'iar-riscv' into release-3.15Brad King2019-07-097-3/+20
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3510
| * | | | IAR: Add support for the RISC-V compilerStefan Andersson2019-07-087-3/+20
| |/ / /
* | | | Merge branch 'loglevel-option-case-consistency' into release-3.15Craig Scott2019-07-092-3/+3
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3521
| * | | | Help: Use consistent levels for cmake --loglevel and message()Craig Scott2019-07-082-3/+3
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The message() command requires uppercase log levels. Even though the cmake --loglevel option is not case sensitive, show the supported values as uppercase to match the message() docs as closely as possible, since they are related to the same feature. Also fixes the wrong string being shown for the warning level by cmake --help.
* | | | Merge branch 'docs-misc-trivial-cleanups' into release-3.15Craig Scott2019-07-045-39/+39
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3498
| * | | | Help: Remove mention of CMAKE_INSTALL_DO_STRIPCraig Scott2019-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It isn't yet clear whether we want to make this part of the documented API for the install script. Remove it from the docs before it appears in an official release for now. Relates: #18997