On Tue, 2019-06-04 at 19:38 +0530, vinay kumar Kotegowder wrote:
> The original intent of the snippet is to find the required tool chain
> (On windows : arm-none-eabi-gcc.exe or armclang.exe; On Linix :
> arm-none-eabi-gcc or armclang) path which can later be used to build
> the project.
> 
> I have been trying with find_program and find_path commands.
> My understanding was that it would find the program from root(which
> is
> C: in Windows and / in Linux) and all the sub directories underneath
> it but I learnt from your reply that it is not the case.
> 
> Can this be done? I mean, should it be possible to find the program
> without hard coding the path ?

It is possible to pass hints and paths to find_program() telling it
additional places to look ("it *might* be in C:/MinGW/whatever/bin"),
but other than that, find_program() does not search recursively. See
the find_program() documentation for more details:

https://cmake.org/cmake/help/v3.14/command/find_program.html

Again, for GCC, I strongly recommend that you use a toolchain file,
rather than setting CMAKE_C_COMPILER from inside your project. CMake
does a bunch of checks with the compiler when you first call project(),
which end up no longer being valid if you change CMAKE_C_COMPILER. (I
suppose you could set CMAKE_C_COMPILER from in your project before
calling project(), but I do not recommend this method.) You *can* call
find_program() from inside your toolchain file if you don't want to
hard-code the paths.

Kyle
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake

Reply via email to