Skip to content
Nat! edited this page Mar 27, 2019 · 10 revisions

For Xcode integration it is recommended to use the "legacy workflow" with shared libraries, as it is simpler to setup and maintain.

Install "Legacy workflow"

brew install mulle-kybernetik/software/Foundation

Add mulle-clang as a compiler to Xcode

/usr/local/bin/mulle-clang-add-to-xcode

Change Project "Build Settings"

This has to be done for every new project. You may want to use a .xcconfig file to set this more easily. Edit the settings of the "project" not the "target". Check the "target" though that all changed settings a properly propagated.

Choose mulle-clang compiler

Set GCC_VERSION/Compiler for C/C++/Objective-C to "MulleClang/de.codeon.compilers.mulle-clang.

Disable Apple runtime features

Turn off CLANG_ENABLE_OBJC_ARC. Just hit DELETE. The project should revert to the default "NO".

Turn off CLANG_ENABLE_OBJC_WEAK. Just hit DELETE. The project should revert to the default "NO".

Set CLANG_LINK_OBJC_RUNTIME to "NO".

Turn off CLANG_ENABLE_MODULES. Just hit DELETE. The project should revert to the default "NO".

Set COMPILER_INDEX_STORE_ENABLE/Enable Index-While-Building Functionality to "NO".

Set GCC_C_LANGUAGE_STANDARD to "c11".

Add Search Paths

Add /usr/local/includeto HEADER_SEARCH_PATHS/Header Search Paths. Add /usr/local/lib to LIBRARY_SEARCH_PATHS.

Change Target "Build Phases"

Add libFoundation.dylib

open /usr/local/lib and then drag libFoundation.dylib to your Libraries to link against.

That's it.

Clone this wiki locally