2020-06-21 07:21:12 +00:00
# *ZDoom binary dependencies for macOS
2016-10-23 07:45:46 +00:00
2021-01-20 14:28:31 +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.
2022-08-28 06:39:53 +00:00
[![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)
2022-06-23 07:46:01 +00:00
2021-01-20 14:28:31 +00:00
## Usage
Download source code, and build a target
2021-01-23 13:58:01 +00:00
```sh
2021-01-20 14:28:31 +00:00
build.py --target=< target-name >
2016-10-29 09:38:49 +00:00
```
2019-11-05 10:17:49 +00:00
2021-01-20 14:28:31 +00:00
Build target from existing source code
2019-11-05 10:17:49 +00:00
2021-01-23 13:58:01 +00:00
```sh
2021-01-20 14:28:31 +00:00
build.py --source=< path-to-source-code >
```
2019-11-05 10:17:49 +00:00
2021-01-20 14:28:31 +00:00
Generate Xcode project instead of building target, and open it
2019-11-05 10:17:49 +00:00
2021-01-23 13:58:01 +00:00
```sh
2021-01-20 14:28:31 +00:00
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.
2021-01-20 14:28:31 +00:00
2021-06-16 13:21:41 +00:00
## 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
2022-10-12 07:34:08 +00:00
* `temp` directory stores temporary files, customizable with `--temp-path` command line option
2021-06-16 13:21:41 +00:00
2021-01-20 14:28:31 +00:00
## Common information
2022-06-23 07:46:01 +00:00
Libraries were built using 10.12 SDK (Intel x86_64) and 11.0 SDK (ARM64).
macOS 10.12 SDK was obtained from Xcode 8.3.3. macOS 11.0 SDK was obtained from Xcode 12.2.