|
8 | 8 |
|
9 | 9 | from skbuild import setup |
10 | 10 |
|
| 11 | + |
| 12 | +def _parse_macos_target(value: str): |
| 13 | + try: |
| 14 | + parts = value.split(".") |
| 15 | + major = int(parts[0]) if len(parts) > 0 else 0 |
| 16 | + minor = int(parts[1]) if len(parts) > 1 else 0 |
| 17 | + return major, minor |
| 18 | + except Exception: |
| 19 | + return 0, 0 |
| 20 | + |
| 21 | + |
| 22 | +if platform.system() == "Darwin": |
| 23 | + # Ensure deployment target is set before any vcpkg invocation. |
| 24 | + _deploy_target = os.environ.get("MACOSX_DEPLOYMENT_TARGET") or os.environ.get("OSX_DEPLOYMENT_TARGET", "11.0") |
| 25 | + # Apple Silicon requires macOS 11.0+. |
| 26 | + if platform.machine() == "arm64" and _parse_macos_target(_deploy_target) < (11, 0): |
| 27 | + _deploy_target = "11.0" |
| 28 | + os.environ["MACOSX_DEPLOYMENT_TARGET"] = _deploy_target |
| 29 | + os.environ["OSX_DEPLOYMENT_TARGET"] = _deploy_target |
| 30 | + |
11 | 31 | CSP_USE_VCPKG = os.environ.get("CSP_USE_VCPKG", "1").lower() in ("1", "on") |
12 | 32 | # Allow arg to override default / env |
13 | 33 | if "--csp-no-vcpkg" in sys.argv: |
|
139 | 159 | os.environ["CMAKE_BUILD_PARALLEL_LEVEL"] = str(multiprocessing.cpu_count()) |
140 | 160 |
|
141 | 161 | if platform.system() == "Darwin": |
142 | | - os.environ["MACOSX_DEPLOYMENT_TARGET"] = os.environ.get("OSX_DEPLOYMENT_TARGET", "10.15") |
143 | | - cmake_args.append(f"-DCMAKE_OSX_DEPLOYMENT_TARGET={os.environ.get('OSX_DEPLOYMENT_TARGET', '10.15')}") |
| 162 | + cmake_args.append(f"-DCMAKE_OSX_DEPLOYMENT_TARGET={os.environ['MACOSX_DEPLOYMENT_TARGET']}") |
144 | 163 |
|
145 | 164 | if which("ccache") and os.environ.get("CSP_USE_CCACHE", "") != "0": |
146 | 165 | cmake_args.append("-DCSP_USE_CCACHE=On") |
|
0 commit comments