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