#![deny(missing_docs)]
use std::{fs::File, io::Write, path::Path};
pub fn write_headers(directory: impl AsRef<Path>) {
let directory = directory.as_ref();
std::fs::create_dir_all(directory).expect("Could not create cxx-qt-lib header directory");
for (file_contents, file_name) in [
(include_str!("../include/core/qbytearray.h"), "qbytearray.h"),
(
include_str!("../include/core/qcoreapplication.h"),
"qcoreapplication.h",
),
(include_str!("../include/core/qdate.h"), "qdate.h"),
(include_str!("../include/core/qdatetime.h"), "qdatetime.h"),
(include_str!("../include/core/qhash.h"), "qhash.h"),
(include_str!("../include/core/qlist.h"), "qlist.h"),
(
include_str!("../include/core/qlist_qvector.h"),
"qlist_qvector.h",
),
(include_str!("../include/core/qmap.h"), "qmap.h"),
(include_str!("../include/core/qmargins.h"), "qmargins.h"),
(include_str!("../include/core/qmarginsf.h"), "qmarginsf.h"),
(
include_str!("../include/core/qmetaobjectconnection.h"),
"qmetaobjectconnection.h",
),
(
include_str!("../include/core/qmodelindex.h"),
"qmodelindex.h",
),
(
include_str!("../include/core/qpersistentmodelindex.h"),
"qpersistentmodelindex.h",
),
(include_str!("../include/core/qpoint.h"), "qpoint.h"),
(include_str!("../include/core/qpointf.h"), "qpointf.h"),
(include_str!("../include/core/qrect.h"), "qrect.h"),
(include_str!("../include/core/qrectf.h"), "qrectf.h"),
(include_str!("../include/core/qset.h"), "qset.h"),
(include_str!("../include/core/qsize.h"), "qsize.h"),
(include_str!("../include/core/qsizef.h"), "qsizef.h"),
(include_str!("../include/core/qstring.h"), "qstring.h"),
(
include_str!("../include/core/qstringlist.h"),
"qstringlist.h",
),
(include_str!("../include/core/qt.h"), "qt.h"),
(include_str!("../include/core/qtime.h"), "qtime.h"),
(include_str!("../include/core/qtimezone.h"), "qtimezone.h"),
(include_str!("../include/core/qurl.h"), "qurl.h"),
(include_str!("../include/core/qvariant.h"), "qvariant.h"),
(include_str!("../include/core/qvector.h"), "qvector.h"),
#[cfg(feature = "qt_gui")]
(include_str!("../include/gui/qcolor.h"), "qcolor.h"),
#[cfg(feature = "qt_gui")]
(
include_str!("../include/gui/qguiapplication.h"),
"qguiapplication.h",
),
#[cfg(feature = "qt_gui")]
(include_str!("../include/gui/qimage.h"), "qimage.h"),
#[cfg(feature = "qt_gui")]
(include_str!("../include/gui/qvector2d.h"), "qvector2d.h"),
#[cfg(feature = "qt_gui")]
(include_str!("../include/gui/qvector3d.h"), "qvector3d.h"),
#[cfg(feature = "qt_gui")]
(include_str!("../include/gui/qvector4d.h"), "qvector4d.h"),
#[cfg(feature = "qt_qml")]
(
include_str!("../include/qml/qqmlapplicationengine.h"),
"qqmlapplicationengine.h",
),
#[cfg(feature = "qt_qml")]
(include_str!("../include/qml/qqmlengine.h"), "qqmlengine.h"),
(include_str!("../include/common.h"), "common.h"),
] {
let h_path = format!("{}/{file_name}", directory.display());
let mut header = File::create(h_path).expect("Could not create cxx-qt-lib header");
write!(header, "{file_contents}").expect("Could not write cxx-qt-lib header");
}
}