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

Reply via email to