Loading...

// settings shared by all projects


// language versions
CLANG_CXX_LIBRARY = libc++
GCC_C_LANGUAGE_STANDARD = c11
CLANG_CXX_LANGUAGE_STANDARD = c++17

// clang warnings
CLANG_WARN_EMPTY_BODY = YES
GCC_WARN_SHADOW = YES
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES
GCC_ENABLE_CPP_EXCEPTIONS = NO
GCC_ENABLE_CPP_RTTI = NO
GCC_WARN_MISSING_PARENTHESES = YES
GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
GCC_WARN_UNINITIALIZED_AUTOS = YES
ENABLE_ATP_WERROR_9999099099000000 = -Werror // Hack to enable -Werror in ATP
WARNING_CFLAGS = $(ENABLE_ATP_WERROR_$(RC_ProjectCanonicalSourceVersion)) -Wmost -Wimplicit-fallthrough -Wno-unknown-pragmas

// clang optimization level
GCC_OPTIMIZATION_LEVEL_Release = s
GCC_OPTIMIZATION_LEVEL_Debug   = 0
GCC_OPTIMIZATION_LEVEL         = $(GCC_OPTIMIZATION_LEVEL_$(CONFIGURATION))

// linker options
DEAD_CODE_STRIPPING = YES
CURRENT_PROJECT_VERSION = $(RC_ProjectSourceVersion)


// Debug builds leave debug info in .o files, Release builds use .dSYM and strip debug map from DSTROOT
DEBUG_INFORMATION_FORMAT_Release = dwarf-with-dsym
DEBUG_INFORMATION_FORMAT_Debug   = dwarf
DEBUG_INFORMATION_FORMAT         = $(DEBUG_INFORMATION_FORMAT_$(CONFIGURATION))
COPY_PHASE_STRIP_Release         = YES
COPY_PHASE_STRIP_Debug           = NO
COPY_PHASE_STRIP                 = $(COPY_PHASE_STRIP_$(CONFIGURATION))
STRIP_INSTALLED_PRODUCT_Release  = YES
STRIP_INSTALLED_PRODUCT_Debug    = NO
STRIP_INSTALLED_PRODUCT          = $(STRIP_INSTALLED_PRODUCT_$(CONFIGURATION))
STRIPFLAGS                       = -S