Blender 2.9 CUDA on Mac

I am very grateful for helping me to succeed Hugo!
It’s working successfully !!!


Hey Hugo, could you go into a bit more detail on this?

I managed to get a 2.93 Alpha build before, but now when I try to update & build again, I’m getting this error:

Configuring Blender in “/Users/joeyvfx/blender-git/build_darwin” …
– Detected OS X 10.14 and Xcode 10.1 at /Applications/
– OSX_SYSROOT_PREFIX: /Applications/
– Detected OSX_SYSROOT: /Applications/
CMake Error at build_files/cmake/platform/platform_apple.cmake:160 (message):
Python executable missing:
Call Stack (most recent call first):
CMakeLists.txt:917 (include)

Does the python version have anything to do with this? I’d love to know what you did to get that working. Thanks!

It’s because CMakeCache.txt has old variables/paths. Delete the file and start over.

The python3.9 lib is imported by cmake update (lib/darwin/python/lib/libpython3.9.a)… hopefully deleting CMakeCache.txt will work for you, but it didn’t for me… Instead I added the file blender/intern/ghost/intern/, and put the following code in it:

#import <Cocoa/Cocoa.h>

#include <cstdlib>
using std::size_t;

bool isPlatformVersionAtLeast(size_t major, size_t minor = 0, size_t patch = 0 ) {
   const NSOperatingSystemVersion version = {
       .majorVersion = static_cast<NSInteger>(major),
       .minorVersion = static_cast<NSInteger>(minor),
       .patchVersion = static_cast<NSInteger>(patch),
   // isOperatingSystemAtLeastVersion vs isOSVersionAtLeast
   return [[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:version];

extern "C" {
  bool __isPlatformVersionAtLeast(size_t major, size_t minor = 0, size_t patch = 0) {
    return isPlatformVersionAtLeast(major, minor, patch);

Then I added a conditional compile of the new file in the blender/intern/ghost/CMakeLists.txt (around line 410):


And added WITH_OLDOSX in the build command.
By the way can someone explain to me how to create a new extern lib that does get linked? I could get the code compiled and put in a lib as an extern section, but just not get the linker to pick it up during the final link.

Thank you Hugo, I managed to build it successfully with your instructions!
Although I installed cmake from a downloaded .dmg + manually add to paths because brew through me an error on this one, and after a few trials it started a potent brew of errors.
The git clone brought me the 3.0.0 Alpha branch but it worked.
Enabling OptiX denoiser crashed my computer and we’ll probably never get the 7.x SDK on mac to build with OptiX… I have a GTX 1060, and Optix denoiser works on Linux… :slight_smile: