For some reason, the default setting in all Toolchain.cmake
is:
```
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
```
For cross-compilation, CMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
makes sense (we only want to find executables in host system root),
but CMAKE_FIND_ROOT_PATH_MODE_LIBRARY/INCLUDE should be set
to ONLY, otherwise cmake may find libraries in host system root,
and try to link with incompatible libraries (instead of
cross-compilation sysroot).
Fixes#431.
This is necessary if one wants to be able to use libraries or
includes or programs installed locally (and not on the system
of the build machine, or in CMAKE_SYSROOT, or in CMAKE_FIND_ROOT_PATH).
According to cmake order for find_* functions, CMAKE_FIND_ROOT_PATH
will be searched before the system of the build machine anyway,
which doesn't dramatically change the current behavior.
This commit updates the toolchain to ensure libraries associated with arm
can be found. While a new root path needed to be set for armv6, the
most recent armv7 toolchain doesn't require to explicitly set a new
root.