forked from iPlug2/iPlug2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
common-ios.xcconfig
100 lines (69 loc) · 4.1 KB
/
common-ios.xcconfig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
// this is used for macOS Developer ID / Appstore code-signing
CERTIFICATE_ID = Oliver Larkin
DEVELOPMENT_TEAM = 686EDA2T8T // log in to developer.apple.com and see the end of the URL e.g. https://developer.apple.com/account/#/overview/686EDA2T8T
// Which compiler to use
COMPILER = com.apple.compilers.llvm.clang.1_0
// which osx sdk to compile against - defaults to latest SDK available
BASE_SDK_IOS = iphoneos // latest SDK
CLANG_CXX_LANGUAGE_STANDARD = c++17
CLANG_CXX_LIBRARY = libc++
CLANG_WARN_DOCUMENTATION_COMMENTS = NO
CLANG_ENABLE_OBJC_WEAK = YES
// the minimum OS to support
IPHONEOS_DEPLOYMENT_TARGET = 14
SHARED_PRECOMPS_DIR = $(TARGET_BUILD_DIR)/PCH
// BUILD SETTINGS TO ENABLE DIFFERENT PREPROCESSOR MACROS, INCLUDE PATHS AND FUNCIONALITY-------------------------------
// ***** PREPROCESSOR MACROS
// macros for all debug/release/tracer builds
DEBUG_DEFS = DEVELOPMENT=1 DEBUG=1 _DEBUG
RELEASE_DEFS = RELEASE=1 NDEBUG=1
TRACER_DEFS = $DEBUG_DEFS TRACER_BUILD // here you can change if a TRACER build is a DEBUG or RELEASE build
// macros for individual plug-in format builds etc
ALL_DEFS = NOMINMAX
AUv3_DEFS = AUv3_API IPLUG_EDITOR=1 IPLUG_DSP=1
// ***** HEADER INCLUDE PATHS
// Where the SDKs etc. are located in relation to the plug-in Xcode project (which is in the projects subfolder of an IPlug project)
// the top level iPlug2 folder e.g. where this common.xcconfig is
PROJECT_ROOT = $(SRCROOT)/..
DEPS_PATH = $(IPLUG2_ROOT)/Dependencies
// IPlug dependencies
WDL_PATH = $(IPLUG2_ROOT)/WDL
IPLUG_PATH = $(IPLUG2_ROOT)/IPlug
AUv3_PATH = $(IPLUG_PATH)/AUv3
SWELL_PATH = $(WDL_PATH)/swell
EXTRAS_PATH = $(IPLUG_PATH)/Extras
EXTRAS_INC_PATHS = $(EXTRAS_PATH) $(EXTRAS_PATH)/Faust $(EXTRAS_PATH)/OSC $(EXTRAS_PATH)/HIIR $(EXTRAS_PATH)/WebSocket
JSON_INC_PATH = $(DEPS_PATH)/Extras/nlohmann
// this build setting is included at the xcode project level, since we need all these include paths
IPLUG_INC_PATHS = $(PROJECT_ROOT) $(WDL_PATH) $(IPLUG_PATH) $(EXTRAS_INC_PATHS) $(AUv3_PATH) $(JSON_INC_PATH)
BUILT_LIBS_PATH = $(DEPS_PATH)/Build/ios
BUILT_LIBS_INC_PATH = $(BUILT_LIBS_PATH)/include
BUILT_LIBS_LIB_PATH = $(BUILT_LIBS_PATH)/lib/$CURRENT_ARCH
IGRAPHICS_PATH = $(IPLUG2_ROOT)/IGraphics
CONTROLS_PATH = $(IGRAPHICS_PATH)/Controls
PLATFORMS_PATH = $(IGRAPHICS_PATH)/Platforms
DRAWING_PATH = $(IGRAPHICS_PATH)/Drawing
// IGraphics dependencies
IGRAPHICS_DEPS_PATH = $(DEPS_PATH)/IGraphics
NSVG_PATH = $(IGRAPHICS_DEPS_PATH)/NanoSVG/src
NVG_PATH = $(IGRAPHICS_DEPS_PATH)/NanoVG/src
NVGMTL_PATH = $(IGRAPHICS_DEPS_PATH)/MetalNanoVG/src
STB_PATH = $(DEPS_PATH)/IGraphics/STB
YOGA_PATH = $(DEPS_PATH)/IGraphics/yoga
SKIA_PATH = $(DEPS_PATH)/Build/src/skia
SKIA_INC_PATHS = $(SKIA_PATH) $(SKIA_PATH)/include/core $(SKIA_PATH)/include/effects $(SKIA_PATH)/include/config $(SKIA_PATH)/include/utils $(SKIA_PATH)/include/utils/mac $(SKIA_PATH)/include/gpu $(SKIA_PATH)/third_party/externals/icu/source/common $(SKIA_PATH)/modules/svg/include
YOGA_INC_PATHS = $(YOGA_PATH) $(YOGA_PATH)/yoga
// you can optionally include this build setting, by adding it to EXTRA_INC_PATHS in MyProject.xcconfig in order to get all varieties of IGraphics suppor
IGRAPHICS_INC_PATHS = $(IGRAPHICS_PATH) $(CONTROLS_PATH) $(PLATFORMS_PATH) $(DRAWING_PATH) $(NSVG_PATH) $(NVG_PATH) $(NVGMTL_PATH) $(SKIA_INC_PATHS) $(FT_PATH) $(STB_PATH) $(YOGA_INC_PATHS)
//FAUST_INC_PATHS = /usr/local/include /usr/local/opt/include
FAUST_INC_PATHS = $(DEPS_PATH)/Build/mac/include
LIB_SKIA = $(BUILT_LIBS_LIB_PATH)/libskia.a
LIB_SKOTTIE = $(BUILT_LIBS_LIB_PATH)/libskottie.a
LIB_SKSG = $(BUILT_LIBS_LIB_PATH)/libsksg.a
LIB_SKSHAPER = $(BUILT_LIBS_LIB_PATH)/libskshaper.a
LIB_SKPARAGRAPH = $(BUILT_LIBS_LIB_PATH)/libskparagraph.a
LIB_SKUNICODE = $(BUILT_LIBS_LIB_PATH)/libskunicode.a
LIB_SVG = $(BUILT_LIBS_LIB_PATH)/libsvg.a
SKIA_LNK_FLAGS = $(LIB_SKIA) $(LIB_SKOTTIE) $(LIB_SKSG) $(LIB_SKSHAPER) $(LIB_SKPARAGRAPH) $(LIB_SKUNICODE) $(LIB_SVG)
IGRAPHICS_LNK_FLAGS = $(SKIA_LNK_FLAGS)
AUv3_FRAMEWORKS = -framework AudioToolbox -framework AVFoundation -framework CoreAudioKit -framework QuartzCore -framework UIKit -framework CoreText -framework CoreGraphics -framework UniformTypeIdentifiers