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:
parent
2d83f4f4b0
commit
42adfb57fb
4 changed files with 49 additions and 1 deletions
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[submodule "implot-sys/third-party/cimplot"]
|
||||
path = implot-sys/third-party/cimplot
|
||||
url = https://github.com/cimgui/cimplot
|
|
@ -10,3 +10,4 @@ build = "build.rs"
|
|||
|
||||
[build-dependencies]
|
||||
cc = "1.0"
|
||||
imgui = { git = "https://github.com/aloucks/imgui-rs/", branch = "export_include" }
|
||||
|
|
|
@ -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
1
implot-sys/third-party/cimplot
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 929f61d27b8b4e3c899b2a386679a7f4a82826ce
|
Loading…
Reference in a new issue