diff --git a/src/dependencies/basalt_deps.rs b/src/dependencies/basalt_deps.rs index 5274e7b..4f46f09 100644 --- a/src/dependencies/basalt_deps.rs +++ b/src/dependencies/basalt_deps.rs @@ -1,12 +1,13 @@ use crate::{ depcheck::{check_dependencies, DepType, Dependency, DependencyCheckResult}, - dependencies::common::dep_eigen, + dependencies::common::{dep_eigen, dep_gpp}, linux_distro::LinuxDistro, }; use std::collections::HashMap; fn basalt_deps() -> Vec { vec![ + dep_gpp(), Dependency { name: "boost".into(), dep_type: DepType::SharedObject, diff --git a/src/dependencies/common.rs b/src/dependencies/common.rs index 4e4d517..5539f51 100644 --- a/src/dependencies/common.rs +++ b/src/dependencies/common.rs @@ -65,3 +65,29 @@ pub fn dep_glslang_validator() -> Dependency { ]), } } + +pub fn dep_gcc() -> Dependency { + Dependency { + name: "gcc".into(), + dep_type: DepType::Executable, + filename: "gcc".into(), + packages: HashMap::from([ + (LinuxDistro::Arch, "gcc".into()), + (LinuxDistro::Debian, "gcc".into()), + (LinuxDistro::Fedora, "gcc".into()), + ]), + } +} + +pub fn dep_gpp() -> Dependency { + Dependency { + name: "g++".into(), + dep_type: DepType::Executable, + filename: "g++".into(), + packages: HashMap::from([ + (LinuxDistro::Arch, "gcc".into()), + (LinuxDistro::Debian, "g++".into()), + (LinuxDistro::Fedora, "g++".into()), + ]), + } +} diff --git a/src/dependencies/libsurvive_deps.rs b/src/dependencies/libsurvive_deps.rs index 8d16803..7852899 100644 --- a/src/dependencies/libsurvive_deps.rs +++ b/src/dependencies/libsurvive_deps.rs @@ -1,10 +1,17 @@ use crate::{ depcheck::{check_dependencies, Dependency, DependencyCheckResult}, - dependencies::common::{dep_cmake, dep_eigen, dep_git, dep_ninja}, + dependencies::common::{dep_cmake, dep_eigen, dep_gcc, dep_git, dep_gpp, dep_ninja}, }; fn libsurvive_deps() -> Vec { - vec![dep_eigen(), dep_cmake(), dep_git(), dep_ninja()] + vec![ + dep_eigen(), + dep_cmake(), + dep_git(), + dep_ninja(), + dep_gcc(), + dep_gpp(), + ] } pub fn check_libsurvive_deps() -> Vec { diff --git a/src/dependencies/monado_deps.rs b/src/dependencies/monado_deps.rs index 7bfbc1d..0968e4c 100644 --- a/src/dependencies/monado_deps.rs +++ b/src/dependencies/monado_deps.rs @@ -1,6 +1,8 @@ use crate::{ depcheck::{check_dependencies, DepType, Dependency, DependencyCheckResult}, - dependencies::common::{dep_cmake, dep_eigen, dep_git, dep_glslang_validator, dep_ninja}, + dependencies::common::{ + dep_cmake, dep_eigen, dep_gcc, dep_git, dep_glslang_validator, dep_gpp, dep_ninja, + }, linux_distro::LinuxDistro, }; use std::collections::HashMap; @@ -60,6 +62,8 @@ fn monado_deps() -> Vec { dep_eigen(), dep_git(), dep_ninja(), + dep_gcc(), + dep_gpp(), Dependency { name: "glslc".into(), dep_type: DepType::Executable, diff --git a/src/dependencies/openhmd_deps.rs b/src/dependencies/openhmd_deps.rs index 0a96de3..6b8bf95 100644 --- a/src/dependencies/openhmd_deps.rs +++ b/src/dependencies/openhmd_deps.rs @@ -1,7 +1,10 @@ -use crate::depcheck::{check_dependencies, Dependency, DependencyCheckResult}; +use crate::{ + depcheck::{check_dependencies, Dependency, DependencyCheckResult}, + dependencies::common::{dep_cmake, dep_gcc, dep_git, dep_gpp, dep_ninja}, +}; fn openhmd_deps() -> Vec { - vec![] + vec![dep_gcc(), dep_gpp(), dep_cmake(), dep_ninja(), dep_git()] } pub fn check_openhmd_deps() -> Vec { diff --git a/src/dependencies/wivrn_deps.rs b/src/dependencies/wivrn_deps.rs index 4cbb4f2..cb3b33a 100644 --- a/src/dependencies/wivrn_deps.rs +++ b/src/dependencies/wivrn_deps.rs @@ -1,6 +1,8 @@ use crate::{ depcheck::{check_dependencies, DepType, Dependency, DependencyCheckResult}, - dependencies::common::{dep_cmake, dep_eigen, dep_git, dep_glslang_validator, dep_ninja}, + dependencies::common::{ + dep_cmake, dep_eigen, dep_gcc, dep_git, dep_glslang_validator, dep_gpp, dep_ninja, + }, linux_distro::LinuxDistro, }; use std::collections::HashMap; @@ -11,6 +13,8 @@ fn wivrn_deps() -> Vec { dep_cmake(), dep_ninja(), dep_git(), + dep_gcc(), + dep_gpp(), Dependency { name: "x264-dev".into(), dep_type: DepType::Include,