summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler/CMakeCommonCompilerMacros.cmake
Commit message (Collapse)AuthorAgeFilesLines
* LICENSE: Replace references to Copyright.txt with LICENSE.rstKitware Robot2025-03-031-1/+1
| | | | | | | | | | ``` git grep -lz 'Copyright.txt or https://cmake.org/licensing ' | while IFS= read -r -d $'\0' f ; do sed -i '/Copyright.txt or https:\/\/cmake.org\/licensing / { s/Copyright.txt/LICENSE.rst/ }' "$f" ; done ```
* importstd: clarify when the experimental UUID must be availableBen Boeckel2024-05-151-1/+1
| | | | Fixes: #25980
* cxxmodules: give a reason for unavailability of `import std`Ben Boeckel2024-05-021-0/+15
| | | | | If the `CMAKE_CXX<STANDARD>_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE` variable is set, include its value in the error message.
* cxxmodules: provide a detection variable for `import std`Ben Boeckel2024-04-181-0/+3
|
* Experimental: add an experimental feature gate for `import std`Ben Boeckel2024-04-121-0/+11
|
* CMakeDetermineCompilerSupport: construct C++ modules targetsBen Boeckel2024-04-121-0/+35
| | | | | | | Compilers may implement this by implementing a `_cmake_cxx_import_std` function which takes the standard version as an argument (e.g., `23`) and creating a target named `CMake::CXX${std}` that represents how `import std;` should be represented within CMake.
* C++26: Fix C++/CUDA/HIP compile feature supportRaul Tambre2024-04-091-0/+9
| | | | | | | In commit f808d8afb9 (CMake: Support upcoming C++26 language level, 2022-08-19, v3.25.0-rc1~218^2) we forgot some necessary scaffolding. Fixes: #25819
* CompilerID: Compiler extensions default detectionRaul Tambre2021-09-281-6/+12
|
* HIP: Add language to CMakeRobert Maynard2021-06-071-0/+16
|
* C23 supportRaul Tambre2021-02-251-0/+3
|
* C17 supportRaul Tambre2021-02-251-0/+3
| | | | Implements #17755.
* CUDA, CXX, OBJCXX: C++23 support with Clang 12Raul Tambre2020-12-081-0/+6
| | | | | Clang 12 landed initial support for C++23 language mode flag -std={c|gnu}++2b in commit 6627a3c2873fdf7ccba1a1573371079be48b36e8.
* CUDA, CXX: Remove HAS_FULL_SUPPORT for C++17 and 20Raul Tambre2020-12-081-24/+4
| | | | | | CMake has no features for C++ versions past 14 and it seems unlikely we'd want to add any. Remove the related code.
* CUDA: Add cuda meta-features (e.g. ``cuda_std_11``) supportRobert Maynard2019-12-101-0/+44
|
* CompileFeatures: memoize C++ compilers with full language level supportRobert Maynard2019-04-091-5/+30
| | | | | | | Previously compilers that had full support for a language standard level were still verified every time a new build directory was created. Now we record this information and insert the correct granular compile features instead of doing a `try_compile`.
* CompileFeatures: memoize C compilers with full language level supportRobert Maynard2019-03-271-3/+18
| | | | | | | Previously compilers that had full support for a language standard level was forced to verify this every time a new build directory was created. Now we record this information and insert the correct granular compile features instead of doing a try_compile.
* Features: Add infrastructure for C++ 20 language standardBrad King2018-03-271-0/+3
| | | | Issue: #17849
* Compilers: Add default cmake_record_{c,cxx}_compile_features macrosChuck Atkins2017-05-291-0/+31
| | | | | | Add default implementations for the cmake_record_lang_compile_features macros. All implementations of this are the same so it can be safely factored out to a common implementation.
* Compilers: Add common macros to be used by various compilersChuck Atkins2017-05-011-0/+62
With numerous compilers now supporting multiple language standards in CMake, some common design patterns have begun to emerge. This is intended to be a collection of macros implementing many of those common design patterns that can be factored out and leveraged by many compilers. Currently this only contains the code to set the default language standard of not preset. More functionality will be added in the future as appropriate.