Go to file
Milen Dzhumerov f98e2dd8cd Add chmap project reference 2022-02-13 17:11:20 +00:00
Sources Bump version to 1.0.4 2019-07-27 14:47:29 +01:00
Tests Inline data files as Base64 strings 2017-08-26 17:44:07 +01:00
.gitignore Remove generated Xcode project 2017-08-21 21:39:52 +01:00
CHANGELOG.md v1.0 Release 2017-08-20 20:41:06 +01:00
LICENSE.md v1.0 Release 2017-08-20 20:41:06 +01:00
Package.resolved Update commander dependency 2019-07-27 12:44:55 +01:00
Package.swift Switch to Swift 5 2019-07-27 14:45:43 +01:00
README.md Add chmap project reference 2022-02-13 17:11:20 +00:00

README.md

What is this?

hmap is a command line tool to work with Clang header maps produced by Xcode. It is written in Swift.

NOTE: I've also created chmap, a cross-platform tool which provides similar functionality as hmap.

How to Get

  • Homebrew: brew install milend/taps/hmap
  • Grab a release from GitHub.
  • Build from source. See instructions below.

How to Use

To print the contents of a header map:

hmap print ~/path/to/header_map.hmap

To convert the contents of a binary header map to JSON:

hmap convert ~/header_map.hmap ~/header_map.json

hmap deduces file formats by looking at the file extensions of the paths.

You can also use the convert command to create a binary header map from JSON:

hmap convert ~/header_map.json ~/header_map.hmap

You can discover all the commands and options by using hmap --help.

Requirements

  • hmap requires Swift 5.
  • Starting from Xcode 10.2, Swift 5 command line tools require the Swift 5 runtime libraries which are included in macOS Majave 10.4.4. If you're running an earlier version of macOS, you need to install the Swift 5 Runtime Support for Command Line Tools.

Building from Source

Xcode

Before building with Xcode, you must download all dependencies by running:

swift package update

Then generate an Xcode project by running:

swift package generate-xcodeproj

Swift Package Manager

If you would like to build from the command line, run:

swift build

To produce a release build suitable for distribution, run:

swift build -c release

To verify that all tests pass, run:

swift test