[cmake-developers] the default value in CMake 3.5.2 for CMAKE_OSX_DEPLOYMENT_TARGET is too low for Xcode6

James Burgess jamesrburgess at mac.com
Sun May 22 01:27:21 EDT 2016


Hi,
If you don’t set this you get 10.5. On any mac with Xcode 6 (7 is the latest) a CMake user will see strange problems if they use CMakeList.txt file that uses a module like Threads or Iconv that compile c++ files as part of their discovery. The message they get will be that package isn’t found and if they look in the error log it’ll stop at something like:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++   -Wno-deprecated-register -mmacosx-version-min=10.5  -DICONV_COMPILES -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/cmTC_4d911.dir/src.cxx.o  -o cmTC_4d911  /usr/lib/libiconv.dylib 
ld: library not found for -lgcc_s.10.5
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [cmTC_4d911] Error 1
make: *** [cmTC_4d911/fast] Error 2

Source file was:
#include <iconv.h>
    int main() {
       iconv(iconv_t(-1), 0, 0, 0, 0);
    }


-lgcc_s.10.5 not found. Not very helpful.

That library doesn’t exist on Xcode6 on up (it’s the gcc compiler intrinsics library). There is no gcc here even though apple installs something called /usr/bin/gcc (it is clang). 10.8 might be a better default.

- James


More information about the cmake-developers mailing list