Jump to content

Build environment and deployment on the Mac


Recommended Posts

IMO, the 1% opacity trick should only be used within in the "0" of the icon. it actually makes some sense for the surrounding area to not be clickable.

I checked with system apps and reread the Apple Human Interface Guidelines on icons and this issue wasn't mentioned. However, system apps (iTunes, iSync) and even third party apps aren't clickable by transparent places. I've updated the icon file, thanks for letting me know.

Link to comment
Share on other sites

  • 2 weeks later...

Yes, there should definately be a 1% alpha inside the zero, and not outside. Details matter to Mac users—we wouldn't want to throw off the consistency of anyone's user experience :).

Wraitii, that's called "icon view", and it's the default. You are right in that it makes no difference in the Dock, Launchpad, or any Finder view besides Icon, though.

Edited by mk12
Link to comment
Share on other sites

  • 1 month later...

For those it may concern, I started using GitHub and made a fork/branch for the OS X build changes I've been working on. As far as I know, it should work for anyone as-is including Windows and Linux, though testing is welcome :) MacPorts is not needed or used anymore, instead the procedure for a basic build is something like this:

  • You need Apple's command line tools or similar, not necessarily Xcode, see http://trac.wildfiregames.com/wiki/BuildInstructions#OSX
  • You need to install CMake as part of the libraries script is to build NVTT with CMake
  • Run libraries/osx/build-osx-libs.sh once, that will download and build the dependencies the game needs for OS X, in the default configuration (no SDK)
  • Run build/workspaces/update-workspaces.sh to generate the Premake workspaces
  • I would recommend a command-line/GCC build, the Xcode workspace is slightly broken on 4.0+ but you might get it to work
  • When successfully built, you'll have a development version of the game as a loose binary (no bundle)

To build a bundle, the process is actually simple though it takes much longer and you need Xcode:

  • Open build/workspaces/build-osx-bundle.sh in a text editor and change variables as needed (e.g. SYSROOT must point to your Xcode SDKs directory)
  • It defaults to 10.6+ 64-bit build with Xcode 4.2+; it uses SVN too, so for Git it's likely necessary to comment out the svn commands from build-osx-bundle.sh
  • It builds the libraries and game against the chosen SDK, creates the data archive, creates the bundle structure and copies the game files into the bundle
  • At the end you should have a working 0ad.app bundle
  • The DMG packaging is currently done separately and by hand

Building a bundle takes 45 minutes to an hour on a Core i7 2600K test system. A standard binary is around 5 minutes, though the initial library build adds around 20-30 minutes for me, of course a developer would only do that once when they first checked out the source code.

Link to comment
Share on other sites

The best tool ever for automating DMG packaging is choctop

http://drnic.github.com/choctop/

although you need to set up a small ruby environment its easy and so worth it.

Thanks, I'll have to look into it. The only other solution I've seen involves AppleScript, which I know nothing about and heard it doesn't work reliably for this anyway :)

Link to comment
Share on other sites

Thank you for your great effort.

My 2008 MBP doesn't allow me to compile this huge project.

One simple question: Did you made newer compilation than v11843 ???

Incluiding new sound system or it's to early to talk about sound in Mac version ???

Play the game on mac without sound it's to weird.

Edited by memmaker650
Link to comment
Share on other sites

Thank you for your great effort.

My 2008 MBP doesn't allow me to compile this huge project.

One simple question: Did you made newer compilation than v11843 ???

Incluiding new sound system or it's to early to talk about sound in Mac version ???

Play the game on mac without sound it's to weird.

The new sound system isn't yet added to SVN, and it will not be included in any builds before it is. It should be added to SVN soon though, so unless something unexpected comes in the way it should definitely be included in the next release :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...