Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions recipes/cmakefmt/bld.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
@echo on

set "CARGO_PROFILE_RELEASE_STRIP=symbols"
set "CARGO_PROFILE_RELEASE_LTO=fat"

cargo-bundle-licenses --format yaml --output THIRDPARTY.yml || exit 1

cargo install --no-track --locked --root "%PREFIX%" --path . || exit 1
33 changes: 33 additions & 0 deletions recipes/cmakefmt/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/usr/bin/env bash
set -euxo pipefail

export CARGO_PROFILE_RELEASE_STRIP=symbols
export CARGO_PROFILE_RELEASE_LTO=fat

# Ensure enough Mach-O header padding for conda-build's install_name_tool
# post-processing on macOS.
if [[ "$(uname)" == "Darwin" ]]; then
export RUSTFLAGS="${RUSTFLAGS:-} -C link-args=-Wl,-headerpad_max_install_names"
fi

cargo-bundle-licenses --format yaml --output THIRDPARTY.yml

cargo install --no-track --locked --root "${PREFIX}" --path .

# Shell completions
"${PREFIX}/bin/cmakefmt" --generate-completion bash > cmakefmt.bash
"${PREFIX}/bin/cmakefmt" --generate-completion zsh > _cmakefmt
"${PREFIX}/bin/cmakefmt" --generate-completion fish > cmakefmt.fish

mkdir -p "${PREFIX}/share/bash-completion/completions"
mkdir -p "${PREFIX}/share/zsh/site-functions"
mkdir -p "${PREFIX}/share/fish/vendor_completions.d"
mkdir -p "${PREFIX}/share/man/man1"

install -m644 cmakefmt.bash "${PREFIX}/share/bash-completion/completions/cmakefmt"
install -m644 _cmakefmt "${PREFIX}/share/zsh/site-functions/_cmakefmt"
install -m644 cmakefmt.fish "${PREFIX}/share/fish/vendor_completions.d/cmakefmt.fish"

# Man page
"${PREFIX}/bin/cmakefmt" --generate-man-page > cmakefmt.1
install -m644 cmakefmt.1 "${PREFIX}/share/man/man1/cmakefmt.1"
42 changes: 42 additions & 0 deletions recipes/cmakefmt/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{% set version = "0.4.0" %}

package:
name: cmakefmt
version: {{ version }}

source:
url: https://github.com/cmakefmt/cmakefmt/archive/refs/tags/v{{ version }}.tar.gz
sha256: 50ce41d832bc2a2edb7aac2ebfcb34e440dbf6694f2be3c05f7328049f2de206

build:
number: 0

requirements:
build:
- {{ compiler('c') }}
- {{ stdlib('c') }}
- cargo-bundle-licenses
- rust

test:
commands:
- cmakefmt --help
- cmakefmt --version

about:
home: https://cmakefmt.dev
license: MIT OR Apache-2.0
license_file:
- LICENSE
- THIRDPARTY.yml
summary: A fast, correct CMake formatter
description: |
cmakefmt is a fast, correct, configurable CMake formatter written in Rust.
It is a native-binary drop-in replacement for cmake-format with full
legacy config conversion support.
dev_url: https://github.com/cmakefmt/cmakefmt
doc_url: https://cmakefmt.dev

extra:
recipe-maintainers:
- puneetmatharu
Loading