# CheckLinkerFlag

New in version 3.18.

Check whether the compiler supports a given link flag.

`check_linker_flag`

      check_linker_flag(<lang> <flag> <var>)

Check that the link `<flag>` is accepted by the `<lang>` compiler without a diagnostic. Stores the result in an internal cache entry named `<var>`.

This command temporarily sets the `CMAKE_REQUIRED_LINK_OPTIONS` variable and calls the `check_<lang>_source_compiles` macro from the `Check<lang>SourceCompiles` module (`CheckCSourceCompiles`, `CheckCSourceCompiles`, `CheckCXXSourceCompiles`, `CheckOBJCSourceCompiles`, `CheckOBJCXXSourceCompiles` or `CheckFortranSourceCompiles`). See documentation of these modules for a listing of variables that can otherwise modify the build.

The underlying implementation rely on `LINK_OPTIONS` property to check the specified flag. The `LINKER:` prefix, as described in `target_link_options()` command, can be used as well.

A positive result from this check indicates only that the compiler did not issue a diagnostic message when given the link flag. Whether the flag has any effect or even a specific one is beyond the scope of this module.

Note

Since the `try_compile()` command forwards flags from variables like `CMAKE_<LANG>_FLAGS`, unknown flags in such variables may cause a false negative for this check.