summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* IntelLLVM: Enable Fortran module rebuild avoidance in Makefile generatorsBrad King2021-11-171-1/+1
| | | | | | | | | | The Makefile generators use an internal `cmake -E cmake_copy_f90_mod` tool to avoid rebuilding module consumers when the `.mod` content changes only in a trivial way (e.g. the time it was built). This is done with logic specific to each vendor's module file format. Enable the "Intel" format support when using the IntelLLVM compiler (ifx) too. Issue: #22922
* Merge branch 'IntelLLVM-Fortran-frontend-variant' into release-3.20Brad King2021-11-111-0/+1
|\ | | | | | | Merge-request: !6718
| * Fortran: Save frontend variant persistently for IntelLLVMWilliam R. Dieter2021-11-111-0/+1
|/ | | | | | | | | Since commit a90d2a9eed (IntelLLVM: Add support for Intel LLVM-based compilers, 2020-11-02, v3.20.0-rc1~89^2~20), our IntelLLVM compiler support populates `CMAKE_Fortran_COMPILER_FRONTEND_VARIANT`. However, the frontend variant was not stored in `CMakeCompilerFortran.cmake`. Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
* Merge branch 'release-3.19' into release-3.20Brad King2021-10-150-0/+0
|\
| * Merge branch 'fix-ifdef-windows' into release-3.19Brad King2021-10-154-4/+4
| |\ | | | | | | | | | Merge-request: !6631
* | \ Merge branch 'fix-ifdef-windows' into release-3.20Brad King2021-10-154-4/+4
|\ \ \ | | |/ | |/| | | | Merge-request: !6631
| * | Source: Fix typo in _WIN32 preprocessor checksBrad King2021-10-154-4/+4
| |/ | | | | | | | | | | | | | | | | | | Since CMake's default compiler flags with MSVC include `-DWIN32` for historical reasons, a few preprocessor conditions were accidentally checking for `WIN32` instead of `_WIN32`. The corresponding blocks were left out when compiling official binaries for `cmake.org` because we hard-code compiler flags without `-DWIN32`. Fixes: #22764
* | Merge branch 'zstd-armv6' into release-3.20Brad King2021-10-142-6/+2
|\ \ | | | | | | | | | Merge-request: !6625
| * | zstd: Backport fix for SIGBUS on armv6 from zstd 1.5.0Brad King2021-10-142-6/+2
|/ / | | | | | | | | | | | | Backport zstd commit `28d0120b` (Avoid SIGBUS on armv6, 2021-05-11, `v1.5.0^2~11^2`) to our bundled copy of zstd 1.4.5. Fixes: #22754
* | Merge branch 'msvc-c++23' into release-3.20Brad King2021-10-121-0/+1
|\ \ | | | | | | | | | Merge-request: !6614
| * | MSVC: Tolerate cxx_std_23 feature on older compiler versionsBrad King2021-10-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 3aaf1d91bf (MSVC: C++20 final flag, C++23 support, 2021-05-29, v3.20.4~7^2~1) we forgot to add `cxx_std_23` to the fallback table for MSVC versions from VS 2010 through VS 2015. This allows project to at least attempt compilation with these compilers since they do not have any modes. Issue: #22729
* | | Merge branch 'release-3.19' into release-3.20Brad King2021-10-080-0/+0
|\ \ \ | | |/ | |/|
| * | Merge branch 'revert-debian-libexec' into release-3.19Brad King2021-10-082-15/+4
| |\ \ | | | | | | | | | | | | Merge-request: !6607
* | \ \ Merge branch 'revert-debian-libexec' into release-3.20Brad King2021-10-082-15/+4
|\ \ \ \ | | |/ / | |/| / | |_|/ |/| | Merge-request: !6607
| * | GNUInstallDirs: Fix misinterpretation of Debian Policy on LIBEXECDIRTimo Röhling2021-10-072-15/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 798c1c3192 (GNUInstallDirs: Comply with Debian Policy on LIBEXECDIR, 2020-10-08, v3.19.0-rc1~11^2). The Debian Policy builds upon FHS 3.0 and permits installing to `/usr/libexec`. While Policy does grant an additional exception for applications to use a single subdirectory of `/usr/lib/<triplet>`, this is not meant to replace `/usr/libexec` as valid target. Fixes: #22731
* | | CMake 3.20.6v3.20.6Brad King2021-09-202-3/+3
| | |
* | | Merge branch 'android-PATH' into release-3.20Brad King2021-09-161-5/+0
|\ \ \ | | | | | | | | | | | | Merge-request: !6528
| * | | Android: Restore searching PATH for executableshhb2021-09-161-5/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit a7f41a7ee4 (Android: Fix find_* search order within NDK for unified toolchains, 2020-10-13, v3.20.0-rc1~610^2), we turn off `CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH`. This breaks `find_program` searching `PATH` for host executables. Fortunately, the setting turns out not to be necessary, perhaps since commit cbc51a8be3 (Android: restructure android search paths, 2020-11-06, v3.20.0-rc1~509^2). Without it, none of NDK tests fail, so remove it to restore pre-3.20 behavior. Fixes: #22634
* | | Merge branch 'GNUInstallDirs-variable-named-0' into release-3.20Brad King2021-08-241-1/+1
|\ \ \ | | | | | | | | | | | | Merge-request: !6474
| * | | GNUInstallDirs: avoid unwanted variable dereferenceBen Boeckel2021-08-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some situations, it seems that the variable `0` is defined. In the case found, it was set to `1`. This makes the detection of the missing third argument bogus and unnecessarily triggers a warning. This oversight was introduced in 229b5ee994 (GNUInstallDirs: Add dir argument to GNUInstallDirs_get_absolute_install_dir, 2020-10-31) prior to CMake 3.20's release cycle.
* | | | Merge branch 'macos-10.4' into release-3.20Brad King2021-08-021-1/+3
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !6426
| * | | | macOS: Restore support for Mac OS X 10.4 (Tiger)Evan Miller2021-08-021-1/+3
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 4aed96e230 (Apple: Set CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG on non-macOS too, 2021-04-06, v3.20.1~5^2) we always enable support for linking with `-rpath`. The intention of the change was to enable using the flag on iOS, tvOS and watchOS by avoiding a Darwin-specific version check. However, removing the check broke support for OS X 10.4 because the flag is not supported on that version. Restore a form of the check that disables the flag on OS X < 10.5 while still allowing it for the other Apple platforms. Since no one is doing iOS/tvOS/etc development on 10.4, this change should have no unintended side effects. Fixes: #22490
* | | | Merge branch 'backport-3.20-intel-oneapi-std-windows' into release-3.20Brad King2021-07-092-3/+15
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !6328
| * | | | Tests: Fix RunCMake.try_compile C/CXX standards with IntelLLVM MSVC modeBrad King2021-07-091-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 5115dd1e2c (IntelLLVM: Fix C/C++ standard level flags on Windows, 2021-07-07, v3.21.0-rc3~7^2^2) we activate C/C++ standard level logic for IntelLLVM when targeting the MSVC ABI. Update the `RunCMake.try_compile` test to be aware of this even when CMake is itself configured by an older CMake that does not know this.
| * | | | CMakeCCompilerId: Fix C standard detection in Clang and IntelLLVM MSVC modeRaul Tambre2021-07-091-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang does not define `__STDC__` if in MSVC compatibility mode, but does define `__STDC_VERSION__`. Avoid the fallback for this combination. This backports commit 7596d8b951 (CMakeCCompilerId: Fix C standard detection in Clang MSVC mode, 2021-02-07, v3.21.0-rc1~587^2~14) to the 3.20 release series. This is needed since commit 5115dd1e2c (IntelLLVM: Fix C/C++ standard level flags on Windows, 2021-07-07, v3.21.0-rc3~7^2^2) now that we activate C/C++ standard level logic for IntelLLVM when targeting the MSVC ABI.
* | | | | Merge branch 'FindJPEG-revert-turbo' into release-3.20Brad King2021-07-091-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !6326
| * | | | | FindJPEG: Revert "Search for 'turbojpeg' and 'turbojpeg-static' too"Brad King2021-07-091-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 74cc2e3326 (FindJPEG: Search for 'turbojpeg' and 'turbojpeg-static' too, 2021-01-09, v3.20.0-rc1~176^2) pending further investigation. The "turbo" variants are not drop-in replacements on all platforms. Fixes: #22333
* | | | | Merge branch 'release-3.19' into release-3.20Brad King2021-07-080-0/+0
|\ \ \ \ \ | | |_|_|/ | |/| | |
| * | | | Merge branch 'check_cxx_compiler_flag_no_normal_variable' into release-3.19Brad King2021-07-082-1/+10
| |\ \ \ \ | | |_|_|/ | |/| | | | | | | | Merge-request: !6318
* | | | | Merge branch 'check_cxx_compiler_flag_no_normal_variable' into release-3.20Brad King2021-07-082-1/+10
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | Merge-request: !6318
| * | | | Check*CompilerFlag: Do not set result as a normal variable tooRobert Maynard2021-07-082-1/+10
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was previously fixed by commit d46590910c (Check*CompilerFlag: Do not set result as a normal variable too, 2020-09-21, v3.18.3~1^2^2), but was regressed by refactoring in commit 90dead024c (CheckCompilerFlag: unified way to check compiler flags per language, 2020-09-25, v3.19.0-rc1~88^2) due to the changes being developed concurrently. Fix it again, and add a test case. Fixes: #21207
* | | | Merge branch 'backport-3.20-intel-oneapi-std-windows' into release-3.20Brad King2021-07-072-12/+4
|\ \ \ \ | | |/ / | |/| | | | | | Merge-request: !6319
| * | | IntelLLVM: Fix C/C++ standard level flags on WindowsBrad King2021-07-072-12/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | In commit a90d2a9eed (IntelLLVM: Add support for Intel LLVM-based compilers, 2020-11-02, v3.20.0-rc1~89^2~20) we accidentally left out activation of the C/C++ standard level selection logic when IntelLLVM is targeting the MSVC ABI. Fixes: #22388
* | | Merge branch 'backport-3.20-makefile-normalize-depfile' into release-3.20Brad King2021-07-023-6/+17
|\ \ \ | |_|/ |/| | | | | Merge-request: !6297
| * | Makefiles: Normalize compiler-generated depfile pathsMarc Chevrier2021-07-023-6/+17
|/ / | | | | | | | | | | | | | | | | | | | | | | Even though Makefile generators pass source files and include directories by absolute path to the compiler, the compiler may generate depfile paths relative to the current working directory. For example, `ccache` with `CCACHE_BASEDIR` may transform paths this way. When reading a depfile, convert relative dependencies to absolute paths before placing them in `compiler_depend.make`, which is later evaluated in the top-level build directory. Fixes: #22364
* | CMake 3.20.5v3.20.5Brad King2021-06-211-1/+1
| |
* | Help: Add 3.20 release note section for 3.20.{3,4,5}Brad King2021-06-211-0/+7
| | | | | | | | | | | | Make it clear that the notes for these patch releases were not forgotten, and that there were simply no changes to documented features or interfaces.
* | Merge branch 'test-xcode-13' into release-3.20Brad King2021-06-212-2/+2
|\ \ | | | | | | | | | Merge-request: !6248
| * | Tests: Fix xcode version detection for Xcode 13 on ARMBrad King2021-06-182-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running `xcode -version` on an ARM box prints content to stderr: objc[...]: Class ... is implemented in both... One of the two will be used. Which one is undefined. Capture and parse only stdout. Otherwise we might configure test behavior for the wrong version of Xcode.
* | | Merge branch 'ep-git-update-commit-ref' into release-3.20Brad King2021-06-211-1/+1
|\ \ \ | |/ / |/| | | | | Merge-request: !6249
| * | ExternalProject: Use ${ref}^0 to avoid MSYS/Cygwin shell substitutionsCraig Scott2021-06-201-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | In 5e941a545b (ExternalProject: Ensure git fetch if updating to hash we don't have yet, 2021-05-09), the form ${ref}^{commit} was used to ensure the ref was treated as a commit. When running under a MSYS2 or Cygwin shell, the {commit} part can be translated by the shell, leaving it as ${ref}^commit, which git doesn't understand. Use the equivalent but safer form ${ref}^0, since it won't be subject to the shell substitution issue. Fixes: #22299
* | Merge topic 'fix-flow-control-override' into release-3.20Brad King2021-06-176-8/+22
|\ \ | | | | | | | | | | | | | | | | | | c017098d4d CMake: Allow override of unexpected non-flow-control commands Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6232
| * | CMake: Allow override of unexpected non-flow-control commandsKyle Edwards2021-06-166-8/+22
| | | | | | | | | | | | Fixes: #22310
* | | Merge topic 'vs-map-external-warnings' into release-3.20Brad King2021-06-174-14/+38
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | 947f0c8b81 VS: Do not apply '/external:W*' flag table mapping on VS < 16.10 e59a208b69 cmGlobalVisualStudio10Generator: Adopt GetVSInstanceVersion method d6d4af0ec3 cmGlobalVisualStudio10Generator: Move static functions to anonymous namespace Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6233
| * | VS: Do not apply '/external:W*' flag table mapping on VS < 16.10Brad King2021-06-161-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 9054cd05e6 (VS: Add flag table entries for '/external:W*' flags in VS 16.10, 2021-05-28, v3.20.4~10^2) we map flags to the `ExternalWarningLevel` element. VS 16.9 does not support that element, but its `cl` compiler does support the `/external:W*` flags. Filter out the flag table entry on older VS versions. Fixes: #22308
| * | cmGlobalVisualStudio10Generator: Adopt GetVSInstanceVersion methodBrad King2021-06-163-7/+19
| | | | | | | | | | | | Port from `cmGlobalVisualStudioVersionedGenerator`.
| * | cmGlobalVisualStudio10Generator: Move static functions to anonymous namespaceBrad King2021-06-161-4/+6
|/ /
* | Merge topic 'ci-xcode-12.5' into release-3.20Brad King2021-06-161-6/+6
|\ \ | | | | | | | | | | | | | | | | | | 9c98878451 gitlab-ci: update macOS jobs to use Xcode 12.5 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6229
| * | gitlab-ci: update macOS jobs to use Xcode 12.5Brad King2021-06-151-6/+6
|/ /
* | CMake 3.20.4v3.20.4Brad King2021-06-141-1/+1
| |