# CMAKE_SYSTEM_IGNORE_PATH

Semicolon-separated list of directories to be ignored by the various `find...()` commands.

For `find_program()`, `find_library()`, `find_file()`, and `find_path()`, any file found in one of the listed directories will be ignored. The listed directories do not apply recursively, so any subdirectories to be ignored must also be explicitly listed. `CMAKE_SYSTEM_IGNORE_PATH` does not affect the search prefixes used by these four commands. To ignore individual paths under a search prefix (e.g. `bin`, `include`, `lib`, etc.), each path must be listed in `CMAKE_SYSTEM_IGNORE_PATH` as a full absolute path. `CMAKE_SYSTEM_IGNORE_PREFIX_PATH` provides a more appropriate way to ignore a whole search prefix.

`find_package()` is also affected by `CMAKE_SYSTEM_IGNORE_PATH`, but only for Config mode searches. Any `<Name>Config.cmake` or `<name>-config.cmake` file found in one of the specified directories will be ignored. In addition, any search prefix found in `CMAKE_SYSTEM_IGNORE_PATH` will be skipped for backward compatibility reasons, but new code should prefer to use `CMAKE_SYSTEM_IGNORE_PREFIX_PATH` to ignore prefixes instead.

Ignoring search locations can be useful in cross-compiling environments where some system directories contain incompatible but possibly linkable libraries. For example, on cross-compiled cluster environments, this allows a user to ignore directories containing libraries meant for the front-end machine.

`CMAKE_SYSTEM_IGNORE_PATH` is populated by CMake as part of its platform and toolchain setup. Its purpose is to ignore locations containing incompatible binaries meant for the host rather than the target platform. The project or end user should not modify this variable, they should use `CMAKE_IGNORE_PATH` instead.

See also the following variables:

- `CMAKE_SYSTEM_IGNORE_PREFIX_PATH`

- `CMAKE_SYSTEM_PREFIX_PATH`

- `CMAKE_SYSTEM_LIBRARY_PATH`

- `CMAKE_SYSTEM_INCLUDE_PATH`

- `CMAKE_SYSTEM_PROGRAM_PATH`