summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'ghs-crash' into release-3.18Brad King2020-07-211-2/+3
|\ | | | | | | | | | | | | 5da2c71165 GHS: Fix crash when GHS_NO_SOURCE_GROUP_FILE property is not defined Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5033
| * GHS: Fix crash when GHS_NO_SOURCE_GROUP_FILE property is not definedBrad King2020-07-201-2/+3
| | | | | | | | | | | | | | Refactoring in commit 36aba01223 (cmGeneratorTarget::GetProperty: return cmProp, 2020-04-29, v3.18.0-rc1~246^2) left out a `nullptr` check. Fixes: #20985
* | Merge topic 'strdup' into release-3.18Brad King2020-07-211-0/+4
|\ \ | | | | | | | | | | | | | | | | | | eea0337c7d centos5: Fix FTBFS with strdup Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5026
| * | centos5: Fix FTBFS with strdupJulien Schueller2020-07-201-0/+4
| |/ | | | | | | | | | | | | | | Since commit f034b0f663 (CMake compilation: do not use compiler extensions, 2020-03-14, v3.18.0-rc1~494^2) we need to explicitly enable availability of `strdup`. Fixes: #20971
* | Merge topic 'xcode-native-arch' into release-3.18Craig Scott2020-07-212-1/+20
|\ \ | | | | | | | | | | | | | | | | | | | | | 26673bf480 Xcode: Explicitly specify default native architecture on macOS ce624cfbd4 cmGlobalXCodeGenerator: Save CMAKE_SYSTEM_NAME in member Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5023
| * | Xcode: Explicitly specify default native architecture on macOSBrad King2020-07-201-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When `CMAKE_OSX_ARCHITECTURES` is not specified, we add the Xcode setting `ONLY_ACTIVE_ARCH = YES` with the intention of targeting the native architecture of the host. However, the default `ARCHS` value chosen by "Xcode 12 Universal Apps" includes multiple architectures. Add an explicit `ARCHS` setting with value `$(NATIVE_ARCH_ACTUAL)` to tell Xcode to use the host's native architecture only. Fixes: #20893
| * | cmGlobalXCodeGenerator: Save CMAKE_SYSTEM_NAME in memberBrad King2020-07-162-0/+9
| |/
* | Merge topic 'swift-link-iface' into release-3.18Brad King2020-07-201-0/+3
|\ \ | | | | | | | | | | | | | | | | | | 14a5712447 Swift: Fix regression in linking to interface libraries Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5027
| * | Swift: Fix regression in linking to interface librariesBrad King2020-07-171-0/+3
| |/ | | | | | | | | | | | | | | | | | | Since commit 2026915f8f (Swift: Propagate Swift_MODULE_DIRECTORY as include directory, 2020-02-03, v3.18.0-rc1~547^2) we internally call `GetAllConfigCompileLanguages` on all directly linked targets without checking if they are interface libraries that don't compile at all. That violates an internal assumption and assertion. Fixes: #20977
* | Merge topic 'ninja-multi-rsp' into release-3.18Brad King2020-07-171-4/+14
|\ \ | |/ |/| | | | | | | | | 99ed39b011 Ninja Multi-Config: Make link response files per-config Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5020
| * Ninja Multi-Config: Make link response files per-configKyle Edwards2020-07-161-4/+14
| | | | | | | | Fixes: #20961
* | CMake 3.18.0v3.18.0Brad King2020-07-151-1/+1
| |
* | Merge topic 'source_file_props_dedup_scopes' into release-3.18Craig Scott2020-07-141-2/+14
|\ \ | | | | | | | | | | | | | | | | | | f6969b917d set_property: Deduplicate source file directory scopes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5009
| * | set_property: Deduplicate source file directory scopesAlexandru Croitor2020-07-131-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A user could specify the same directory scope to set_property() multiple times, which in conjunction with APPEND would append the property multiple times. Make sure to deduplicate scopes across both DIRECTORY and TARGET_DIRECTORY options, so that a property is only appended once in such a scenario. Fixes: #20941
* | | Merge topic 'macos-11-file-GET_RUNTIME_DEPENDENCIES' into release-3.18Brad King2020-07-141-1/+14
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d9af90504f Tests: Update file(G_R_D) test to make system library optional c51400033c file: Update GET_RUNTIME_DEPENDENCIES for macOS 11 dylib cache Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !4998
| * | | file: Update GET_RUNTIME_DEPENDENCIES for macOS 11 dylib cacheBrad King2020-07-131-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting on macOS 11, the dynamic loader has a builtin cache of system-provided dylib files. They do not actually exist on the filesystem. However, runtime dependencies recorded in Mach-O binaries can still have `LC_LOAD_DYLIB` entries referring to such dylib files by absolute path. The dynamic loader simply resolves the paths from its cache. Teach `file(GET_RUNTIME_DEPENDENCIES)` to skip dependencies on such dylib paths. For practical software distribution purposes they do not exist, or at least can be assumed available on all deployments. Issue: #20863
* | | | Merge topic 'profiling-case-insensitive-command-names' into release-3.18Brad King2020-07-141-1/+1
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | 7cf2f7d2af cmake: Store lowercase command names in profiling output Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5007
| * | | cmake: Store lowercase command names in profiling outputCraig Scott2020-07-131-1/+1
| |/ / | | | | | | | | | | | | | | | | | | This ensures commands can be properly aggregated by tools processing the profiling output. Fixes: #20946
* | | Merge topic 'imported-local-target-alias' into release-3.18Brad King2020-07-131-0/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 7b0f6508a0 ALIAS targets: Non-global aliases must be propagated to sub-directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5002
| * | | ALIAS targets: Non-global aliases must be propagated to sub-directoriesMarc Chevrier2020-07-111-0/+3
| |/ / | | | | | | | | | Fixes: #20942
* | | cmake: Show supported formats in --help output for --profiling-formatCraig Scott2020-07-111-1/+3
|/ / | | | | Fixes: #20943
* | CMake 3.18.0-rc4v3.18.0-rc4Brad King2020-07-101-1/+1
| |
* | set_property: Allow both DIRECTORY and TARGET_DIRECTORY togetherAlexandru Croitor2020-07-092-20/+36
| | | | | | | | | | | | | | | | | | Allow to specify both DIRECTORY and TARGET_DIRECTORY at the same time in `set_source_files_properties()` and `set_property(SOURCE)` commands. Add test cases and update the documentation. Fixes: #20932
* | set_property: Fix name of TARGET_DIRECTORY option in error messagesAlexandru Croitor2020-07-091-1/+1
| |
* | Merge topic 'cmake-gui-qt-5.14' into release-3.18Brad King2020-07-071-4/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | 8eb7cf9b5f cmake-gui: Fix compilation as C++14 with Qt 5.14 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !4978
| * | cmake-gui: Fix compilation as C++14 with Qt 5.14Brad King2020-07-061-4/+4
| | | | | | | | | | | | | | | | | | Fix code added by commit d7679f6427 (QCMakeCacheView: use non-deprecated List and Set constructions, 2020-06-10, v3.18.0-rc2~13^2), used conditionally on Qt 5.14 or above, to compile as C++14.
* | | Merge topic 'restore-cwd-translation-map' into release-3.18Brad King2020-07-033-1/+10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 85a945a607 Restore handling of build directory inside a symlinked path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4963
| * | | Restore handling of build directory inside a symlinked pathBrad King2020-07-023-1/+10
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit dd8365b3f1 (Merge branch 'upstream-KWSys' into update-kwsys, 2020-04-06, v3.18.0-rc1~397^2) we imported KWSys commit `019afb6ea` (SystemTools: Drop GetCurrentWorkingDirectory 'collapse' argument, 2020-04-03). That caused `GetCurrentWorkingDirectory` to no longer send paths through the KWSys translation map and broke CMake's detection of the absolute path to a build directory containing a symbolic link. Add our own `cmSystemTools::GetCurrentWorkingDirectory` wrapper around the KWSys method in order to restore that mapping. Test-case-by: Ben Boeckel <ben.boeckel@kitware.com> Issue: #16228 Fixes: #20900
* | | cmake: Tolerate nullptr from uv_default_loopBrad King2020-07-012-2/+6
|/ / | | | | | | | | | | | | `uv_default_loop()` can return `nullptr` when running on a Linux kernel configured without `CONFIG_EVENTFD`. Fixes: #20899
* | CMake 3.18.0-rc3v3.18.0-rc3Brad King2020-07-011-1/+1
| |
* | Merge topic 'file-ARCHIVE-files-dirs' into release-3.18Brad King2020-07-011-35/+22
|\ \ | | | | | | | | | | | | | | | | | | bbcff21f71 file(ARCHIVE*): Collapse FILES and DIRECTORY options Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4955
| * | file(ARCHIVE*): Collapse FILES and DIRECTORY optionsCraig Scott2020-06-301-35/+22
| | | | | | | | | | | | | | | | | | | | | | | | The two options were concatenated internally for both ARCHIVE_CREATE and ARCHIVE_EXTRACT. The distinction between files and dirs was not meaningful. Therefore, replace them with PATHS or PATTERNS to more accurately describe the way the options are used. Fixes: #20884
* | | Merge topic 'file-CONFIGURE-subdir' into release-3.18Brad King2020-06-301-1/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | e5f5eeca2f file: Fix CONFIGURE output relative path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4951
| * | | file: Fix CONFIGURE output relative pathBrad King2020-06-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit a6fee09484 (file: Add CONFIGURE subcommand, 2020-03-06, v3.18.0-rc1~584^2) we accidentally treated relative path outputs with respect to the current working directory. Treat them with respect to the current binary directory instead. Fixes: #20885
* | | | Merge topic 'find_library-file-readable' into release-3.18Brad King2020-06-301-1/+2
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | f2c903fb9a find_library: Check that library files are readable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4945
| * | | find_library: Check that library files are readableBrad King2020-06-291-1/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit 6b85166920 (ENH: Refactor find_library search logic, 2008-09-22, v2.8.0~1665) dropped a call to `FileExists` on the path under the assumption that the presence of a file in a directory listing means it exists. However, dropping that also dropped a check that verifies the file is readable. Restore the `FileExists` call to ensure that we only find readable libraries.
* | | file(ARCHIVE_CREATE): Rename TYPE option to COMPRESSIONCraig Scott2020-06-271-9/+9
| | | | | | | | | Fixes: #20883
* | | Merge topic 'makefile-fix-verbose' into release-3.18Brad King2020-06-231-3/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 7f78bc42cb Makefile: Fix regression in .SILENT rule Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4928
| * | | Makefile: Fix regression in .SILENT ruleDaniel Colascione2020-06-221-3/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d74e651b78 (Makefiles: Re-implement makefile target path escaping and quoting, 2020-04-10, v3.18.0-rc1~334^2~1), `WriteMakeRule` now correctly escapes `$` in make target paths as `$$`. However, this caused an existing call site to escape the `$(VERBOSE)` variable reference in the `.SILENT` prefix, making it ineffective. Sub-makefiles are invoked with `MAKESILENT`, so this bug matters only for the `all` target, which emits progress messages from toplevel. Before: # Suppress display of executed commands. $$(VERBOSE).SILENT: After: # Suppress display of executed commands. $(VERBOSE).SILENT:
* | | try_compile: Do not try to remove '.nfs*' filesBrad King2020-06-171-1/+3
|/ / | | | | | | | | | | | | These files are part of the NFS implementation and should not be removed. They will automatically disappear when NFS is done with them. Fixes: #20844
* | CMake 3.18.0-rc2v3.18.0-rc2Brad King2020-06-171-1/+1
| |
* | CUDA: Add issue number to Clang separable compilation errorRaul Tambre2020-06-161-1/+2
| |
* | Merge topic 'cuda_clang_toolkit_path' into release-3.18Brad King2020-06-153-0/+25
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ec59fb6c31 CUDA: Determine CUDA toolkit location for NVCC 0a056246a1 CUDA: Pass toolkit path to Clang 9c43972127 FindCUDAToolkit: Avoid unnecessary temporary variable computing binary dir 9eebb5b8b2 FindCUDAToolkit: Remove unnecessary checks around searches 8f01fe7bf1 FindCUDAToolkit: Use list(SORT) to sort in natural order 8c144fe9ad FindCUDAToolkit: Compute CUDAToolkit_INCLUDE_DIR instead of searching 403f8d31e3 FindCUDAToolkit: Add CUDAToolkit_LIBRARY_ROOT 6636693134 FindCUDAToolkit: Re-unify with Internal/CUDAToolkit Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4828
| * | CUDA: Pass toolkit path to ClangRaul Tambre2020-06-123-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang isn't very good at finding the installed CUDA toolkit. The upstream recommendation is that we should pass the toolkit explicitly. Additionally: * Avoids Clang having to search for the toolkit on every invocation. * Allows the user to use a toolkit from a non-standard location by simply setting CUDAToolkit_ROOT. The same way as with FindCUDAToolkit. Clang wants the directory containing the device library and version.txt as the toolkit path. We thus pass the newly introduced CUDAToolkit_LIBRARY_ROOT as the toolkit path. We save CUDAToolkit_ROOT_DIR and CUDAToolkit_LIBRARY_ROOT on Clang to have them available in try_compile() and avoid unnecessary re-searching or a possibly different installation being found in FindCUDAToolkit. This however means that the selected toolkit can't be changed after the initial language enablement. We now determine CUDA compiler ID before doing actual detection, as we don't want to spend time finding the CUDA toolkit for NVIDIA. Implements #20754.
* | | Merge topic 'cuda_architectures_disable' into release-3.18Brad King2020-06-151-22/+29
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 877a92e968 CUDA: Add support for disabling CUDA_ARCHITECTURES Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4886
| * | | CUDA: Add support for disabling CUDA_ARCHITECTURESRaul Tambre2020-06-151-22/+29
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | The ability to disable adding architectures completely for packaging purposes and cases requiring passing the architectures flags explicitly has been requested. Support a false value for CUDA_ARCHITECTURES and CMAKE_CUDA_ARCHITECTURES for this purpose. Implements #20821.
* | | Merge topic 'revert-find_program-exe-no-read' into release-3.18Brad King2020-06-151-1/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | cc02ced530 find_program: Revert "Find programs that are executable but not readable" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4871
| * | find_program: Revert "Find programs that are executable but not readable"Brad King2020-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix in commit 86e6349ef7 (find_program: Find programs that are executable but not readable, 2020-04-04, v3.18.0-rc1~372^2) can break existing projects that were (likely accidentally) relying on the old behavior to find files that are readable but not executable. Revert the fix for now. We can re-introduce it with a policy later. Instead of reverting the test case, update it to cover the old behavior. That can serve as a reference for testing the policy when introduced. Fixes: #20814 Issue: #10468
* | | Merge topic 'vs-lang-C' into release-3.18Brad King2020-06-121-3/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 5c04e77e07 VS: Restore compilation of '.C' sources as C++ Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4880
| * | | VS: Restore compilation of '.C' sources as C++Brad King2020-06-111-3/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit 3b547e2e4b (VS: Simplify logic adding source file C/C++ language flag to MSVC, 2020-05-15, v3.18.0-rc1~139^2~1) failed to account for MSVC's treatment of `.C` extensions as C. Add this special case to the logic to restore use of `-TP` for `.C` extensions. Fixes: #20822