CMAKE_OSX_SYSROOT is not properly stored in CMakeCache.txt
Here is a shell script (you can also just copy/paste into Terminal) that shows the the problem in cmake version 3.6.2. CMAKE_OSX_SYSROOT is not stored in CMakeCache.txt
which makes a subsequent run of cmake produce an error:
#! /bin/sh
touch foo.c
cat <<EOF > CMakeLists.txt
cmake_minimum_required (VERSION 3.0)
set( CMAKE_OSX_SYSROOT "/") # means current OS X
set( CMAKE_OSX_DEPLOYMENT_TARGET "10.6" CACHE STRING "Deployment target for OSX" FORCE)
add_library(foo STATIC
foo.c
)
EOF
mkdir build
cd build
cmake ..
ack OSX
# CMakeCache.txt
# 119://Build architectures for OSX
# 120:CMAKE_OSX_ARCHITECTURES:STRING=
# 122://Deployment target for OSX
# 123:CMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.6
# 127:CMAKE_OSX_SYSROOT:STRING=
#
cmake ..
# CMake Error at /usr/local/Cellar/cmake/3.6.2/share/cmake/Modules/Platform/Darwin.cmake:76 (message):
# CMAKE_OSX_DEPLOYMENT_TARGET is '10.6' but CMAKE_OSX_SYSROOT: