NeuralAmpModelerPlugin

Plugin for Neural Amp Modeler
Log | Files | Refs | Submodules | README | LICENSE

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