mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 03:40:05 +00:00
Additional macOS configuration with llvm@18
This commit is contained in:
parent
ac4521483d
commit
337406971a
6 changed files with 197 additions and 13 deletions
|
|
@ -210,6 +210,81 @@
|
||||||
"CC": "gcc-11",
|
"CC": "gcc-11",
|
||||||
"CXX": "g++-11"
|
"CXX": "g++-11"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "macos-base",
|
||||||
|
"inherits": "base",
|
||||||
|
"hidden": true,
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_PREFIX_PATH": "$env{HOME}/Qt/6.8.3/macos"
|
||||||
|
},
|
||||||
|
"condition": {
|
||||||
|
"type": "equals",
|
||||||
|
"lhs": "${hostSystemName}",
|
||||||
|
"rhs": "Darwin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "macos-clang18-base",
|
||||||
|
"inherits": "macos-base",
|
||||||
|
"hidden": true,
|
||||||
|
"environment": {
|
||||||
|
"CC": "/opt/homebrew/opt/llvm@18/bin/clang",
|
||||||
|
"CXX": "/opt/homebrew/opt/llvm@18/bin/clang++",
|
||||||
|
"PATH": "/opt/homebrew/opt/llvm@18/bin:$penv{PATH}",
|
||||||
|
"CPPFLAGS": "-I/opt/homebrew/opt/llvm@18/include",
|
||||||
|
"LDFLAGS": "-L/opt/homebrew/opt/llvm@18/lib -L/opt/homebrew/opt/llvm@18/lib/c++"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "macos-clang18-x64-base",
|
||||||
|
"inherits": "macos-clang18-base",
|
||||||
|
"hidden": true,
|
||||||
|
"cacheVariables": {
|
||||||
|
"CONAN_HOST_PROFILE": "scwx-macos_clang-18",
|
||||||
|
"CONAN_BUILD_PROFILE": "scwx-macos_clang-18"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "macos-clang18-arm64-base",
|
||||||
|
"inherits": "macos-clang18-base",
|
||||||
|
"hidden": true,
|
||||||
|
"cacheVariables": {
|
||||||
|
"CONAN_HOST_PROFILE": "scwx-macos_clang-18_armv8",
|
||||||
|
"CONAN_BUILD_PROFILE": "scwx-macos_clang-18_armv8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "macos-clang18-x64-debug",
|
||||||
|
"inherits": "macos-clang18-x64-base",
|
||||||
|
"displayName": "macOS Clang 18 x64 Debug",
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_BUILD_TYPE": "Debug"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "macos-clang18-x64-release",
|
||||||
|
"inherits": "macos-clang18-x64-base",
|
||||||
|
"displayName": "macOS Clang 18 x64 Release",
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_BUILD_TYPE": "Release"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "macos-clang18-arm64-debug",
|
||||||
|
"inherits": "macos-clang18-arm64-base",
|
||||||
|
"displayName": "macOS Clang 18 Arm64 Debug",
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_BUILD_TYPE": "Debug"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "macos-clang18-arm64-release",
|
||||||
|
"inherits": "macos-clang18-arm64-base",
|
||||||
|
"displayName": "macOS Clang 18 Arm64 Release",
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_BUILD_TYPE": "Release"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"buildPresets": [
|
"buildPresets": [
|
||||||
|
|
@ -236,6 +311,30 @@
|
||||||
"configurePreset": "linux-gcc-release",
|
"configurePreset": "linux-gcc-release",
|
||||||
"displayName": "Linux GCC Release",
|
"displayName": "Linux GCC Release",
|
||||||
"configuration": "Release"
|
"configuration": "Release"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "macos-clang18-x64-debug",
|
||||||
|
"configurePreset": "macos-clang18-x64-debug",
|
||||||
|
"displayName": "macOS Clang 18 x64 Debug",
|
||||||
|
"configuration": "Debug"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "macos-clang18-x64-release",
|
||||||
|
"configurePreset": "macos-clang18-x64-release",
|
||||||
|
"displayName": "macOS Clang 18 x64 Release",
|
||||||
|
"configuration": "Release"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "macos-clang18-arm64-debug",
|
||||||
|
"configurePreset": "macos-clang18-arm64-debug",
|
||||||
|
"displayName": "macOS Clang 18 Arm64 Debug",
|
||||||
|
"configuration": "Debug"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "macos-clang18-arm64-release",
|
||||||
|
"configurePreset": "macos-clang18-arm64-release",
|
||||||
|
"displayName": "macOS Clang 18 Arm64 Release",
|
||||||
|
"configuration": "Release"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"testPresets": [
|
"testPresets": [
|
||||||
|
|
|
||||||
8
tools/conan/profiles/scwx-macos_clang-18
Normal file
8
tools/conan/profiles/scwx-macos_clang-18
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
[settings]
|
||||||
|
arch=x86_64
|
||||||
|
build_type=Release
|
||||||
|
compiler=clang
|
||||||
|
compiler.cppstd=20
|
||||||
|
compiler.libcxx=libc++
|
||||||
|
compiler.version=18
|
||||||
|
os=Macos
|
||||||
8
tools/conan/profiles/scwx-macos_clang-18_armv8
Normal file
8
tools/conan/profiles/scwx-macos_clang-18_armv8
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
[settings]
|
||||||
|
arch=armv8
|
||||||
|
build_type=Release
|
||||||
|
compiler=clang
|
||||||
|
compiler.cppstd=20
|
||||||
|
compiler.libcxx=libc++
|
||||||
|
compiler.version=18
|
||||||
|
os=Macos
|
||||||
|
|
@ -45,20 +45,29 @@ python3 -m pip install ${PIP_FLAGS} -r "${script_dir}/../requirements.txt"
|
||||||
conan profile detect -e
|
conan profile detect -e
|
||||||
|
|
||||||
# Conan profiles
|
# Conan profiles
|
||||||
conan_profiles=(
|
if [[ "$(uname)" == "Darwin" ]]; then
|
||||||
"scwx-linux_clang-17"
|
# macOS profiles
|
||||||
"scwx-linux_clang-17_armv8"
|
conan_profiles=(
|
||||||
"scwx-linux_clang-18"
|
"scwx-macos_clang-18"
|
||||||
"scwx-linux_clang-18_armv8"
|
"scwx-macos_clang-18_armv8"
|
||||||
"scwx-linux_gcc-11"
|
|
||||||
"scwx-linux_gcc-11_armv8"
|
|
||||||
"scwx-linux_gcc-12"
|
|
||||||
"scwx-linux_gcc-12_armv8"
|
|
||||||
"scwx-linux_gcc-13"
|
|
||||||
"scwx-linux_gcc-13_armv8"
|
|
||||||
"scwx-linux_gcc-14"
|
|
||||||
"scwx-linux_gcc-14_armv8"
|
|
||||||
)
|
)
|
||||||
|
else
|
||||||
|
# Linux profiles
|
||||||
|
conan_profiles=(
|
||||||
|
"scwx-linux_clang-17"
|
||||||
|
"scwx-linux_clang-17_armv8"
|
||||||
|
"scwx-linux_clang-18"
|
||||||
|
"scwx-linux_clang-18_armv8"
|
||||||
|
"scwx-linux_gcc-11"
|
||||||
|
"scwx-linux_gcc-11_armv8"
|
||||||
|
"scwx-linux_gcc-12"
|
||||||
|
"scwx-linux_gcc-12_armv8"
|
||||||
|
"scwx-linux_gcc-13"
|
||||||
|
"scwx-linux_gcc-13_armv8"
|
||||||
|
"scwx-linux_gcc-14"
|
||||||
|
"scwx-linux_gcc-14_armv8"
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
# Install Conan profiles
|
# Install Conan profiles
|
||||||
for profile_name in "${conan_profiles[@]}"; do
|
for profile_name in "${conan_profiles[@]}"; do
|
||||||
|
|
|
||||||
30
tools/setup-macos-debug.sh
Executable file
30
tools/setup-macos-debug.sh
Executable file
|
|
@ -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-debug}")"
|
||||||
|
export build_type=Debug
|
||||||
|
export conan_profile=${2:-scwx-macos_clang-18_armv8}
|
||||||
|
export generator=Ninja
|
||||||
|
export qt_base="/Users/${USER}/Qt"
|
||||||
|
export qt_arch=macos
|
||||||
|
export address_sanitizer=${4:-disabled}
|
||||||
|
|
||||||
|
# Set explicit compiler paths
|
||||||
|
export CC=/opt/homebrew/opt/llvm@18/bin/clang
|
||||||
|
export CXX=/opt/homebrew/opt/llvm@18/bin/clang++
|
||||||
|
export PATH="/opt/homebrew/opt/llvm@18/bin:$PATH"
|
||||||
|
|
||||||
|
export LDFLAGS="-L/opt/homebrew/opt/llvm@18/lib -L/opt/homebrew/opt/llvm@18/lib/c++"
|
||||||
|
export CPPFLAGS="-I/opt/homebrew/opt/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"
|
||||||
30
tools/setup-macos-release.sh
Executable file
30
tools/setup-macos-release.sh
Executable file
|
|
@ -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-release}")"
|
||||||
|
export build_type=Release
|
||||||
|
export conan_profile=${2:-scwx-macos_clang-18_armv8}
|
||||||
|
export generator=Ninja
|
||||||
|
export qt_base="/Users/${USER}/Qt"
|
||||||
|
export qt_arch=macos
|
||||||
|
export address_sanitizer=${4:-disabled}
|
||||||
|
|
||||||
|
# Set explicit compiler paths
|
||||||
|
export CC=/opt/homebrew/opt/llvm@18/bin/clang
|
||||||
|
export CXX=/opt/homebrew/opt/llvm@18/bin/clang++
|
||||||
|
export PATH="/opt/homebrew/opt/llvm@18/bin:$PATH"
|
||||||
|
|
||||||
|
export LDFLAGS="-L/opt/homebrew/opt/llvm@18/lib -L/opt/homebrew/opt/llvm@18/lib/c++"
|
||||||
|
export CPPFLAGS="-I/opt/homebrew/opt/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"
|
||||||
Loading…
Add table
Add a link
Reference in a new issue