summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* IntelLLVM: C17 supportRaul Tambre2021-02-251-3/+7
| | | | Issue: #17755
* GNU: C23 supportRaul Tambre2021-02-251-0/+5
| | | | Added in commit 9f936c861383dc69e0053e34315d5d0262a19e8f, released in 9.1.
* GNU: C17 supportRaul Tambre2021-02-251-1/+6
| | | | | | | Added in commit c76dc9c32d616eff1e0ae162042f1c0f8ca65fbf, released in 8.1. Set as default in the same commit. Issue: #17755
* Clang: Default C standard doesn't depend on compatibility modeRaul Tambre2021-02-251-5/+1
| | | | MSVC compatibility mode doesn't affect the default standard.
* Clang: Set standard flags according to frontend variantRaul Tambre2021-02-251-1/+1
| | | | | | They depend on the frontend not which compiler we're simulating. Fixes #21771.
* Clang: MSVC-style C flagsRaul Tambre2021-02-251-4/+14
| | | | | Support added in LLVM commit d087d805acb664e885e9c31a916f6cfa5dbc2186, will be released in Clang 13.
* Clang: C23 supportRaul Tambre2021-02-251-0/+5
| | | | | Added in LLVM commit d06f3917913d2558b771ccc48d838f8cd8993c01, released in Clang 9.0.
* Clang: C17 default versionRaul Tambre2021-02-251-1/+1
| | | | | | | Switched in LLVM commit 91cdbd521a38495c66e30636943563ca70d3c022, released in Clang 11. Issue: #17755
* Clang: C17 supportRaul Tambre2021-02-251-0/+7
| | | | | | | Added in LLVM commit 5b6c0f75e01571851b767dc63a3229c962f464f1, available since Clang 6. Issue: #17755
* C23 supportRaul Tambre2021-02-254-0/+12
|
* C17 supportRaul Tambre2021-02-254-0/+12
| | | | Implements #17755.
* Clang: Correct default C standards for ancient versionsRaul Tambre2021-02-251-1/+1
| | | | | | | | C11 was made default in LLVM commit ab506adf7d3ced6abcaf42f92de3d6cd15fa19e8, released in 3.5.2. C99 was made default in LLVM commit 17f76e04d244c80e70f1c81c94d4524b53d9772d, released in 2.1. It was flipped a few times between C89 and C99 during the 2.1 cycle, but the C89 default never made it into a release.
* Clang: Correct C standards flags for ancient versionsRaul Tambre2021-02-251-15/+22
| | | | | | | | | | | | | C89, C99 flags in LLVM commit ff43821d5380ee38aff421701f1d461242b524ee. C90 flag in LLVM commit 229ce60fc9983df5f7e83e25fa6b5c0ca4d2b135. C1x flag in LLVM commit a686b5f8bf7b5a2ab636c0c2de5ad4c174aa33e0. C11 flag in LLVM commit 6784aeb9ef96e5735850fa7226ed0cb45cb82e75. Mark C90, C99 full support since 2.1. Might've been possibly a little later, but source spelunking that much back is difficult. Mark C11 full support since 3.0, which added _Static_assert in LLVM commit 3d9cbdc3e66e274d5d3cb94ce81a65478d9baae0.
* Clang: C flags cleanupRaul Tambre2021-02-251-6/+4
| | | | Don't need to set the options to empty strings if not supported.
* CMakeCCompilerId: Fix C standard detection in Clang MSVC modeRaul Tambre2021-02-251-3/+2
| | | | | | Clang doesn't define __STDC__ if in MSVC compatibility mode, but does define __STDC_VERSION__. Avoid the fallback for this combination.
* Merge topic 'cuda_clang_implicit'Brad King2021-02-251-2/+2
|\ | | | | | | | | | | | | 23753be1cc Clang/CUDA: Restore needed references to implicit link variables Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5855
| * Clang/CUDA: Restore needed references to implicit link variablesRaul Tambre2021-02-241-2/+2
| | | | | | | | | | | | | | | | In commit 4620cf77f2 (Clang: Remove unused CUDA implicit link variables, 2021-02-14) we removed some references. It turns out they are non-empty and necessary if using a non-scattered installation. Fixes: #21863
* | Merge topic 'nvhpc-minor-fixes'Brad King2021-02-251-0/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 72efd95add PGI: Explicitly specify CMAKE_CXX98_STANDARD_COMPILE_OPTION 6bfb2c6175 HELP: Update compile-features documentation with missing compilers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5857
| * | PGI: Explicitly specify CMAKE_CXX98_STANDARD_COMPILE_OPTIONRobert Maynard2021-02-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The PGI ( and NVIDIA HPC ) compilers default C++ standard level are based on the GCC system headers it is compiling against. Therefore on newer platforms the default C++ level will be >= 11 and requesting C++98 compilation mode will fail as no explicit flag will be set.
| * | Merge topic 'better_cuda_compiler_detection_error_messages' into release-3.20Brad King2021-02-241-5/+5
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | a0fc64ac24 CUDA: Improve error messages when CUDA compiler detection fails Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !5844
| * \ \ Merge topic 'nag-fortran-include-moddir' into release-3.20Brad King2021-02-231-0/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ec030877a2 NAG: Fix using Fortran modules from their output directory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5842
| * \ \ \ Merge topic 'fix-IS_NEWER_THAN-usage' into release-3.20Brad King2021-02-223-6/+26
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b0da671243 FetchContent: Don't update timestamps if files don't change 404cddb7bb ExternalProject: Fix misuse of IS_NEWER_THAN in timestamp checks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5825
* | \ \ \ \ Merge topic 'better_cuda_compiler_detection_error_messages'Brad King2021-02-241-5/+5
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | / | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | a0fc64ac24 CUDA: Improve error messages when CUDA compiler detection fails Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !5844
| * | | | CUDA: Improve error messages when CUDA compiler detection failsRobert Maynard2021-02-231-5/+5
| | | | |
* | | | | Merge topic 'nag-fortran-include-moddir'Brad King2021-02-231-0/+1
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | ec030877a2 NAG: Fix using Fortran modules from their output directory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5842
| * | | | NAG: Fix using Fortran modules from their output directoryBrad King2021-02-221-0/+1
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The NAG Fortran compiler's `-mdir` flag sets the module output directory but does not add the directory to the search path for using modules. This is inconsistent with other compilers like the GNU Fortran compiler's `-J` flag that does both. In order to make these consistent, add the module output directory with a `-I` flag on the NAG Fortran compiler so that it will be searched when using modules too. We already do this for the XL Fortran compiler since commit 210b0b99a9 (XL: Fix using Fortran modules from their output directory, 2020-02-28, v3.18.0-rc1~640^2~1).
| * | | Merge topic 'intel-fortran-preprocess' into release-3.20Brad King2021-02-192-4/+20
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c9244f369a IntelLLVM: Make explicit Fortran preprocessing under Ninja more robust 056d4bf528 Merge branch 'backport-intel-fortran-preprocess' af074c266e Intel: Make explicit Fortran preprocessing under Ninja more robust Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5826
| * \ \ \ Merge topic 'fix-intel-compiler-check' into release-3.20Brad King2021-02-181-1/+1
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dc7b6c2c06 DetermineCompiler: Fix copy-paste error in Intel Compiler detection Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5818
* | \ \ \ \ Merge branch 'backport-FetchContent-timestamps' into fix-IS_NEWER_THAN-usageBrad King2021-02-223-6/+26
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | |
| * | | | | FetchContent: Don't update timestamps if files don't changeCraig Scott2021-02-221-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The refactoring in 17e5516e60 (FetchContent: Invoke steps directly and avoid a separate sub-build, 2021-01-29) uses a different way of writing out the step scripts and updating time stamps when steps are executed. That inadvertently always wrote out the scripts for custom commands, even when the contents didn't change. This caused their timestamp to always be updated, resulting in those steps always being seen as out-of-date and needing to be re-executed. The way timestamps were checked to determine whether to re-execute a step also did not adequately account for file systems which only have second-resolution timestamps. The IS_NEWER_THAN if condition also returns true when timestamps are the same, so one needs to use the negative form to get a true "is newer than" test. ExternalProject is not susceptible to this problem because it uses file(GENERATE) to write out the script files and that only updates the file's timestamp if the contents change. It also mostly leaves timestamp checking to the build tool.
| * | | | | ExternalProject: Fix misuse of IS_NEWER_THAN in timestamp checksCraig Scott2021-02-222-2/+4
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using a file system which only has second resolution timestamps, there is a reasonably high likelihood of timestamps being the same. The IS_NEWER_THAN test returns true when timestamps are the same, so don't redo downloads when they match exactly.
* | | | | GoogleTest: Fix misuse of IS_NEWER_THAN in timestamp checkCraig Scott2021-02-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using a file system which only has second resolution timestamps, there is a reasonably high likelihood of timestamps being the same. The IS_NEWER_THAN test returns true when timestamps are the same, so don't redo test discovery when they match exactly.
* | | | | FortranCInterface: Fix misuse of IS_NEWER_THAN in timestamp checkCraig Scott2021-02-221-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using a file system which only has second resolution timestamps, there is a reasonably high likelihood of timestamps being the same. The IS_NEWER_THAN test returns true when timestamps are the same, so don't redo detection when they match exactly.
* | | | | Merge topic 'intel-fortran-preprocess'Brad King2021-02-192-4/+20
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c9244f369a IntelLLVM: Make explicit Fortran preprocessing under Ninja more robust 056d4bf528 Merge branch 'backport-intel-fortran-preprocess' af074c266e Intel: Make explicit Fortran preprocessing under Ninja more robust Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5826
| * | | | IntelLLVM: Make explicit Fortran preprocessing under Ninja more robustBrad King2021-02-181-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tell the Fortran compiler to write preprocessor output directly to a file, as we do for the GNU compiler. The previous "redirect stdout" approach could break during ABI detection with some `mpif90` wrappers that add version information to stdout when called with `-v`. Issue: #21828
| * | | | Merge branch 'backport-intel-fortran-preprocess'Brad King2021-02-181-2/+10
| |\ \ \ \
| | * | | | Intel: Make explicit Fortran preprocessing under Ninja more robustBrad King2021-02-181-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tell the Fortran compiler to write preprocessor output directly to a file, as we do for the GNU compiler. The previous "redirect stdout" approach could break during ABI detection with some `mpif90` wrappers that add version information to stdout when called with `-v`. Fixes: #21828
* | | | | | Merge topic 'fix-intel-compiler-check'Brad King2021-02-181-1/+1
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | dc7b6c2c06 DetermineCompiler: Fix copy-paste error in Intel Compiler detection Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5818
| * | | | | DetermineCompiler: Fix copy-paste error in Intel Compiler detectionGregor Jasny2021-02-171-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | Fixes: #21561 Fixes: a90d2a9eed (IntelLLVM: Add support for Intel LLVM-based compilers, 2020-11-02)
* | | | | Merge topic 'fetchcontent-patch-step-typo'Craig Scott2021-02-181-1/+1
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | bd876f3849 FetchContent: Restore patch command support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5822
| * | | | FetchContent: Restore patch command supportCraig Scott2021-02-171-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | The refactoring in 17e5516e60 (FetchContent: Invoke steps directly and avoid a separate sub-build, 2021-01-29) contained a typo which resulted in any PATCH_COMMAND being ignored. Fix the typo and add a test case that would have caught the regression.
| * | | Merge topic 'FindPython-fix-variable-handling' into release-3.20Brad King2021-02-161-2/+2
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | 754f4f6876 FindPython: fix erroneous variable handling Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5816
| * | | Merge topic 'FindPNG-advanced-variables' into release-3.20Brad King2021-02-161-2/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 17ae4e1bef FindPNG: only mark used variables as advanced Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5809
| * \ \ \ Merge topic 'IntelLLVM-unused-C17' into release-3.20Brad King2021-02-161-8/+3
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4642c81c72 IntelLLVM: Remove incomplete C17 support Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !5805
| * \ \ \ \ Merge topic 'cuda-nvcc-output' into release-3.20Brad King2021-02-153-9/+12
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9ea66b2d86 CUDA: Capture all nvcc output when extracting toolkit root Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Tested-by: Raul Tambre <raul@tambre.ee> Acked-by: Rong Ou <rong.ou@gmail.com> Merge-request: !5804
| * \ \ \ \ \ Merge topic 'FindGDAL-improvements' into release-3.20Brad King2021-02-151-14/+45
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 55e493928b FindGDAL: add release note f4b53fadda FindGDAL: support finding additional GDAL library names 1b2774450d FindGDAL: add support for skipping gdal-config 1621cb3eb1 FindGDAL: add documentation to cache variables 3caaff4c08 FindGDAL: conditionally set the output variables 3f6a4f2062 FindGDAL: mark cache variables as advanced 02e906305d FindGDAL: use execute_process instead of exec_program 140344da14 FindGDAL: fix some indentation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5799
* | \ \ \ \ \ \ Merge topic 'FindPython-fix-variable-handling'Brad King2021-02-161-2/+2
|\ \ \ \ \ \ \ \ | | |_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 754f4f6876 FindPython: fix erroneous variable handling Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5816
| * | | | | | | FindPython: fix erroneous variable handlingMarc Chevrier2021-02-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #21817
* | | | | | | | Merge topic 'cuda_cleanup'Brad King2021-02-164-49/+41
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | af38d5a1d4 Platform/Windows-NVIDIA-CUDA: Remove duplicated code 4dc1c9e525 CUDA: Fix spelling __IMPLICT_ -> __IMPLICIT_ 4620cf77f2 Clang: Remove unused CUDA implicit link variables Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5812
| * | | | | | | | Platform/Windows-NVIDIA-CUDA: Remove duplicated codeRaul Tambre2021-02-141-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the things are set in Platform/NVIDIA-CUDA and since we aren't setting them to different values there's no point in overriding them. Also fixed an unset() copy-paste error.