diff options
author | Brad King <brad.king@kitware.com> | 2023-03-16 13:05:55 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-03-16 13:06:04 (GMT) |
commit | 5f74e19abb7d9a30dfbae80ef9abf7f8cfeb74e6 (patch) | |
tree | eb496820f318674479c6f51012fd5a23dbaf0916 /Modules/CheckCCompilerFlag.cmake | |
parent | 671e4172bee68cdac01f9113a5a569c312bb5c65 (diff) | |
parent | 9e1b30121fc131f97c16e7c86224704c30fe9e17 (diff) | |
download | CMake-5f74e19abb7d9a30dfbae80ef9abf7f8cfeb74e6.zip CMake-5f74e19abb7d9a30dfbae80ef9abf7f8cfeb74e6.tar.gz CMake-5f74e19abb7d9a30dfbae80ef9abf7f8cfeb74e6.tar.bz2 |
Merge topic 'doc_varreq'
9e1b30121f Help:toolchain: refer to CheckSourceCompiles
cf48022dc5 Help:Check*: include CMAKE_REQUIRED_* vars to dedupe
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8300
Diffstat (limited to 'Modules/CheckCCompilerFlag.cmake')
-rw-r--r-- | Modules/CheckCCompilerFlag.cmake | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/Modules/CheckCCompilerFlag.cmake b/Modules/CheckCCompilerFlag.cmake index 696096d..cd89a55 100644 --- a/Modules/CheckCCompilerFlag.cmake +++ b/Modules/CheckCCompilerFlag.cmake @@ -11,25 +11,37 @@ Check whether the C compiler supports a given flag. .. code-block:: cmake - check_c_compiler_flag(<flag> <var>) + check_c_compiler_flag(<flag> <resultVar>) Check that the ``<flag>`` is accepted by the compiler without a diagnostic. Stores the result in an internal cache entry - named ``<var>``. - -This command temporarily sets the ``CMAKE_REQUIRED_DEFINITIONS`` variable -and calls the ``check_c_source_compiles`` macro from the -:module:`CheckCSourceCompiles` module. See documentation of that -module for a listing of variables that can otherwise modify the build. + named ``<resultVar>``. A positive result from this check indicates only that the compiler did not issue a diagnostic message when given the flag. Whether the flag has any effect or even a specific one is beyond the scope of this module. -.. note:: - Since the :command:`try_compile` command forwards flags from variables - like :variable:`CMAKE_C_FLAGS <CMAKE_<LANG>_FLAGS>`, unknown flags - in such variables may cause a false negative for this check. +The check is only performed once, with the result cached in the variable named +by ``<resultVar>``. Every subsequent CMake run will re-use this cached value +rather than performing the check again, even if the ``<code>`` changes. In +order to force the check to be re-evaluated, the variable named by +``<resultVar>`` must be manually removed from the cache. + +The compile and link commands can be influenced by setting any of the +following variables prior to calling ``check_c_compiler_flag()`` + +.. include:: /module/CMAKE_REQUIRED_FLAGS.txt + +.. include:: /module/CMAKE_REQUIRED_DEFINITIONS.txt + +.. include:: /module/CMAKE_REQUIRED_INCLUDES.txt + +.. include:: /module/CMAKE_REQUIRED_LINK_OPTIONS.txt + +.. include:: /module/CMAKE_REQUIRED_LIBRARIES.txt + +.. include:: /module/CMAKE_REQUIRED_QUIET.txt + #]=======================================================================] include_guard(GLOBAL) |