Thank you, Eric and Ugesh, Am Mi., 31. Juli 2019 um 09:16 Uhr schrieb Eric Doenges <[email protected]>:
> My experience has been that find_file and friends behave in unexpected > ways when you set CMAKE_SYSROOT. In our toolchain files, we set > set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) > set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) > set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) > set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) > > as suggested in the cmake-toolchains(7) documentation. We then add the > path to the top-level directory where we keep all our thirdparty > dependencies to CMAKE_FIND_ROOT_PATH, as otherwise find_package and > find_path cannot find anything even when we give them the absolute path > where to search (the find_file documentation suggests that the elements of > the CMAKE_FIND_ROOT_PATH are prepended to the paths specified in the > find_file arguments, but that does not seem to happen if the search paths > are subpaths of the CMAKE_FIND_ROOT_PATH). My guess would be that the NDK > does something similar, meaning you would need to add the path where to > look for AWS to CMAKE_FIND_ROOT_PATH. > I have just looked that up and yes, it would explain what I'm seeing. CMAKE_SYSROOT is being set by the toolchain file and it would appear as this would make all search hints and paths implicitly relative. I'm now trying to restructure my 3rd party management for this target to enable me to install my dependencies into the subdirs set as sysroot, hoping that they will then be found. Thanks for the suggestion, that looks promising. I will get back with more info on if and how that turned out. > CMake feature request: it would be real nice to have a verbose mode for > the find_XXX functions that tell you exactly where CMake is looking for > stuff and why to help debug problems like this. > Seconded. I always insert debug message() statements all over the place and then often forget to clean them up. Also, this way I can only verify the search paths are correct but not why find_file fails. Cheers, Stephan >
-- 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
