2022-11-03 11:01:42 +08:00
import { isArch } from "../utils/env/isArch"
2022-05-06 09:36:47 +08:00
2022-05-26 06:45:24 +08:00
// passing "" to a tool installed by a package manager (apt, brew, choco) will result in the default version of that package manager.
// the directly downloaded tools require a given version ("" doesn't work).
2022-12-07 14:29:32 +08:00
function getLLVMDefault() {
switch ( process . platform ) {
case "linux" :
// used for non-ubuntu (Fedora, Arch)
return "15.0.6-ubuntu-18.04"
case "darwin" :
return "15.0.3"
default :
return "15.0.4"
}
}
2022-11-03 11:01:42 +08:00
export const DefaultVersions : Record < string , string > = {
2022-12-07 14:29:32 +08:00
llvm : getLLVMDefault ( ) , // https://github.com/llvm/llvm-project/releases
clangtidy : getLLVMDefault ( ) ,
clangformat : getLLVMDefault ( ) ,
2022-10-06 06:01:51 +08:00
ninja : "1.11.1" , // https://github.com/ninja-build/ninja/releases
2023-05-24 12:44:29 +08:00
cmake : "3.26.4" , // https://github.com/Kitware/CMake/releases
2022-10-06 06:01:51 +08:00
gcovr : "5.2" , // https://pypi.org/project/gcovr/
2023-05-24 12:44:29 +08:00
conan : "1.60.0" , // https://github.com/conan-io/conan/releases
meson : "1.0.2" , // https://github.com/mesonbuild/meson/releases
2022-04-16 17:25:25 +08:00
kcov : "40" , // https://github.com/SimonKagstrom/kcov/releases
2023-05-24 12:44:29 +08:00
task : "3.25.0" , // https://github.com/go-task/task/releases
doxygen : isArch ( ) ? "1.9.6-1" : "1.9.7" , // https://www.doxygen.nl/download.html // https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=doxygen // https://formulae.brew.sh/formula/doxygen // https://archlinux.org/packages/extra/x86_64/doxygen/
2023-05-24 12:42:30 +08:00
gcc : "13" , // https://github.com/brechtsanders/winlibs_mingw/releases and // https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=gcc
2021-09-16 19:36:35 +08:00
}
2022-05-21 11:00:30 +08:00
/// If an ubuntu versions is not in this map:
// - the newer ubuntu versions use the first entry (e.g. v20),
// - the older ones use ""
2022-11-03 11:01:42 +08:00
export const DefaultLinuxVersion : Record < string , Record < number , string > > = {
2022-11-21 08:42:34 +08:00
gcc : {
22 : "12" ,
20 : "11" ,
18 : "11" ,
16 : "11" ,
14 : "11" ,
} ,
2022-05-21 11:00:30 +08:00
llvm : {
2022-12-07 13:56:16 +08:00
22 : "15.0.6-ubuntu-18.04" ,
20 : "15.0.6-ubuntu-18.04" ,
18 : "15.0.6-ubuntu-18.04" ,
16 : "15.0.6-ubuntu-18.04" ,
2022-05-26 06:45:24 +08:00
14 : "13.0.0-ubuntu-16.04" ,
2022-05-21 11:00:30 +08:00
} ,
clangtidy : {
2022-12-07 13:56:16 +08:00
22 : "15.0.6-ubuntu-18.04" ,
20 : "15.0.6-ubuntu-18.04" ,
18 : "15.0.6-ubuntu-18.04" ,
16 : "15.0.6-ubuntu-18.04" ,
2022-05-26 06:45:24 +08:00
14 : "13.0.0-ubuntu-16.04" ,
2022-05-21 11:00:30 +08:00
} ,
clangformat : {
2022-12-07 13:56:16 +08:00
22 : "15.0.6-ubuntu-18.04" ,
20 : "15.0.6-ubuntu-18.04" ,
18 : "15.0.6-ubuntu-18.04" ,
16 : "15.0.6-ubuntu-18.04" ,
2022-05-26 06:45:24 +08:00
14 : "13.0.0-ubuntu-16.04" ,
2022-05-21 11:00:30 +08:00
} ,
gcovr : {
2022-10-06 06:01:51 +08:00
22 : "5.2" ,
20 : "5.2" ,
2022-05-21 11:00:30 +08:00
18 : "5.0" ,
} ,
meson : {
2023-01-15 17:36:10 +08:00
20 : "1.0.0" ,
2022-05-21 11:00:30 +08:00
18 : "0.61.4" ,
} ,
2022-07-25 15:40:05 +08:00
nala : {
22 : "" ,
21 : "legacy" ,
20 : "legacy" ,
18 : "legacy" ,
16 : "legacy" ,
14 : "legacy" ,
} ,
2022-07-22 16:06:43 +08:00
kcov : {
22 : "40" ,
20 : "40-binary" , // https://github.com/SimonKagstrom/kcov/releases
18 : "40" ,
16 : "40" ,
14 : "40" ,
} ,
2022-05-21 11:00:30 +08:00
}