summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* C++ feature checks: Match warnings more strictlyBrad King2019-03-071-1/+1
| | | | | | | | Require the word "warning" to appear at the start of a line, after whitespace, or after a `:`. This is the same that CTest launchers use to match warnings. It avoids matching "warning" inside file paths. Fixes: #19019
* CMake 3.14.0-rc3v3.14.0-rc3Brad King2019-03-011-1/+1
|
* Merge branch 'findjni-paths' into release-3.14Brad King2019-03-011-52/+47
|\ | | | | | | Merge-request: !3042
| * FindJNI: Unify path search, fix support for Java 9Christian Pfeiffer2019-03-011-52/+47
| | | | | | | | | | | | | | | | | | | | | | Java 9 restructured the standard location of the AWT libraries due to the removal of the JRE/JDK separation. We should check all possible combinations of subdirectories to the Java root directories to ensure that the libraries will be found after an upgrade. Furthermore, a root directory would contain both, include and library paths, so the search should be unified to ease maintenance on the module.
* | Merge branch 'ExternalProject-fix-log-in-custom-stamp' into release-3.14Brad King2019-03-011-2/+14
|\ \ | | | | | | | | | Merge-request: !3045
| * | ExternalProject: Restore default log dir with custom stamp dirBrad King2019-03-011-2/+14
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | In commit b6f6cac378 (ExternalProject: add LOG_DIR option that allows overriding of log location, 2018-10-12, v3.14.0-rc1~515^2~1) the log directory got its own option. The intention was to fall back to the stamp directory by default. However, the implementation actually only falls back to the same default as the stamp directory and does not consider a custom stamp dir. Update the default log dir computation to fall back to whatever is the final selection for the stamp dir. Fixes: #19000
* | Merge branch 'cuda_device_link_handle_frameworks' into release-3.14Brad King2019-03-011-0/+12
|\ \ | | | | | | | | | Merge-request: !3039
| * | CUDA: Filter out -framework arguments during device linkingRobert Maynard2019-02-281-0/+12
| |/ | | | | | | | | | | | | | | | | The filter in commit e768d96c74 (CUDA: Filter out host link flags during device linking, 2018-10-22, v3.13.0-rc2~4^2~2^2) removes `-framework` but not the framework name that comes after it. Revise the logic to remove both. Fixes: #18911
* | Merge branch 'vs2019' into release-3.14Brad King2019-02-282-9/+1
|\ \ | | | | | | | | | Merge-request: !3044
| * | Help: Update VS 2019 generator release note for preview 4Brad King2019-02-281-1/+1
| | |
| * | VS: Drop workaround needed only for VS 2019 preview 2 and 3Brad King2019-02-281-8/+0
| |/ | | | | | | | | | | | | | | A temporary workaround added by commit 626c51f47b (VS: Update for Visual Studio 2019 Preview 2, 2019-01-24, v3.14.0-rc1~74^2) is no longer needed as of VS 2019 preview 4. Fixes: #18898
* | Merge branch 'backport-check-std-size-cbegin-cend' into release-3.14Brad King2019-02-272-2/+18
|\ \ | | | | | | | | | Merge-request: !3030
| * | Extend C++17/C++14 feature checks to cover more standard library APIsMathieu Garaud2019-02-272-2/+18
| |/ | | | | | | | | | | | | Make sure `std::cbegin`, `std::cend`, and `std::size` work in C++17 or C++14 mode before choosing the corresponding standard level for compiling CMake itself. This helps in cases that the compiler is using a standard library too old to support the full standard level chosen.
* | Merge branch 'FindThreads-revert-libc-check' into release-3.14Brad King2019-02-271-11/+3
|\ \ | | | | | | | | | Merge-request: !3022
| * | FindThreads: Revert libc symbol check to pthread_createBrad King2019-02-271-13/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit e9a1ddc594 (FindThreads: Replace the pthread symbol checking in libc., 2018-11-18, v3.14.0-rc1~292^2) we check libc for `pthread_kill` instead of `pthread_create`. However, on FreeBSD `pthread_kill` is in libc but not `pthread_create`. Discussion in the original merge request for the above commit also considered `pthread_key_create`, `pthread_self`, and `pthread_attr_init`. Every symbol seems to have some reason it is not an appropriate choice. Revert to the pre-3.14 behavior of using `pthread_create` pending further investigation.
| * | FindThreads: Fix libc check to use proper header for pthread_killBrad King2019-02-261-2/+4
| |/ | | | | | | | | | | | | | | | | | | | | In commit e9a1ddc594 (FindThreads: Replace the pthread symbol checking in libc., 2018-11-18, v3.14.0-rc1~292^2) we switched to checking for `pthread_kill` in libc but did not update the symbol check's header file to match. Add `signal.h` to get `pthread_kill`. Keep `pthread.h` anyway since the purpose of the check is to verify that the pthread API works. Fixes: #18984
* | Merge branch 'cmake_role-vs-fix' into release-3.14Brad King2019-02-273-1/+8
|\ \ | | | | | | | | | Merge-request: !3028
| * | CMAKE_ROLE: Fix value in --build for Visual Studio generatorsKyle Edwards2019-02-263-1/+8
| | | | | | | | | | | | Fixes: #18990
* | | Merge branch 'docs-rpath-origin-apple' into release-3.14Brad King2019-02-271-7/+7
|\ \ \ | | | | | | | | | | | | Merge-request: !3020
| * | | Help: Fix minor inaccuracies of what BUILD_RPATH_USE_ORIGIN affectsCraig Scott2019-02-271-7/+7
| | |/ | |/|
* | | Merge branch 'FindOctave-remove' into release-3.14Brad King2019-02-2710-266/+0
|\ \ \ | | | | | | | | | | | | Merge-request: !3027
| * | | FindOctave: Remove module pending further workBrad King2019-02-2610-266/+0
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `FindOctave` module added by commit 170bcb6fdc (FindOctave: Add module to find GNU octave, 2018-11-17, v3.14.0-rc1~283^2) has a few problems in its implementation that need to be worked out before the module can be included in a CMake release. These were missed during review. Remove the module for now. It can be restored later with a fresh review. Issue: #18991
* | | Merge branch 'include_external_msproject-exclude-from-all' into release-3.14Brad King2019-02-271-1/+3
|\ \ \ | | | | | | | | | | | | Merge-request: !3025
| * | | include_external_msproject: Restore support for EXCLUDE_FROM_ALLBrad King2019-02-261-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) all `AddNewTarget` call sites were updated to copy the directory-level `EXCLUDE_FROM_ALL` into the target property of the same name, except that the one for `include_external_msproject` was incorrectly missed. Add it now. Furthermore, refactoring in commit b99129d2d8 (ENH: some code cleanup, 2007-03-12, v2.6.0~2020) accidentally set the `EXCLUDE_FROM_ALL` target property of `include_external_msproject`-generated targets to `FALSE` instead of simply leaving it unset. This was not necessary but had no effect until the above commit gave it a meaning. Drop that. Fixes: #18986
* | | | Merge branch 'vs-llvm-extension' into release-3.14Brad King2019-02-271-2/+9
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3024
| * | | | VS: Fix detection of clang-cl with -T llvmBrad King2019-02-261-2/+9
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using a VS generator with `-T llvm`, MSBuild relies on the "LLVM Compiler Toolchain" VS Extension. This does not put `clang-cl` in the `PATH` inside the build, and LLVM no longer provides a `cl` replacement either. Therefore we need another way to extract the path to the `CMAKE_{C,CXX}_COMPILER`. Fortunately the LLVM VS integration provides a `$(ClangClExecutable)` macro we can reference to get the path. Fixes: #18983
* | | | Merge branch 'restore-min-cmake-3.1' into release-3.14Brad King2019-02-271-3/+3
|\ \ \ \ | |_|_|/ |/| | | | | | | Merge-request: !3021
| * | | Tests: Restore support for CMake 3.1 through 3.6 with MSVCBrad King2019-02-261-3/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | The change in commit a5dd159990 (Tests: Fix RunCMake.try_compile CxxStandard case on MSVC, 2017-09-22, v3.10.0-rc1~63^2) introduced use of `if()` conditions not supported until CMake 3.7, so while it was intended to restore support for CMake versions prior to 3.9, it actually only did so for 3.7 and 3.8. Backport the logic to work with CMake 3.1. Fixes: #18987
* | | Merge branch 'doc-ctest-build-and-test-summary' into release-3.14Brad King2019-02-261-2/+3
|\ \ \ | | | | | | | | | | | | Merge-request: !3017
| * | | Help: Fix --build-and-test synopsis in ctest(1)Paul Seyfert2019-02-261-2/+3
| |/ / | | | | | | | | | | | | | | | The synopsis added by commit 9d3aa95ca4 (Help: Divide ctest(1) manual options into sections, 2017-11-08, v3.11.0-rc1~359^2~2) is missing the actual `--build-and-test` argument! Add it now.
* | | Merge branch 'qcc-asm-detection' into release-3.14Brad King2019-02-252-0/+6
|\ \ \ | | | | | | | | | | | | Merge-request: !3016
| * | | Add ASM Compiler detection for QCCMaikel van den Hurk2019-02-252-0/+6
| | | |
* | | | Merge branch 'releasenotes_arch_independent' into release-3.14Brad King2019-02-251-0/+5
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3012
| * | | | Help: Add release note for new ARCH_INDEPENDENT optionCraig Scott2019-02-241-0/+5
| | |/ / | |/| |
* | | | Merge branch 'docs_try_commands' into release-3.14Brad King2019-02-252-25/+33
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3013
| * | | | Help: Caveat for try_compile() and CMAKE_TRY_COMPILE_PLATFORM_VARIABLESCraig Scott2019-02-241-1/+3
| | | | |
| * | | | Help: Consistency in try_compile() docs for target typeCraig Scott2019-02-241-8/+14
| | | | |
| * | | | Help: try_compile() readability and grammar improvementsCraig Scott2019-02-241-6/+6
| | | | |
| * | | | Help: User-provided variable names for try_* commandsCraig Scott2019-02-242-12/+12
| |/ / / | | | | | | | | | | | | | | | | All uppercase is typically used for command keywords. Non-keyword arguments should generally be shown as `<something>` according to the CMake documentation guide.
* | | | Merge branch 'check_lang_source_runs_output' into release-3.14Brad King2019-02-252-2/+12
|\ \ \ \ | |_|_|/ |/| | | | | | | Merge-request: !3011
| * | | CheckLangSourceRuns: Capture run output to log filesCraig Scott2019-02-232-2/+12
| |/ / | | | | | | Fixes: #18973
* | | Merge branch 'remove-exclude-from-all-warning' into release-3.14Brad King2019-02-225-20/+14
|\ \ \ | | | | | | | | | | | | Merge-request: !3002
| * | | EXCLUDE_FROM_ALL: Don't warn if installing target excluded from allCraig Scott2019-02-215-20/+14
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | The original warning pre-dates support for install components. There are now legitimate scenarios where an install(TARGETS) command may list a target that is excluded from all, e.g. hierarchical projects that will never install the component such a target belongs to. Fixes: #18938
* | | Merge branch 'link-options' into release-3.14Brad King2019-02-202-18/+8
|\ \ \ | | | | | | | | | | | | Merge-request: !2996
| * | | PIE link options: No warning when policy CMP0083 is not set.Marc Chevrier2019-02-202-18/+8
| |/ / | | | | | | | | | Fixes: #18955
* | | Merge branch 'fix-implicit-includes-fortran' into release-3.14Brad King2019-02-202-10/+21
|\ \ \ | | | | | | | | | | | | Merge-request: !2994
| * | | Fortran: Do not suppress explicit use of implicit include directoriesBrad King2019-02-202-10/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 2e91627dea (ParseImplicitIncludeInfo: add Fortran implicit include handling, 2019-01-25, v3.14.0-rc1~73^2) we actually populate `CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES` for the first time. This value may be useful to project code to pass to other tooling that wants to preprocess the way Fortran does, so we should compute the value. However, compilers like `gfortran` do not actually search their own implicit include directories for `.mod` files. The directories must be passed via `-I` in order for `.mod` files in them to be found. Since Fortran has no standard library header files that we need to avoid overriding, it is safe to *not* filter out implicit include directories from those passed explicitly via `-I` options. Skip this filtering so that include directories specified by project code to find `.mod` files will be searched by the compiler even if they happen to be implicitly searched by the preprocessor. Fixes: #18914
* | | | Merge branch 'autogen_cache_binary_checks' into release-3.14Brad King2019-02-194-39/+88
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !2990
| * | | | Autogen: Use output caching GetExecutableTestOutputSebastian Holtermann2019-02-192-39/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the output caching cmQtAutoGenGlobalInitializer::GetExecutableTestOutput method to avoid identical calls to moc, uic and rcc. Closes #18947
| * | | | Autogen: Add output caching GetExecutableTestOutputSebastian Holtermann2019-02-192-0/+70
| | |/ / | |/| | | | | | | | | | | | | | | | | | This adds the cmQtAutoGenGlobalInitializer::GetExecutableTestOutput method which caches the output of the called executable and returns the cached value on any subsequent call.