MacOS 64 bit vs OS X 64 bit folders

I’ve noticed that some of our projects build folders have the “macOS 64 bit” folder or the “os X 64 bit” folder. And one of them, has both of these folders.

The newer projects seem to have the “macOS 64 bit” folder.

What determines which of these folders is created when building an app for the mac? Is there some way to tell it which one you want to use?

Can you share what you get with what Xojo version ?

Basically the Xojo version. Newer versions use the current standard “macOS”. Older versions use the legacy name of that time “os X”.

Check what compilers you are using (I hope not more than 3), build a dummy app, take notice.

I am attaching a screenshot of an app that was built with 2024r2 just a few days ago. It is using the “OS X 64 bit” folder for Mac builds. Could it be that because this project was started with an older xojo version that it continuing to use that folder instead of the “macOS 64 bit” folder?

It could be. Remember, anyone that uses build automation (including Xojo) relies on those folder names being consistent, so the old pre-api2 projects would use the old name.

2 Likes

Apple renamed OS X to macOS in 2016 at the 10.12 Sierra announcement, so Xojo realigned their folder names at some point after. Maybe even before API2 in 2019?

Spot on.

I’ve created a project with 2019r1.1, built with 2024r1.1 (for Target macOS, Intel, 64Bit) → Builds - Projectname/OS X 64 bit

Then “Save as…”, which updates to newer IDE’s, with the warning:

Saving will update the project’s minimum IDE version to 2019r2.1. Are you sure you wish to save? | This change is not reversible. The project will no longer show API 1 items in autocomplete.

Build again → Builds - Projectname/macOS 64 bit


Not anyone using Build Automation relies on that :wink:

I’d even say: one shouldn’t rely on the name of the output folder in Build Automation being always an expected value (and thus wrongly hardcoded in scripts), as you get it with CurrentBuildLocation or CurrentBuildLocationNative.

1 Like

While we do have those functions, they aren’t available to external scripts unless you pass the values. Most of my heavy lifting is done with external scripts. I have to admit, the names are hardcoded in my scripts since I’m capable of debugging issues myself. The build process for Lifeboat is very cool :innocent:

Bingo! We do rely on these folders being consistent.

I’m attaching another build folder for a project that was originally created around 2014 or earlier and has been used consistently with the current version of xojo as we are pretty consistently upgrading to the newest release.

This project’s build folder is a total outlier because it has both a “macOS 64 bit” folder and a “os X 64 bit” folder. Why?

This application was re-compliled on the same day as the one I previously included a screenshot of and that one only has the “os X 64 bit” folder… why did this one switch to the “maxOS 64 bit” folder?

We have a separate application that we wrote to do our code signing and uploading to our website for customer download and it relies on these build folders being consistent. When this one changed, we found that this application was not getting updated (for the Mac). We eventually figured out that the build folder changed and it was posting old updates.

Can anyone explain this outlier?

If you are building Apple Silicon versions, I guess they are there, as they never were “OS X” targets in the past, they only came up in the macOS era with the Big Sur+ (11.0+)