use qtbridge_build_common::qt_build::{link_qt_modules, qt_include_dirs};
mod generated_files_bridge;
use generated_files_bridge::GENERATED_FILES_BRIDGE;
mod generated_files_cpp;
use generated_files_cpp::GENERATED_FILES_CPP;
fn main() {
let manifest_dir = std::env::var("CARGO_MANIFEST_DIR").unwrap();
let include_path = std::path::Path::new(&manifest_dir).join("src");
println!("cargo:include={}", include_path.display());
println!("cargo::metadata=include={}", include_path.display());
let mut builder = cxx_build::bridges(GENERATED_FILES_BRIDGE);
builder
.std("c++17")
.flag_if_supported("/Zc:__cplusplus")
.flag_if_supported("/permissive-")
.include("src")
.include("../");
GENERATED_FILES_CPP.iter()
.for_each(|file| {
builder.file(file);
});
let qt_modules = ["Core", "Gui", "Qml", "Test"];
for include_dir in qt_include_dirs(&qt_modules, true) {
builder.include(include_dir);
}
builder.compile("qtbridge-type-lib");
link_qt_modules(&qt_modules);
}