Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fireblade-engine/pal
Fireblade platform abstraction layer
https://github.com/fireblade-engine/pal
platform spm swift swift-package-manager
Last synced: 2 months ago
JSON representation
Fireblade platform abstraction layer
- Host: GitHub
- URL: https://github.com/fireblade-engine/pal
- Owner: fireblade-engine
- License: mit
- Created: 2021-07-19T13:07:44.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-05T18:22:02.000Z (3 months ago)
- Last Synced: 2024-12-05T19:26:33.737Z (3 months ago)
- Topics: platform, spm, swift, swift-package-manager
- Language: Swift
- Homepage:
- Size: 152 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Fireblade PAL (Platform Abstraction Layer)
[](LICENSE)
[](https://github.com/fireblade-engine/pal/actions/workflows/ci-macos.yml)
[](https://github.com/fireblade-engine/pal/actions/workflows/ci-linux.yml)A lightweight platform abstraction layer in Swift. It is developed and maintained as part of the Fireblade Game Engine project.
## 🚀 Getting Started
These instructions will get you a copy of the project up and running on your local machine and provide a code example.
### 📋 Prerequisites
* [Swift Package Manager (SPM)](https://github.com/apple/swift-package-manager)
* [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) for formatting
* [Swiftlint](https://github.com/realm/SwiftLint) for linting - (optional)### 💻 Installing
Fireblade PAL is available for all platforms that support [Swift 5.7](https://swift.org/) and higher and the [Swift Package Manager (SPM)](https://github.com/apple/swift-package-manager).
Extend the following lines in your `Package.swift` file or use it to create a new project.
```swift
// swift-tools-version:5.7import PackageDescription
let package = Package(
name: "YourPackageName",
dependencies: [
.package(url: "https://github.com/fireblade-engine/pal.git", from: "0.1.0")
],
targets: [
.target(
name: "YourTargetName",
dependencies: ["FirebladePAL"])
]
)```
## 💁 How to contribute
If you want to contribute please see the [CONTRIBUTION GUIDE](CONTRIBUTING.md) first.
To start your project contribution run these in your command line:
1. `git clone [email protected]:fireblade-engine/pal.git fireblade-pal`
2. `cd fireblade-pal`
3. `make setupEnvironment`Before commiting code please ensure to run:
- `make pre-push`
This project is currently maintained by [Christian Treffs](https://github.com/ctreffs).
See also the list of [contributors](https://github.com/fireblade-engine/pal/contributors) who participated in this project.## 🔏 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details