m/fzf
1
0
mirror of https://github.com/junegunn/fzf.git synced 2025-11-08 03:13:48 -05:00
Files
fzf/BUILD.md
Junegunn Choi 129cb23078 Require Go 1.23
2025-09-05 14:45:17 +09:00

1.9 KiB

Building fzf

Build instructions

Prerequisites

  • Go 1.23 or above

Using Makefile

# Build fzf binary for your platform in target
make

# Build fzf binary and copy it to bin directory
make install

# Build fzf binaries and archives for all platforms using goreleaser
make build

# Publish GitHub release
make release

Warning

Makefile uses git commands to determine the version and the revision information for fzf --version. So if you're building fzf from an environment where its git information is not available, you have to manually set $FZF_VERSION and $FZF_REVISION.

e.g. FZF_VERSION=0.24.0 FZF_REVISION=tarball make

Tip

To build fzf with profiling options enabled, set TAGS=pprof

TAGS=pprof make clean install
fzf --profile-cpu /tmp/cpu.pprof --profile-mem /tmp/mem.pprof \
    --profile-block /tmp/block.pprof --profile-mutex /tmp/mutex.pprof

Running tests

# Run go unit tests
make test

# Run integration tests (requires to be on tmux)
make itest

# Run a single test case
ruby test/runner.rb --name test_something

Third-party libraries used

License

MIT