Added submodule for cimplot and some build code

This points to aloucks' fork instead of imgui-rs directly
so I can try out the PR. Doesn't seem to work as expected
yet though, trying to read the env var doesn't show anything.

I'm probably doing it wrong.
This commit is contained in:
4bb4 2020-07-02 21:15:22 +02:00
parent 2d83f4f4b0
commit 42adfb57fb
4 changed files with 49 additions and 1 deletions

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "implot-sys/third-party/cimplot"]
path = implot-sys/third-party/cimplot
url = https://github.com/cimgui/cimplot

View file

@ -10,3 +10,4 @@ build = "build.rs"
[build-dependencies]
cc = "1.0"
imgui = { git = "https://github.com/aloucks/imgui-rs/", branch = "export_include" }

View file

@ -1,6 +1,49 @@
#![allow(dead_code)]
// This is taken pretty vanilla from
// https://github.com/Gekkio/imgui-rs/blob/master/imgui-sys/build.rs
// for now, but expected to diverge from that over time.
use std::fs;
use std::io;
const CPP_FILES: [&str; 2] = [
"third-party/cimplot/cimplot.cpp",
"third-party/cimplot/implot/implot.cpp",
];
fn assert_file_exists(path: &str) -> io::Result<()> {
match fs::metadata(path) {
Ok(_) => Ok(()),
Err(ref e) if e.kind() == io::ErrorKind::NotFound => {
panic!(
"Can't access {}. Did you forget to fetch git submodules?",
path
);
}
Err(e) => Err(e),
}
}
fn main() -> io::Result<()> {
// Does nothing yet
let mut build = cc::Build::new();
build.cpp(true);
// Disabled due to linking issues
build
.define("CIMGUI_NO_EXPORT", None)
.define("IMGUI_DISABLE_WIN32_FUNCTIONS", None)
.define("IMGUI_DISABLE_OSX_FUNCTIONS", None);
// This won't seem to work yet
let imgui_third_party =
std::env::var_os("DEP_IMGUI_THIRD_PARTY").expect("No env var found for third_party folder");
println!("third party is {:?}", imgui_third_party);
build.include(imgui_third_party);
build.flag_if_supported("-Wno-return-type-c-linkage");
for path in &CPP_FILES {
assert_file_exists(path)?;
build.file(path);
}
build.compile("libcimplot.a");
Ok(())
}

1
implot-sys/third-party/cimplot vendored Submodule

@ -0,0 +1 @@
Subproject commit 929f61d27b8b4e3c899b2a386679a7f4a82826ce