From e1f603e64582e8f7d4d9fe7ba0149932d4f9d7b1 Mon Sep 17 00:00:00 2001 From: Max Podkorytov <4273004+tenpercent@users.noreply.github.com> Date: Tue, 19 Aug 2025 00:22:23 -0700 Subject: [PATCH] [Dev infra] cmake_ck_dev.sh inline docs and refactor argument list (#2689) * invoke script directly * script fixup * keep the docs update separate * add newline * escape arg * use portable way of setting IFS [ROCm/composable_kernel commit: 696ef05784677173e16078a6253329284dd464ed] --- script/cmake-ck-dev.sh | 47 ++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/script/cmake-ck-dev.sh b/script/cmake-ck-dev.sh index 25a1590808..b93555901e 100755 --- a/script/cmake-ck-dev.sh +++ b/script/cmake-ck-dev.sh @@ -1,44 +1,47 @@ #!/bin/bash -set -euo pipefail -IFS=$'\n\t' +# exit when a command exits with non-zero status; also when an unbound variable is referenced +set -eu +# pipefail is supported by many shells, not supported by sh and dash +set -o pipefail 2>/dev/null | true +# when treating a string as a sequence, do not split on spaces +IFS=$(printf '\n\t') -rm -f CMakeCache.txt -rm -f *.cmake -rm -rf CMakeFiles +# clean the build system files +find . -name CMakeFiles -type d -exec rm -rfv {} + +find . -name CMakeCache.txt -type f -exec rm -rv {} + -MY_PROJECT_SOURCE=$1 +if [ $# -ge 1 ]; then + MY_PROJECT_SOURCE="$1" + shift 1 +else + MY_PROJECT_SOURCE=".." +fi +GPU_TARGETS="gfx908;gfx90a;gfx942" -if [ $# -ge 2 ]; then - case "$2" in - gfx*) - GPU_TARGETS=$2 - shift 2 +if [ $# -ge 1 ]; then + case "$1" in + gfx*) + GPU_TARGETS=$1 + shift 1 echo "GPU targets provided: $GPU_TARGETS" - REST_ARGS=$@ ;; *) - echo "No GPU targets provided, using default targets: gfx908;gfx90a;gfx942" - GPU_TARGETS="gfx908;gfx90a;gfx942" - shift 1 - REST_ARGS=$@ + echo "No GPU targets provided, using default targets: $GPU_TARGETS" ;; esac else - echo "No GPU targets provided, using default targets: gfx908;gfx90a;gfx942" - GPU_TARGETS="gfx908;gfx90a;gfx942" - shift 1 - REST_ARGS=$@ + echo "No GPU targets provided, using default targets: $GPU_TARGETS" fi cmake \ -D CMAKE_PREFIX_PATH=/opt/rocm/ \ -D CMAKE_CXX_COMPILER=/opt/rocm/llvm/bin/clang++ \ --D CMAKE_CXX_FLAGS="-std=c++20 -O3 -ftemplate-backtrace-limit=0 -fPIE -Wno-gnu-line-marker" \ +-D CMAKE_CXX_FLAGS="-ftemplate-backtrace-limit=0 -fPIE -Wno-gnu-line-marker" \ -D CMAKE_BUILD_TYPE=Release \ -D BUILD_DEV=ON \ -D GPU_TARGETS=$GPU_TARGETS \ -D CMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -D USE_BITINT_EXTENSION_INT4=OFF \ -$REST_ARGS \ +$@ \ ${MY_PROJECT_SOURCE}