#!/usr/bin/env bash set -euo pipefail cd "$(dirname "$0")" if [[ "$#" -lt 1 || "$#" -gt 2 ]]; then echo "usage: $0 [relative-prefix]" >&2 exit 1 fi set_name=$1 relative_prefix=${2:-} awk -v set_name="$set_name" -v relative_prefix="$relative_prefix" ' $0 ~ "^[[:space:]]*set\\(" set_name "([[:space:]]|$)" { in_list = 1 next } in_list && /^[[:space:]]*\)/ { exit } in_list { line = $0 sub(/^[[:space:]]*/, "", line) sub(/[[:space:]]*$/, "", line) if (line == "") { next } sub(/^\$\{CMAKE_CURRENT_SOURCE_DIR\}\//, "core/", line) if (line !~ /^core\// && relative_prefix != "") { line = relative_prefix line } print line } ' core/CMakeLists.txt