//
//  ReleaseProject.xcconfig
//
//  These are Release Configuration project settings for the gtest framework
//  and examples. It is set in the "Based On:" dropdown in the "Project" info
//  dialog.
//  This file is based on the Xcode Configuration files in:
//  https://github.com/google/google-toolbox-for-mac
// 

#include "General.xcconfig"
#include? "../../../../../LocalOverrides.xcconfig"

// subconfig/Release.xcconfig

// Optimize for space and size (Apple recommendation)
GCC_OPTIMIZATION_LEVEL = s

// Deploment postprocessing is what triggers Xcode to strip
DEPLOYMENT_POSTPROCESSING = YES

MACOSX_DEPLOYMENT_TARGET = $(MACOSX_DEPLOYMENT_TARGET_$(TARGET_MAC_OS_X_VERSION_MAJOR));
MACOSX_DEPLOYMENT_TARGET_101300 = 10.13;
MACOSX_DEPLOYMENT_TARGET_101400 = 10.14;
MACOSX_DEPLOYMENT_TARGET_101500 = 10.15;
MACOSX_DEPLOYMENT_TARGET_101600 = 10.16;
MACOSX_DEPLOYMENT_TARGET_110000 = 11.0;
MACOSX_DEPLOYMENT_TARGET_101700 = 10.17;

// No symbols
GCC_GENERATE_DEBUGGING_SYMBOLS = NO

// Dead code strip does not affect ObjC code but can help for C
DEAD_CODE_STRIPPING = YES

// NDEBUG is used by things like assert.h, so define it for general compat.
// ASSERT going away in release tends to create unused vars.
OTHER_CFLAGS = $(OTHER_CFLAGS) -DNDEBUG=1 -Wno-unused-variable

// When we strip we want to strip all symbols in release, but save externals.
STRIP_STYLE = all

ONLY_ACTIVE_ARCH = YES

SDKROOT = $(SDKROOT_$(USE_INTERNAL_SDK));
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
