summaryrefslogtreecommitdiffstats
path: root/Source/cmStandardLevelResolver.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'add_language_levels_for_cxx26'Brad King2022-09-011-12/+16
|\ | | | | | | | | | | | | | | f808d8afb9 CMake: Support upcoming C++26 language level Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !7601
| * CMake: Support upcoming C++26 language levelRobert Maynard2022-08-311-12/+16
| |
* | target_*: Fix cross-directory call backtracesBrad King2022-08-221-2/+5
|/ | | | | | | Record the call-site backtrace, not the current backtrace of the target's directory. Fixes: #23873
* Merge topic 'cmp0128_cuda'Brad King2022-01-241-2/+3
|\ | | | | | | | | | | | | | | | | | | ee1396e29e CMP0128: Add flag in OLD mode even when standard matches the default b2c25de8e0 CMP0128: Avoid test code duplication 3a089cd256 CMP0128: Prefix test names with mode e13dd52535 XL: Detect default extensions mode for legacy compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6890
| * CMP0128: Add flag in OLD mode even when standard matches the defaultRaul Tambre2022-01-231-2/+3
| | | | | | | | | | | | | | | | | | Commit 4a0485be (cmStandardLevelResolver: Avoid unnecessary flags, fix unset level logic, 2021-04-29) unintentionally changed the behavior by modifying the code to match a pre-existing comment. The resulting behavior change however matches the intentions of CMP0128, so we simply need to guard it. Fixes #23122.
* | cmStandardLevelResolver: Better error message on unsupported language levelRobert Maynard2022-01-111-2/+6
|/ | | | Fixes #23079
* CMP0128: Enable/disable extensions if standard same as defaultRaul Tambre2021-11-111-1/+2
| | | | | | | | | | | This was intended to be part of the initial MR (!6177), but accidentally went missing when debugging nightly failures on less common systems. Noticed during !6711 review as the comment about this behaviour didn't match the code. Documentation for CMP0128 is updated to remove a false case and note the two cases related to this. Fixes #22224.
* cmStandardLevelResolver: Avoid unnecessary flags, fix unset level logicRaul Tambre2021-09-291-15/+72
| | | | | | | | | | | | | | | | | | The changes are part of CMP0128. When the standard level is unset: * Flags are added if extension mode doesn't match the compiler's default. Previously logic only worked if LANG_EXTENSIONS was ON. Fixes #22224. * The full flag is used. Previously CMAKE_LANG_EXTENSION_COMPILE_OPTION was used. This was only supported for IAR. Otherwise: * Avoid adding flags if not necessary per the detected compiler defaults. * Fixed check for when the requested standard is older. It now matches the nearby comments. I reworded the fallback comment as its logic was a bit difficult to wrap my head around.
* Rename cmProp in cmValueMarc Chevrier2021-09-211-15/+15
|
* Refactor: cmStandardLevelResolver::ComputeFeaturesAvailable returns cmPropMarc Chevrier2021-08-121-3/+3
|
* cmStandardLevelResolver: Fixed typo in struct name + clang-formatJaak Ristioja2021-07-311-12/+14
|
* compile_features: Ignore features that map to languages that aren't enabledRobert Maynard2021-06-251-0/+4
| | | | | Remove the Cuda/ConsumeCompileFeatures test as it only existed to validate that using `cxx_std_XY` would cause the paired language (CUDA) to also build in mode XY.
* ObjectiveC: Add C17 and C23 supportGregor Jasny2021-06-111-2/+3
| | | | Issue: #22297
* HIP: Add language to CMakeRobert Maynard2021-06-071-3/+15
|
* cmStandardLevelResolver: Fix size assertion in constructorBrad King2021-06-031-1/+1
| | | | Assert sizes of the constructed vectors, not the moved-from inputs.
* Source: Remove unnecessary comparisons to nullptrVitaly Stakhovsky2021-05-101-1/+1
|
* C23 supportRaul Tambre2021-02-251-2/+2
|
* C17 supportRaul Tambre2021-02-251-2/+3
| | | | Implements #17755.
* cmStandardLevelResolver: Factor out helper to capture stoi exceptionsBrad King2021-01-051-15/+16
|
* CUDA, CXX, OBJCXX: C++23 support with Clang 12Raul Tambre2020-12-081-6/+6
| | | | | Clang 12 landed initial support for C++23 language mode flag -std={c|gnu}++2b in commit 6627a3c2873fdf7ccba1a1573371079be48b36e8.
* cmMakefile::GetDefinition: return cmPropVitaly Stakhovsky2020-09-021-13/+13
|
* Source: use cmNonempty()Vitaly Stakhovsky2020-07-281-2/+2
|
* Merge topic 'move_more_queries_to_cmStandardLevelResolver'Brad King2020-07-161-10/+149
|\ | | | | | | | | | | | | 56cf509a72 Move AddCompilerRequirementFlag to cmStandardLevelResolver Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4989
| * Move AddCompilerRequirementFlag to cmStandardLevelResolverRobert Maynard2020-07-151-10/+149
| | | | | | | | | | | | | | The cmLocalGenerator::AddCompilerRequirementFlag was another source of truth on what standard levels existed per language, so fold that into cmStandardLevelResolver to make updating CMake easier
* | cmNonempty: Convenience inlines to check for non-empty stringVitaly Stakhovsky2020-07-141-1/+1
|/
* fileapi: Support multiple backtraces for language standardJustin Goshi2020-07-061-1/+5
|
* cmStandardLevelResolver: Refactor to remove duplicate codeRobert Maynard2020-07-031-574/+190
| | | | This will make it easier to add new languages that have standard flags.
* cmStandardLevelResolver: Added to handle standard level queriesRobert Maynard2020-07-011-0/+779
Refactored out of cmMakefile