[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