Merge pull request #4733 from gudnimg/upgrade-ninja

Upgrade ninja from 1.10.2 to 1.12.1
This commit is contained in:
3d-gussner 2024-08-06 06:19:06 +02:00 committed by GitHub
commit ebbd58c6e2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 12 additions and 7 deletions

View File

@ -3,7 +3,7 @@
"name": "avr-gcc", "name": "avr-gcc",
"toolchainFile": "${workspaceFolder}/cmake/AvrGcc.cmake", "toolchainFile": "${workspaceFolder}/cmake/AvrGcc.cmake",
"cmakeSettings": { "cmakeSettings": {
"CMAKE_MAKE_PROGRAM": "${workspaceFolder}/.dependencies/ninja-1.10.2/ninja", "CMAKE_MAKE_PROGRAM": "${workspaceFolder}/.dependencies/ninja-1.12.1/ninja",
"CMAKE_BUILD_TYPE": "Release" "CMAKE_BUILD_TYPE": "Release"
} }
} }

View File

@ -35,7 +35,7 @@ The workflow should be pretty straightforward for anyone with development experi
Building with cmake requires: Building with cmake requires:
- cmake >= 3.22.5 - cmake >= 3.22.5
- ninja >= 1.10.2 (optional, but recommended) - ninja >= 1.12.1 (optional, but recommended)
Python >= 3.8 is also required with the following modules: Python >= 3.8 is also required with the following modules:

View File

@ -19,6 +19,7 @@ import tarfile
import zipfile import zipfile
from argparse import ArgumentParser from argparse import ArgumentParser
from pathlib import Path from pathlib import Path
from tarfile import TarFile
from urllib.request import urlretrieve from urllib.request import urlretrieve
project_root_dir = Path(__file__).resolve().parent.parent project_root_dir = Path(__file__).resolve().parent.parent
@ -29,11 +30,11 @@ dependencies_dir = project_root_dir / '.dependencies'
# yapf: disable # yapf: disable
dependencies = { dependencies = {
'ninja': { 'ninja': {
'version': '1.10.2', 'version': '1.12.1',
'url': { 'url': {
'Linux': 'https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip', 'Linux': 'https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux.zip',
'Windows': 'https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip', 'Windows': 'https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-win.zip',
'Darwin': 'https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-mac.zip', 'Darwin': 'https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-mac.zip',
}, },
}, },
'cmake': { 'cmake': {
@ -92,7 +93,11 @@ def download_and_unzip(url: str, directory: Path):
obj = tarfile.open(f) obj = tarfile.open(f)
else: else:
obj = zipfile.ZipFile(f, 'r') obj = zipfile.ZipFile(f, 'r')
obj.extractall(path=str(extract_dir))
if isinstance(obj, TarFile):
obj.extractall(path=str(extract_dir), filter='data')
else: # Zip file
obj.extractall(path=str(extract_dir))
subdir = find_single_subdir(extract_dir) subdir = find_single_subdir(extract_dir)
shutil.move(str(subdir), str(directory)) shutil.move(str(subdir), str(directory))