Skip to content
  • Stephen Kelly's avatar
    OS X: Resolve compiler in /usr/bin to that reported by Xcode xcrun · 1f085e11
    Stephen Kelly authored and Brad King's avatar Brad King committed
    The compiler in the PATH on mac is a stub for a different delegate
    depending on the environment.  Rather than requiring xcode-select to
    change the used Xcode globally, users should be able to choose the
    compiler per-session.  That is possible with the DEVELOPER_DIR
    environment variable.
    
    However, the environment can change between running CMake and invoking
    the build.  In such cases, CMake prefers to record the relevant paths
    from the environment and use them when invoking the build.  That is not
    currently done for the compilers on APPLE, so the compiler used is not
    the one reported when running cmake:
    
     $ DEVELOPER_DIR=/Applications/Xcode2.app/Contents/Developer/ cc --version
     Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
     Target: x86_64-apple-darwin13.4.0
     Thread model: posix
    
     $ DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer/ cc --version
     Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
     Target: x86_64-apple-darwin13.4.0
     Thread model: posix
    
    Update that now by querying Xcode for the correct compiler path if
    the compiler located by ordinary means is located in /usr/bin.
    1f085e11