On Mon, Mar 26, 2018 at 8:19 PM, James Weir <[email protected]> wrote:
> I’ve recently been experimenting with using Conan as a package manager for > our C++ components, the good news is most things work really well but I’ve > come across something which I’m not sure what the behaviour should be with > regards to CMake. The problem occurs for me when building for Darwin > targets (macOS and iOS), specifically around the behaviour of CMAKE_SYSROOT > and CMAKE_OSX_SYSROOT. > > In short conan cmake builder sets CMAKE_SYSROOT but not CMAKE_OSX_SYSROOT > and this causes me problems as I end up with multiple isysroot parameters > given to the compiler, typically the host one trumps and so I end up with > build errors due to trying to use includes from the macOS platform SDK > rather than the appropriate iOS one. I can work around it by setting > CMAKE_OSX_SYSROOT explicitly to to the same as CMAKE_SYSROOT and then > everything works correctly, but could someone tell me why there are two > SYSROOTs in the first place and what the expected behaviour should be? > While I can't answer the "why" part, my understanding is that CMAKE_SYSROOT isn't usually set when building for any Apple platform, but you do definitely want CMAKE_OSX_SYSROOT set as it is the one that controls the SDK used, etc. The CMAKE_OSX_SYSROOT can be something as simple as "iphoneos" rather than a full path to the actual SDK location (the need to use a full path to an SDK should be rare, it's usually going to be more flexible to specify just the basic family of SDK you want to use). -- Craig Scott Melbourne, Australia https://crascit.com
-- 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
