Anki/build/configure/src/main.rs
Damien Elmes ff59b33c54 Use a ninja variable for Python binary
If we're going to allow for swapping out other dependencies with local
versions, we don't want to have to be passing them around everywhere
they are used.
2023-01-23 17:27:07 +10:00

59 lines
1.2 KiB
Rust

// Copyright: Ankitects Pty Ltd and contributors
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
mod aqt;
mod bundle;
mod platform;
mod proto;
mod pylib;
mod python;
mod rust;
mod web;
use aqt::build_and_check_aqt;
use bundle::build_bundle;
use ninja_gen::Build;
use ninja_gen::Result;
use pylib::build_pylib;
use pylib::check_pylib;
use python::check_copyright;
use python::check_python;
use python::setup_python;
use python::setup_venv;
use rust::build_rust;
use rust::check_rust;
use web::build_and_check_web;
use web::check_sql;
use crate::proto::check_proto;
fn anki_version() -> &'static str {
include_str!("../../../.version").trim()
}
fn main() -> Result<()> {
let mut build = Build::new()?;
let build = &mut build;
setup_python(build)?;
setup_venv(build)?;
build_rust(build)?;
build_pylib(build)?;
build_and_check_web(build)?;
build_and_check_aqt(build)?;
build_bundle(build)?;
check_rust(build)?;
check_pylib(build)?;
check_python(build)?;
check_proto(build)?;
check_sql(build)?;
check_copyright(build)?;
build.trailing_text = "default pylib/anki qt/aqt\n".into();
build.write_build_file();
Ok(())
}