zdoom-macos-deps/readme.md

44 lines
2.1 KiB
Markdown
Raw Normal View History

2020-06-21 07:21:12 +00:00
# *ZDoom binary dependencies for macOS
2016-10-23 07:45:46 +00:00
This repository contains all binary dependencies required to build macOS application bundles of [ZDoom-derived](https://zdoom.org) source ports. A few other projects are supported as well, with lesser priority though.
[![Build Targets](https://github.com/ZDoom/zdoom-macos-deps/actions/workflows/build.yml/badge.svg)](https://github.com/ZDoom/zdoom-macos-deps/actions/workflows/build.yml)
[![Lint Code](https://github.com/ZDoom/zdoom-macos-deps/actions/workflows/lint.yml/badge.svg)](https://github.com/ZDoom/zdoom-macos-deps/actions/workflows/lint.yml)
[![Test Libraries](https://github.com/ZDoom/zdoom-macos-deps/actions/workflows/test.yml/badge.svg)](https://github.com/ZDoom/zdoom-macos-deps/actions/workflows/test.yml)
## Usage
Download source code, and build a target
```sh
build.py --target=<target-name>
```
Build target from existing source code
```sh
build.py --source=<path-to-source-code>
```
Generate Xcode project instead of building target, and open it
```sh
build.py --source=...|--target=... --xcode
```
Run `build.py` without arguments for complete list of options.
## Prerequisites
2021-07-25 10:41:05 +00:00
Xcode 12.2 or newer is required in order to build universal binaries. Launch Xcode once to finish its installation. In theory, it is possible to use older versions of Xcode to build Intel target only by adding `--disable-arm` command line option.
## Directories
* `build` directory stores all intermediary files created during targets compilation, customizable with `--build-path` command line option
* `deps` directory stores all dependencies (headers, libraries, executable and additional files) in the corresponding subdirectories
* `output` directory stores built main targets, customizable with `--output-path` command line option
* `prefix` directory stores symbolic links to all dependencies combined as one build root
* `sdk` directory can contain macOS SDKs that will be picked if match with macOS deployment versions
* `source` directory stores targets source code, customizable with `--source-path` command line option
* `temp` directory stores temporary files, customizable with `--temp-path` command line option