common-mac.xcconfig (7294B)
1 // this is used for macOS Developer ID / Appstore code-signing 2 CERTIFICATE_ID = Oliver Larkin 3 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 4 5 // Which compiler to use 6 //COMPILER = com.intel.compilers.icc.12_1_0 7 COMPILER = com.apple.compilers.llvm.clang.1_0 8 9 // which osx sdk to compile against - defaults to latest SDK available 10 BASE_SDK_MAC = macosx // latest SDK 11 12 CLANG_CXX_LANGUAGE_STANDARD = c++17 13 CLANG_CXX_LIBRARY = libc++ 14 15 CLANG_WARN_DOCUMENTATION_COMMENTS = NO 16 17 CLANG_ENABLE_OBJC_WEAK = YES 18 19 // the minimum OS to support 20 MACOSX_DEPLOYMENT_TARGET = 10.15 21 22 SHARED_PRECOMPS_DIR = $(TARGET_BUILD_DIR)/PCH 23 24 // BUILD SETTINGS TO ENABLE DIFFERENT PREPROCESSOR MACROS, INCLUDE PATHS AND FUNCIONALITY------------------------------- 25 26 // ***** PREPROCESSOR MACROS 27 28 // macros for all debug/release/tracer builds 29 DEBUG_DEFS = DEVELOPMENT=1 DEBUG=1 _DEBUG 30 RELEASE_DEFS = RELEASE=1 NDEBUG=1 31 TRACER_DEFS = $DEBUG_DEFS TRACER_BUILD // here you can change if a TRACER build is a DEBUG or RELEASE build 32 33 // macros for individual plug-in format builds etc 34 ALL_DEFS = NOMINMAX 35 PLUGIN_DEFS = SWELL_CLEANUP_ON_UNLOAD // macros for all plug-in builds 36 VST2_DEFS = VST2_API $PLUGIN_DEFS IPLUG_EDITOR=1 IPLUG_DSP=1 37 VST3_DEFS = VST3_API $PLUGIN_DEFS IPLUG_EDITOR=1 IPLUG_DSP=1 38 VST3C_DEFS = VST3C_API $PLUGIN_DEFS IPLUG_EDITOR=1 IPLUG_DSP=0 39 VST3P_DEFS = VST3P_API $PLUGIN_DEFS IPLUG_EDITOR=0 IPLUG_DSP=1 //NO_IGRAPHICS 40 AU_DEFS = AU_API $PLUGIN_DEFS IPLUG_EDITOR=1 IPLUG_DSP=1 41 AUv3_DEFS = AUv3_API $PLUGIN_DEFS IPLUG_EDITOR=1 IPLUG_DSP=1 42 AAX_DEFS = AAX_API $PLUGIN_DEFS IPLUG_EDITOR=1 IPLUG_DSP=1 43 APP_DEFS = APP_API __MACOSX_CORE__ IPLUG_EDITOR=1 IPLUG_DSP=1 SWELL_COMPILED// __UNIX_JACK__ 44 45 // ***** HEADER INCLUDE PATHS 46 // Where the SDKs etc. are located in relation to the plug-in Xcode project (which is in the projects subfolder of an IPlug project) 47 48 // the top level iPlug2 folder e.g. where this common-mac.xcconfig is 49 // should be specified in the project's xcconfig with a build settng IPLUG2_ROOT 50 51 PROJECT_ROOT = $(SRCROOT)/.. 52 53 PKGMAN_PATH = /usr/local 54 55 DEPS_PATH = $(IPLUG2_ROOT)/Dependencies 56 57 // if you want to use the homebrew or macports package managers, rather than building static libraries yourself (not advised) you can modify the BUILT_LIBS_PATH build setting to point to PKGMAN_PATH 58 BUILT_LIBS_PATH = $(DEPS_PATH)/Build/mac 59 BUILT_LIBS_INC_PATH = $(BUILT_LIBS_PATH)/include 60 BUILT_LIBS_LIB_PATH = $(BUILT_LIBS_PATH)/lib 61 62 // IPlug dependencies 63 SCRIPTS_PATH = $(IPLUG2_ROOT)/Scripts 64 WDL_PATH = $(IPLUG2_ROOT)/WDL 65 SWELL_PATH = $(WDL_PATH)/swell 66 IPLUG_PATH = $(IPLUG2_ROOT)/IPlug 67 RTAUDIO_PATH = $(DEPS_PATH)/IPlug/RTAudio 68 RTMIDI_PATH = $(DEPS_PATH)/IPlug/RTMidi 69 70 EXTRAS_PATH = $(IPLUG_PATH)/Extras 71 IMGUI_PATH = $(DEPS_PATH)/IGraphics/imgui 72 73 //faust is linked as a dynamic library 74 FAUST_LIB_PATHS = $(BUILT_LIBS_LIB_PATH) 75 FAUST_INC_PATHS = $(BUILT_LIBS_INC_PATH) 76 FAUST_LNK_FLAGS = $(BUILT_LIBS_LIB_PATH)/libfaust.dylib 77 78 CIVETWEB_INC_PATHS = $(BUILT_LIBS_INC_PATH) 79 CIVETWEB_LNK_FLAGS = $(BUILT_LIBS_LIB_PATH)/libcivetweb.a 80 81 JSON_INC_PATH = $(DEPS_PATH)/Extras/nlohmann 82 83 EXTRAS_INC_PATHS = $(EXTRAS_PATH) $(EXTRAS_PATH)/Synth $(EXTRAS_PATH)/Faust $(EXTRAS_PATH)/OSC $(EXTRAS_PATH)/HIIR $(EXTRAS_PATH)/WebSocket $(CIVETWEB_INC_PATHS) $(JSON11_PATH) $(RTAUDIO_PATH) $(RTMIDI_PATH) $(JSON_INC_PATH) 84 85 // Plug-in SDK paths 86 VST2_SDK = $(DEPS_PATH)/IPlug/VST2_SDK 87 VST3_SDK = $(DEPS_PATH)/IPlug/VST3_SDK 88 AAX_SDK = $(DEPS_PATH)/IPlug/AAX_SDK 89 REAPER_SDK = $(DEPS_PATH)/IPlug/Reaper 90 91 // this build setting is included at the xcode project level, since we need all these include paths 92 IPLUG_INC_PATHS = $(PROJECT_ROOT) $(WDL_PATH) $(SWELL_PATH) $(SWELL_FOR_IPLUG_PATH) $(IPLUG_PATH) $(EXTRAS_INC_PATHS) 93 94 IMGUI_INC_PATHS = $(IMGUI_PATH) $(IMGUI_PATH)/backends 95 96 IGRAPHICS_PATH = $(IPLUG2_ROOT)/IGraphics 97 98 // IGraphics dependencies 99 IGRAPHICS_DEPS_PATH = $(DEPS_PATH)/IGraphics 100 NSVG_PATH = $(IGRAPHICS_DEPS_PATH)/NanoSVG/src 101 NVG_PATH = $(IGRAPHICS_DEPS_PATH)/NanoVG/src 102 NVGMTL_PATH = $(IGRAPHICS_DEPS_PATH)/MetalNanoVG/src 103 STB_PATH = $(DEPS_PATH)/IGraphics/STB 104 FT_PATH = $(BUILT_LIBS_INC_PATH)/freetype2 105 SKIA_PATH = $(DEPS_PATH)/Build/src/skia 106 YOGA_PATH = $(DEPS_PATH)/IGraphics/yoga 107 108 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 109 110 YOGA_INC_PATHS = $(YOGA_PATH) $(YOGA_PATH)/yoga 111 112 // 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 support 113 IGRAPHICS_INC_PATHS = $(IGRAPHICS_PATH) $(IGRAPHICS_PATH)/Controls $(IGRAPHICS_PATH)/Platforms $(IGRAPHICS_PATH)/Drawing $(IGRAPHICS_PATH)/Extras $(NSVG_PATH) $(NVG_PATH) $(NVGMTL_PATH) $(BUILT_LIBS_INC_PATH) $(FT_PATH) $(STB_PATH) $(IMGUI_INC_PATHS) $(SKIA_INC_PATHS) $(YOGA_INC_PATHS) 114 115 // ***** LINKER/LIBRARY INCLUDE PATHS AND LINKER FLAGS 116 117 //Static library Paths - on macOS we need to supply an absolute path to the static library, otherwise it will pick up a dynamic library with the same name 118 LIB_FT = $(BUILT_LIBS_LIB_PATH)/libfreetype.a 119 LIB_PNG = $(BUILT_LIBS_LIB_PATH)/libpng.a 120 LIB_Z = $(BUILT_LIBS_LIB_PATH)/libz.a 121 LIB_CIVET = $(BUILT_LIBS_LIB_PATH)/libcivetweb.a 122 LIB_SKIA = $(BUILT_LIBS_LIB_PATH)/libskia.a 123 LIB_SKOTTIE = $(BUILT_LIBS_LIB_PATH)/libskottie.a 124 LIB_SKSG = $(BUILT_LIBS_LIB_PATH)/libsksg.a 125 LIB_SKSHAPER = $(BUILT_LIBS_LIB_PATH)/libskshaper.a 126 LIB_SKPARAGRAPH = $(BUILT_LIBS_LIB_PATH)/libskparagraph.a 127 LIB_SVG = $(BUILT_LIBS_LIB_PATH)/libsvg.a 128 LIB_SKUNICODE = $(BUILT_LIBS_LIB_PATH)/libskunicode.a 129 130 SKIA_LNK_FLAGS = $(LIB_SKIA) $(LIB_SKOTTIE) $(LIB_SKSG) $(LIB_SKSHAPER) $(LIB_SKPARAGRAPH) $(LIB_SVG) $(LIB_SKUNICODE) 131 FREETYPE_LNK_FLAGS = $(LIB_FT) //$(LIB_PNG) $(LIB_Z) 132 133 IGRAPHICS_LNK_FLAGS = $(SKIA_LNK_FLAGS) $(FREETYPE_LNK_FLAGS) 134 135 ALL_FRAMEWORKS = -framework Cocoa -framework Carbon -framework CoreFoundation -framework CoreData -framework Foundation -framework CoreServices -framework QuartzCore 136 APP_FRAMEWORKS = -framework AppKit -framework CoreMIDI -framework CoreAudio 137 AU_FRAMEWORKS = -framework AudioUnit -framework AudioToolbox -framework CoreAudio -framework CoreMIDI 138 AUv3_FRAMEWORKS = -framework AudioToolbox -framework AVFoundation -framework CoreAudio -framework CoreAudioKit 139 140 141 // ***** BINARY OUTPUT LOCATIONS ------------------------------------------------------------------------------------------------------------------------ 142 143 // Where to build the plug-ins / app bundles ... 144 // By default iPlug2 builds to user plug-in folder 145 // You can also build to the system plug-in folder, but you will need to explicitly add write permissions to build stuff there 146 // The AAX folder should be the location of the PT Dev build plug-ins folder, installer scripts will copy to the non-developer build 147 148 VST2_PATH = $(HOME)/Library/Audio/Plug-Ins/VST 149 VST3_PATH = $(HOME)/Library/Audio/Plug-Ins/VST3 150 AU_PATH = $(HOME)/Library/Audio/Plug-Ins/Components 151 AAX_PATH = /Library/Application Support/Avid/Audio/Plug-Ins 152 APP_PATH = $(HOME)/Applications 153 REAPER_EXT_PATH = $(HOME)/Library/Application Support/REAPER/UserPlugins