"use strict";(self.webpackChunkmodio_docs=self.webpackChunkmodio_docs||[]).push([[8784],{8658:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>m,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var o=n(4848),i=n(8453);const s={id:"mac-getting-started",title:"Getting Started",slug:"/cppsdk/macos/getting-started",sidebar_position:0,custom_edit_url:"https://github.com/modio/modio-sdk-internal/blob/develop/platform/macos/doc/getting-started.mdx"},a="Getting Started",r={id:"game-integration/cppsdk/macos/mac-getting-started",title:"Getting Started",description:"mod.io MacOS SDK Integration",source:"@site/public/en-us/game-integration/cppsdk/macos/getting-started.mdx",sourceDirName:"game-integration/cppsdk/macos",slug:"/cppsdk/macos/getting-started",permalink:"/cppsdk/macos/getting-started",draft:!1,unlisted:!1,editUrl:"https://github.com/modio/modio-sdk-internal/blob/develop/platform/macos/doc/getting-started.mdx",tags:[],version:"current",sidebarPosition:0,frontMatter:{id:"mac-getting-started",title:"Getting Started",slug:"/cppsdk/macos/getting-started",sidebar_position:0,custom_edit_url:"https://github.com/modio/modio-sdk-internal/blob/develop/platform/macos/doc/getting-started.mdx"},sidebar:"sidebar",previous:{title:"CMake Integration",permalink:"/cppsdk/linux/cmake-integration"},next:{title:"CMake Integration",permalink:"/cppsdk/mac/cmake-integration"}},d={},c=[{value:"mod.io MacOS SDK Integration",id:"modio-macos-sdk-integration",level:2},{value:"MacOS SDK Versions",id:"macos-sdk-versions",level:2},{value:"macOS Dependencies",id:"macos-dependencies",level:2}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"getting-started",children:"Getting Started"}),"\n",(0,o.jsx)(t.h2,{id:"modio-macos-sdk-integration",children:"mod.io MacOS SDK Integration"}),"\n",(0,o.jsxs)(t.p,{children:["The use of MacOS with the mod.io SDK is ready by default. You can find the ",(0,o.jsx)(t.code,{children:"macos`` directory in the platform subdirectory of your SDK installation. You can then target "}),"MACOS` to compile the mod.io SDK for MacOS SDK."]}),"\n",(0,o.jsx)(t.h2,{id:"macos-sdk-versions",children:"MacOS SDK Versions"}),"\n",(0,o.jsx)(t.p,{children:"The mod.io SDK is built and tested against MacOS using XCode v14 & v15.1. Using different versions of the MacOS SDK may result in compilation issues."}),"\n",(0,o.jsxs)(t.p,{children:["In MacOS, the default way to compile the mod.io SDK requires CMake, which you can install following the ",(0,o.jsx)(t.a,{href:"https://cmake.org/download/",children:"CMake"})," instructions or using a package manager like ",(0,o.jsx)(t.code,{children:"brew"}),":"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-cmake",children:"brew install cmake ninja\n"})}),"\n",(0,o.jsxs)(t.p,{children:["NOTE: You can use Ninja or XCode as project generators. The former works like any other C++ project. The later will create a ",(0,o.jsx)(t.code,{children:".xcodeproj"})," file in the designated output folder."]}),"\n",(0,o.jsx)(t.h2,{id:"macos-dependencies",children:"macOS Dependencies"}),"\n",(0,o.jsxs)(t.p,{children:["The mod.io SDK for development on macOS / iOS requires Clang 10 or GCC 10 or later, which come included in the XCode installation. XCode 14 or later is recommended. To install CMake 3.20 or Ninja 1.10, it is recommended to use ",(0,o.jsx)(t.a,{href:"https://brew.sh",children:"brew"})," as follows:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-bash",children:"brew install cmake ninja\n"})}),"\n",(0,o.jsx)(t.p,{children:"The minimum deployment target is macOS 12.0."})]})}function m(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>r});var o=n(6540);const i={},s=o.createContext(i);function a(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]);