Compiling Zandronum on Mac: Difference between revisions

From Zandronum Wiki
(more stuff added)
(more stuff added for sdl)
Line 1: Line 1:
'''Open a terminal and copy and paste the whole code box for each step.'''
==Install dependencies==
==Install dependencies==
[http://zandronum.com/ Zandronum] needs certain tools and development files in order to compile:
[http://zandronum.com/ Zandronum] needs certain tools and development files in order to compile:
Line 9: Line 8:
**[https://github.com/nigels-com/glew/releases GLEW]
**[https://github.com/nigels-com/glew/releases GLEW]
**[http://zandronum.com/essentials/fmod/ FMOD Ex] 4.44.64
**[http://zandronum.com/essentials/fmod/ FMOD Ex] 4.44.64
**[https://www.python.org/downloads/ Python3] (It Already on the Mac)
**[https://www.python.org/downloads/ Python3] (It's Already on the Mac)
**[https://www.openssl.org/source/ Openssl] ''(for Zandronum 1.3 or later)''
**[https://www.openssl.org/source/ Openssl] ''(for Zandronum 1.3 or later)''
**SQLite ''(for Zandronum 1.3 or later)''
**SQLite ''(for Zandronum 1.3 or later)''
Line 25: Line 24:


=== Command line Tools ===
=== Command line Tools ===
Open Terminal and paste this Command:
Open Terminal.app and paste this Command:
  xcode-select --install
  xcode-select --install
it will pop up this:  
it will pop up this:  
Line 52: Line 51:


== Create zandronum_build directory ==
== Create zandronum_build directory ==
This part is like Linux:  
Into Terminal.app and paste this Command::  
  mkdir -pv ~/zandronum_build
  mkdir -pv ~/zandronum_build


Line 60: Line 59:
Create a Directory like this:
Create a Directory like this:
  cd  ~/zandronum_build && mkdir -pv sdl_pack
  cd  ~/zandronum_build && mkdir -pv sdl_pack
Download [https://github.com/libsdl-org/SDL/releases/latest SDL2] and [https://github.com/libsdl-org/sdl12-compat/releases SDL 1.2 Compatibility] ,extract it and add it in to folder we just added above  
Download [https://github.com/libsdl-org/SDL/releases/latest SDL2] and [https://github.com/libsdl-org/sdl12-compat/releases SDL 1.2 Compatibility], extract it and add it in to folder we just added above  


Or
Or
Line 67: Line 66:
  git clone https://github.com/libsdl-org/sdl12-compat.git && git clone  https://github.com/libsdl-org/SDL.git
  git clone https://github.com/libsdl-org/sdl12-compat.git && git clone  https://github.com/libsdl-org/SDL.git
Click on the CMake app that you added into the applications, It will give you a warning that you downloaded third party app on mac, Just hit OK.
Click on the CMake app that you added into the applications, It will give you a warning that you downloaded third party app on mac, Just hit OK.
Click Browse Source, Choose where you put sdl12-compat in then open.
Better if you build it inside the source, So do the same in Browse Build. Add new folder into sdl12-compat called build
When you click Configure it will popup a window choose "Unix Makefile" (Its faster than using Xcode type) and click done ]
Config how the image looks below it should be like this:
[[File:SDL macOS 2.png|border|left|frameless|300x300px]]
<blockquote>Make Sure you disable SDL12TEST as we don't need it also make it x86_64 as the default arch because we are not using ARM64 till further releases.</blockquote>
When you checkmark advanced mode it should give you SDL2 Section.
Still config only SDL_INCLUDE_DIR Don't worry about the Library.
[[File:Sdl advanced.png|border|left|frameless]]
Generate, then Compile.
cd  ~/zandronum_build/sdl_pack/sdl12-compat/build/ && make
Tortoise HG

Revision as of 02:03, 30 August 2022

Install dependencies

Zandronum needs certain tools and development files in order to compile:

  • Required
  • Optional
    • Fluidsynth (For Midi Device)
    • zlib (Zandronum has a copy of it and will be statically compiled in if not found)
    • libbzip2 (possibly static)
    • libjpeg (possibly static)
    • HomeBrew or Macports (Not recommended for building using M1 or M2 (ARM64) CPU)
    • Rosetta 2 (for building X86_64 binaries using M1 or M2 (ARM64) CPU)

Installing Xcode

There are 3 ways to install Xcode:

Command line Tools

Open Terminal.app and paste this Command:

xcode-select --install

it will pop up this:

Install it (Beware its big so makes sure you got enough space and it takes awhile depending on your internet and drive speed)

App Store (if you have an newer system)

Xcode (Click the link. It will go straight to the App Store)

Apple developer (if you have an older system)

https://developer.apple.com/download/all/ (Sign In is required. it includes Command line Tools as well)

Installing from HomeBrew or Macports

HomeBrew (MacOS 10.15 - Latest)

brew install jpeg-turbo fluid-synth openssl sdl2 sdl12-compat

MacPorts (Legacy MacOS)

sudo port install jpeg-turbo fluid-synth openssl sdl2 sdl12-compat

Installing CMake GUI and TortoiseHG

Download CMake and TortoiseHG

Open up the DMG and copy them into Applications (or drag them).

Create zandronum_build directory

Into Terminal.app and paste this Command::

mkdir -pv ~/zandronum_build

Compiling SDL12-Compat

If you already have this installed using HomeBrew or Macports. Please skip this step.

Create a Directory like this:

cd  ~/zandronum_build && mkdir -pv sdl_pack

Download SDL2 and SDL 1.2 Compatibility, extract it and add it in to folder we just added above

Or

Clone it:

git clone https://github.com/libsdl-org/sdl12-compat.git && git clone  https://github.com/libsdl-org/SDL.git

Click on the CMake app that you added into the applications, It will give you a warning that you downloaded third party app on mac, Just hit OK.

Click Browse Source, Choose where you put sdl12-compat in then open.

Better if you build it inside the source, So do the same in Browse Build. Add new folder into sdl12-compat called build

When you click Configure it will popup a window choose "Unix Makefile" (Its faster than using Xcode type) and click done ] Config how the image looks below it should be like this:

Make Sure you disable SDL12TEST as we don't need it also make it x86_64 as the default arch because we are not using ARM64 till further releases.



When you checkmark advanced mode it should give you SDL2 Section. Still config only SDL_INCLUDE_DIR Don't worry about the Library.




Generate, then Compile.

cd  ~/zandronum_build/sdl_pack/sdl12-compat/build/ && make

Tortoise HG