From 76c6ac2ccd4eedef7be9624ebee2d1acd41da22a Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Sun, 29 Jun 2025 23:09:37 -0500 Subject: [PATCH] Update setup script naming convention --- ...up-debug.sh => setup-linux-ninja-debug.sh} | 0 ...up-multi.sh => setup-linux-ninja-multi.sh} | 3 +- ...elease.sh => setup-linux-ninja-release.sh} | 0 ...os-debug.sh => setup-macos-ninja-debug.sh} | 0 ...elease.sh => setup-macos-ninja-release.sh} | 0 tools/setup-macos-xcode-debug.sh | 30 +++++++++++++++++++ tools/setup-macos-xcode-multi.sh | 29 ++++++++++++++++++ tools/setup-macos-xcode-release.sh | 30 +++++++++++++++++++ ...2.bat => setup-windows-msvc2022-debug.bat} | 0 ...2.bat => setup-windows-msvc2022-multi.bat} | 0 ...bat => setup-windows-msvc2022-release.bat} | 0 ...inja.bat => setup-windows-ninja-debug.bat} | 0 ...inja.bat => setup-windows-ninja-multi.bat} | 0 ...ja.bat => setup-windows-ninja-release.bat} | 0 14 files changed, 91 insertions(+), 1 deletion(-) rename tools/{setup-debug.sh => setup-linux-ninja-debug.sh} (100%) rename tools/{setup-multi.sh => setup-linux-ninja-multi.sh} (83%) rename tools/{setup-release.sh => setup-linux-ninja-release.sh} (100%) rename tools/{setup-macos-debug.sh => setup-macos-ninja-debug.sh} (100%) rename tools/{setup-macos-release.sh => setup-macos-ninja-release.sh} (100%) create mode 100755 tools/setup-macos-xcode-debug.sh create mode 100755 tools/setup-macos-xcode-multi.sh create mode 100755 tools/setup-macos-xcode-release.sh rename tools/{setup-debug-msvc2022.bat => setup-windows-msvc2022-debug.bat} (100%) rename tools/{setup-multi-msvc2022.bat => setup-windows-msvc2022-multi.bat} (100%) rename tools/{setup-release-msvc2022.bat => setup-windows-msvc2022-release.bat} (100%) rename tools/{setup-debug-ninja.bat => setup-windows-ninja-debug.bat} (100%) rename tools/{setup-multi-ninja.bat => setup-windows-ninja-multi.bat} (100%) rename tools/{setup-release-ninja.bat => setup-windows-ninja-release.bat} (100%) diff --git a/tools/setup-debug.sh b/tools/setup-linux-ninja-debug.sh similarity index 100% rename from tools/setup-debug.sh rename to tools/setup-linux-ninja-debug.sh diff --git a/tools/setup-multi.sh b/tools/setup-linux-ninja-multi.sh similarity index 83% rename from tools/setup-multi.sh rename to tools/setup-linux-ninja-multi.sh index 05a6cad5..85bb9a97 100755 --- a/tools/setup-multi.sh +++ b/tools/setup-linux-ninja-multi.sh @@ -1,11 +1,12 @@ #!/bin/bash script_dir="$(dirname "$(readlink -f "$0")")" -export build_dir="$(readlink -f "${1:-${script_dir}/../build-debug}")" +export build_dir="$(readlink -f "${1:-${script_dir}/../build-multi}")" export conan_profile=${2:-scwx-linux_gcc-11} export generator="Ninja Multi-Config" export qt_base=/opt/Qt export qt_arch=gcc_64 +export address_sanitizer=${4:-disabled} # Assign user-specified Python Virtual Environment [ "${3:-}" = "none" ] && unset venv_path || export venv_path="$(readlink -f "${3:-${script_dir}/../.venv}")" diff --git a/tools/setup-release.sh b/tools/setup-linux-ninja-release.sh similarity index 100% rename from tools/setup-release.sh rename to tools/setup-linux-ninja-release.sh diff --git a/tools/setup-macos-debug.sh b/tools/setup-macos-ninja-debug.sh similarity index 100% rename from tools/setup-macos-debug.sh rename to tools/setup-macos-ninja-debug.sh diff --git a/tools/setup-macos-release.sh b/tools/setup-macos-ninja-release.sh similarity index 100% rename from tools/setup-macos-release.sh rename to tools/setup-macos-ninja-release.sh diff --git a/tools/setup-macos-xcode-debug.sh b/tools/setup-macos-xcode-debug.sh new file mode 100755 index 00000000..267a4463 --- /dev/null +++ b/tools/setup-macos-xcode-debug.sh @@ -0,0 +1,30 @@ +#!/bin/bash +script_source="${BASH_SOURCE[0]:-$0}" +script_dir="$(cd "$(dirname "${script_source}")" && pwd)" + +export build_dir="$(python3 -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' "${1:-${script_dir}/../build-xcode-debug}")" +export build_type=Debug +export conan_profile=${2:-scwx-macos_clang-18_armv8} +export generator=Xcode +export qt_base="/Users/${USER}/Qt" +export qt_arch=macos +export address_sanitizer=${4:-disabled} + +# Set explicit compiler paths +export CC=$(brew --prefix llvm@18)/bin/clang +export CXX=$(brew --prefix llvm@18)/bin/clang++ +export PATH="$(brew --prefix llvm@18)/bin:$PATH" + +export LDFLAGS="-L$(brew --prefix llvm@18)/lib -L$(brew --prefix llvm@18)/lib/c++" +export CPPFLAGS="-I$(brew --prefix llvm@18)/include" + +# Assign user-specified Python Virtual Environment +if [ "${3:-}" = "none" ]; then + unset venv_path +else + # macOS does not have 'readlink -f', use python for realpath + export venv_path="$(python3 -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' "${3:-${script_dir}/../.venv}")" +fi + +# Perform common setup +"${script_dir}/lib/setup-common.sh" diff --git a/tools/setup-macos-xcode-multi.sh b/tools/setup-macos-xcode-multi.sh new file mode 100755 index 00000000..a5de4d35 --- /dev/null +++ b/tools/setup-macos-xcode-multi.sh @@ -0,0 +1,29 @@ +#!/bin/bash +script_source="${BASH_SOURCE[0]:-$0}" +script_dir="$(cd "$(dirname "${script_source}")" && pwd)" + +export build_dir="$(python3 -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' "${1:-${script_dir}/../build-xcode}")" +export conan_profile=${2:-scwx-macos_clang-18_armv8} +export generator=Xcode +export qt_base=/opt/Qt +export qt_arch=gcc_64 +export address_sanitizer=${4:-disabled} + +# Set explicit compiler paths +export CC=$(brew --prefix llvm@18)/bin/clang +export CXX=$(brew --prefix llvm@18)/bin/clang++ +export PATH="$(brew --prefix llvm@18)/bin:$PATH" + +export LDFLAGS="-L$(brew --prefix llvm@18)/lib -L$(brew --prefix llvm@18)/lib/c++" +export CPPFLAGS="-I$(brew --prefix llvm@18)/include" + +# Assign user-specified Python Virtual Environment +if [ "${3:-}" = "none" ]; then + unset venv_path +else + # macOS does not have 'readlink -f', use python for realpath + export venv_path="$(python3 -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' "${3:-${script_dir}/../.venv}")" +fi + +# Perform common setup +"${script_dir}/lib/setup-common.sh" diff --git a/tools/setup-macos-xcode-release.sh b/tools/setup-macos-xcode-release.sh new file mode 100755 index 00000000..f9ba914e --- /dev/null +++ b/tools/setup-macos-xcode-release.sh @@ -0,0 +1,30 @@ +#!/bin/bash +script_source="${BASH_SOURCE[0]:-$0}" +script_dir="$(cd "$(dirname "${script_source}")" && pwd)" + +export build_dir="$(python3 -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' "${1:-${script_dir}/../build-xcode-release}")" +export build_type=Release +export conan_profile=${2:-scwx-macos_clang-18_armv8} +export generator=Xcode +export qt_base="/Users/${USER}/Qt" +export qt_arch=macos +export address_sanitizer=${4:-disabled} + +# Set explicit compiler paths +export CC=$(brew --prefix llvm@18)/bin/clang +export CXX=$(brew --prefix llvm@18)/bin/clang++ +export PATH="$(brew --prefix llvm@18)/bin:$PATH" + +export LDFLAGS="-L$(brew --prefix llvm@18)/lib -L$(brew --prefix llvm@18)/lib/c++" +export CPPFLAGS="-I$(brew --prefix llvm@18)/include" + +# Assign user-specified Python Virtual Environment +if [ "${3:-}" = "none" ]; then + unset venv_path +else + # macOS does not have 'readlink -f', use python for realpath + export venv_path="$(python3 -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' "${3:-${script_dir}/../.venv}")" +fi + +# Perform common setup +"${script_dir}/lib/setup-common.sh" diff --git a/tools/setup-debug-msvc2022.bat b/tools/setup-windows-msvc2022-debug.bat similarity index 100% rename from tools/setup-debug-msvc2022.bat rename to tools/setup-windows-msvc2022-debug.bat diff --git a/tools/setup-multi-msvc2022.bat b/tools/setup-windows-msvc2022-multi.bat similarity index 100% rename from tools/setup-multi-msvc2022.bat rename to tools/setup-windows-msvc2022-multi.bat diff --git a/tools/setup-release-msvc2022.bat b/tools/setup-windows-msvc2022-release.bat similarity index 100% rename from tools/setup-release-msvc2022.bat rename to tools/setup-windows-msvc2022-release.bat diff --git a/tools/setup-debug-ninja.bat b/tools/setup-windows-ninja-debug.bat similarity index 100% rename from tools/setup-debug-ninja.bat rename to tools/setup-windows-ninja-debug.bat diff --git a/tools/setup-multi-ninja.bat b/tools/setup-windows-ninja-multi.bat similarity index 100% rename from tools/setup-multi-ninja.bat rename to tools/setup-windows-ninja-multi.bat diff --git a/tools/setup-release-ninja.bat b/tools/setup-windows-ninja-release.bat similarity index 100% rename from tools/setup-release-ninja.bat rename to tools/setup-windows-ninja-release.bat