summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'revert-add_test-special-chars' into release-3.18Brad King2020-07-2859-383/+22
|\ | | | | | | | | | | | | 5fc5f4d26e add_test: Revert "Allow special characters in test name" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5067
| * add_test: Revert "Allow special characters in test name"Brad King2020-07-2759-383/+22
| | | | | | | | | | | | | | | | | | | | | | | | Revert commit f84af8e270 (add_test: Allow special characters in test name, 2020-05-16, v3.18.0-rc1~142^2). Unfortunately the fix breaks projects that were working around the limitation with manual escaping. The fix can be re-introduced with a policy in a future version. Also add a 3.18.1 release note explaining the change. Fixes: #21017, #20965 Issue: #19391
* | Merge topic 'sysroot-prefix' into release-3.18Brad King2020-07-281-1/+3
|\ \ | | | | | | | | | | | | | | | | | | e67d9c6e31 Compilers: Ignore -print-sysroot prefix when it is '/' Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5066
| * | Compilers: Ignore -print-sysroot prefix when it is '/'Brad King2020-07-271-1/+3
|/ / | | | | | | | | | | | | | | | | | | Since commit 8cc384f629 (Compilers: Add paths from -print-sysroot to system prefix path, 2020-03-25, v3.18.0-rc1~337^2) we prepend the compiler's sysroot to `CMAKE_SYSTEM_PREFIX_PATH`. This does not make sense when the prefix is just `/`, such as on Ubuntu 16.04's system compiler. Fixes: #21019
* | Merge topic 'fix-dependent-pipelines' into release-3.18Brad King2020-07-271-2/+2
|\ \ | | | | | | | | | | | | | | | | | | 726766713b gitlab-ci: avoid failing dependent steps Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5069
| * | gitlab-ci: avoid failing dependent stepsBen Boeckel2020-07-271-2/+2
| |/ | | | | | | This avoids making busted jobs if a prerequisite fails.
* | Merge topic 'bootstrap-intel' into release-3.18Brad King2020-07-271-1/+1
|\ \ | | | | | | | | | | | | | | | | | | 796466284b bootstrap: Fix support for Intel compiler with modern GNU system compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5057
| * | bootstrap: Fix support for Intel compiler with modern GNU system compilerBrad King2020-07-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On systems with older GNU system compilers, the Intel C++ compiler does not define `__cplusplus` to any version newer than C++11. This prevented `bootstrap` from detecting that a given C++ standard flag has enabled C++17 mode in the compiler. In commit 033a4b12a5 (bootstrap: Extend C++17 check for our cast functions, 2019-12-14, v3.17.0-rc1~291^2) we added a preprocessor condition to attempt to detect C++17 mode in the Intel compiler on such systems by looking for `__cpp_if_constexpr`. However, on systems with a modern GNU system compiler, that definition is available even in C++11 mode. Switch to using `__cpp_deduction_guides` to detect C++17 mode for the Intel C++ compiler. That seems to be defined exclusively in C++17 mode regardless of the version of the system compiler. Fixes: #21013
* | | Merge topic 'externalproject-download-git-2.20-fix' into release-3.18Brad King2020-07-271-1/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 8dbefc3ca6 ExternalProject: omit --no-checkout from git clone when using git 2.20.x. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5054
| * | | ExternalProject: omit --no-checkout from git clone when using git 2.20.x.Nate Avers2020-07-241-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The optimization from commit 627fc5b44f (ExternalProject: Avoid unnecessary checkout on clone, 2019-07-29, v3.16.0-rc1~325^2) triggers a bug in the Git 2.20.x series that is not in older or newer versions. Drop the optimization for that specific range of Git versions. Fixes: #21009
* | | | Merge topic 'xcode-12-legacy-deprecation' into release-3.18Brad King2020-07-271-0/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 36fc3a1e84 Xcode: Suppress legacy build system deprecation warning Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5052
| * | | | Xcode: Suppress legacy build system deprecation warningBrad King2020-07-231-0/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode 12 beta 3 now warns about using the legacy build system. Since generation of the build system is CMake's responsibility, the warning is not relevant to our users. Suppress it. Issue: #18088
* | | | Merge topic 'FindXalanC-1.12' into release-3.18Brad King2020-07-271-3/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4bf102418b FindXalanC: Fix version parsing for XalanC 1.12 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5056
| * | | | FindXalanC: Fix version parsing for XalanC 1.12Brad King2020-07-241-3/+3
| |/ / / | | | | | | | | | | | | | | | | | | | | The version header now puts parentheses around the components. Fixes: #21010
* | | | Merge topic 'vs-lang-flags' into release-3.18Brad King2020-07-274-0/+29
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | c4109a1bc8 VS: Restore toleration of target-wide -TP flag with MSVC Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5051
| * | | VS: Restore toleration of target-wide -TP flag with MSVCBrad King2020-07-234-0/+29
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 3b547e2e4b (VS: Simplify logic adding source file C/C++ language flag to MSVC, 2020-05-15, v3.18.0-rc1~139^2~1) we only add a per-source language selection flag when the source file extension does not match the compiler's default. This approach breaks when a project adds a target-wide `-TP` flag. Although such projects likely did not work with non-VS generators, we did support them before in Visual Studio generators. Add a special case to tolerate such flags again. Fixes: #21005
* | | Merge topic 'file-GET_RUNTIME_DEPENDENCIES-terms' into release-3.18Brad King2020-07-231-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 2b60088d14 Help: Update file(GET_RUNTIME_DEPENDENCIES) prose to match option names Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5053
| * | | Help: Update file(GET_RUNTIME_DEPENDENCIES) prose to match option namesBrad King2020-07-231-2/+2
| |/ /
* | | Merge topic 'cmake-gui-qt-5.14' into release-3.18Brad King2020-07-231-2/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | af6cf586f6 cmake-gui: Fix crash when built with Qt 5.14 or later Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5045
| * | | cmake-gui: Fix crash when built with Qt 5.14 or laterBrad King2020-07-221-2/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit d7679f6427 (QCMakeCacheView: use non-deprecated List and Set constructions, 2020-06-10, v3.18.0-rc2~13^2) the conversion of the `this->properties()` value to QSet is incorrect for Qt 5.14+. The problem is that `this->properties()` returns by value, so the range `this->properties().begin(), this->properties().end()` provides iterators to two different instances. Use an intermediate temporary copy of the value to get a consistent iterator range. Fixes: #20981
* | | Merge topic 'aux-install-dest' into release-3.18Brad King2020-07-222-8/+25
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 83bc79e232 Auxiliary: Add options to control Vim and Emacs file installation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5035
| * | | Auxiliary: Add options to control Vim and Emacs file installationBrad King2020-07-212-8/+25
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 2642f432ef (Aux: Install editor and bash files to more natural locations, 2020-03-30, v3.18.0-rc1~429^2) these files are installed by default into locations that are not CMake-specific but may be distro-specific. Add options for packagers to control these locations. Also rename the `CMAKE_BASH_COMP_DIR` option to follow our conventions. Fixes: #20993
* | | Merge topic 'graphviz-restore-per-target' into release-3.18Brad King2020-07-225-7/+201
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1829220310 Merge branch 'backport-3.17-graphviz-restore-per-target' f3a6b4a209 Tests: Cover Graphviz support for per-target dependency graph options 93549b9224 Graphviz: Restore support for per-target dependency graph options Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5039
| * \ \ Merge branch 'backport-3.17-graphviz-restore-per-target'Brad King2020-07-215-7/+201
| |\ \ \ | | |/ / | |/| |
| | * | Tests: Cover Graphviz support for per-target dependency graph optionsStephan Rohmen2020-07-213-0/+56
| | | | | | | | | | | | | | | | Issue: #20928
| | * | Graphviz: Restore support for per-target dependency graph optionsStephan Rohmen2020-07-212-7/+145
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The behaviors controlled by options `GRAPHVIZ_GENERATE_PER_TARGET` and `GRAPHVIZ_GENERATE_DEPENDERS` were broken by commit 553658393c (Graphviz: added test suite, fixes, enhancements, 2019-10-08, v3.17.0-rc1~615^2). It had not been covered in the test suite previously, and those changes left out checks for these features from the `default_options` case. Implement the previously-existing behavior in the new graphviz generation engine added by the above-mentioned commit. Fixes: #20928
* | | 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 'bootstrap-system-http2' into release-3.18Brad King2020-07-211-2/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 64bc82bb4d bootstrap: Add options to control use of system nghttp2 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Christoph GrĂ¼ninger <foss@grueninger.de> Merge-request: !5031
| * | | bootstrap: Add options to control use of system nghttp2Brad King2020-07-201-2/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | Add `bootstrap` options needed since commit 0b872fd4be (nghttp2: Build the library within CMake for use by our curl, 2020-04-01, v3.18.0-rc1~408^2~2). Fixes: #20987
* | | 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-215-1/+41
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-204-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-202-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 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-172-0/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'doc-find_package' into release-3.18Brad King2020-07-151-1/+1
|\ \ | | | | | | | | | | | | | | | | | | cc92a4c228 Help: Fix typo in find_package documentation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5014
| * | Help: Fix typo in find_package documentationKai Koehne2020-07-151-1/+1
| | |
* | | Merge topic 'nvcc_host' into release-3.18Brad King2020-07-151-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | ff086f066b NVCC: Handle host compiler with spaces in path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5019
| * | | NVCC: Handle host compiler with spaces in pathRaul Tambre2020-07-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Need to surround it with quotes otherwise the different bits are passed as separate arguments. Fixes #20954.
* | | | Merge topic 'source_file_props_dedup_scopes' into release-3.18Craig Scott2020-07-142-2/+33
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | 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-132-2/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-142-13/+28
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Tests: Update file(G_R_D) test to make system library optionalKyle Edwards2020-07-131-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | Since the system library may not exist on the filesystem on macOS 11, skip it if it doesn't exist.
| * | | | 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-143-2/+19
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | 7cf2f7d2af cmake: Store lowercase command names in profiling output Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5007