Hi, Sorry a small correction.
There is no such thing as "NO_CMAKE_SYSROOT". find_file(AWSSDK_CORE_HEADER_FILE Aws.h "${AWSSDK_ROOT_DIR}/${AWSSDK_INSTALL_INCLUDEDIR}/aws/core" "${AWSSDK_DEFAULT_ROOT_DIR}/${AWSSDK_INSTALL_INCLUDEDIR}/aws/core" NO_CMAKE_FIND_ROOT_PATH * NO_CMAKE_SYSTEM_PATH* ) Regards, Ugesh On Wed, Jul 31, 2019 at 9:49 AM ugesh reddy <abhiugeshre...@gmail.com> wrote: > Hi, > > I also have the same issue with find_file/find_path/find_package when I > use the Android NDK and Eric's explanation make sense. > > One way to solve this > > find_file(AWSSDK_CORE_HEADER_FILE Aws.h > "${AWSSDK_ROOT_DIR}/${AWSSDK_INSTALL_INCLUDEDIR}/aws/core" > > "${AWSSDK_DEFAULT_ROOT_DIR}/${AWSSDK_INSTALL_INCLUDEDIR}/aws/core" > * NO_CMAKE_FIND_ROOT_PATH* > * NO_CMAKE_SYSROOT* > ) > > Regards, > Ugesh Gurram. > > On Wed, Jul 31, 2019 at 9:16 AM Eric Doenges <doen...@mvtec.com> wrote: > >> Am 31.07.19 um 08:20 schrieb Stephan Menzel: >> >> Hello all, >> >> I'm trying to adapt my CMake based toolchain to Android and I'm noticing >> very strange behavior that I'd like to ask about. >> My toolchain is C++ based with some dependencies such as Boost, OpenSSL >> or protobuf. So far it works on a variety of platforms such as Windows >> (MSVC), several Linuxes, including Raspbian on ARM. So I considered myself >> well prepared for Android, thinking it can't be that different. How wrong I >> was... I'm cross compiling from a Linux system, which is able to build the >> source in question just fine with clang and gcc. Most recent Android SDK >> and bundled NDK. >> >> As soon as I started building and finding my 3rd party dependencies I >> noticed that many commands in my own scripts or others that try to find a >> file (like a header) or a lib fail despite the file being there. >> Like here in this case for example (randomly taken from the AWS SDK >> installed CMake finders): >> >> 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. >> >> 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. >> >> With kind regards, >> Eric >> -- >> >> * Dr. Eric Dönges * >> Senior Software Engineer >> >> MVTec Software GmbH | Arnulfstr. 205 | 80634 Munich | Germany >> doen...@mvtec.com | Tel: +49 89 457 695-0 | www.mvtec.com >> >> Sign up <http://www.mvtec.com/newsletter> for our MVTec Newsletter! >> >> Geschäftsführer: Dr. Wolfgang Eckstein, Dr. Olaf Munkelt >> Amtsgericht München HRB 114695 >> >> >> [image: MVTec Software GmbH Logo] >> -- >> >> 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 >> > > > -- > Ugesh > -- Ugesh
-- 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