Compare commits
3 Commits
5389062d44
...
7cbb5a1510
Author | SHA1 | Date |
---|---|---|
Alison G. Watson | 7cbb5a1510 | |
Alison G. Watson | f328ced8f9 | |
Alison G. Watson | ed50dd2d1c |
|
@ -73,6 +73,16 @@ target_compile_definitions(
|
||||||
-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT
|
-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT
|
||||||
)
|
)
|
||||||
|
|
||||||
|
file(
|
||||||
|
GENERATE
|
||||||
|
OUTPUT link.txt
|
||||||
|
CONTENT
|
||||||
|
"$<TARGET_PROPERTY:Qt5::Core,IMPORTED_LOCATION_RELEASE>
|
||||||
|
$<TARGET_PROPERTY:Qt5::Widgets,IMPORTED_LOCATION_RELEASE>
|
||||||
|
$<TARGET_PROPERTY:Qt5::Gui,IMPORTED_LOCATION_RELEASE>"
|
||||||
|
)
|
||||||
|
|
||||||
install(TARGETS maraiah-tycho-hermes)
|
install(TARGETS maraiah-tycho-hermes)
|
||||||
|
install(FILES ${CMAKE_BINARY_DIR}/link.txt TYPE SYSCONF)
|
||||||
|
|
||||||
## EOF
|
## EOF
|
||||||
|
|
|
@ -1,8 +1,14 @@
|
||||||
use rust_qt_binding_generator::*;
|
use rust_qt_binding_generator::*;
|
||||||
use std::path::PathBuf;
|
use std::{io::prelude::*, path::PathBuf};
|
||||||
|
|
||||||
fn main()
|
fn main()
|
||||||
{
|
{
|
||||||
|
let (lty, dty, qtpre, cxx) = if cfg!(target_os = "macos") {
|
||||||
|
("framework", "framework", "Qt", "c++")
|
||||||
|
} else {
|
||||||
|
("dylib", "native", "Qt5", "stdc++")
|
||||||
|
};
|
||||||
|
|
||||||
let out_dir = PathBuf::from(std::env::var("OUT_DIR").unwrap());
|
let out_dir = PathBuf::from(std::env::var("OUT_DIR").unwrap());
|
||||||
|
|
||||||
let mut config = configuration::parse("bindings.json").unwrap();
|
let mut config = configuration::parse("bindings.json").unwrap();
|
||||||
|
@ -21,13 +27,34 @@ fn main()
|
||||||
|
|
||||||
let out_dir = config.build();
|
let out_dir = config.build();
|
||||||
let lib_dir = out_dir.join("lib");
|
let lib_dir = out_dir.join("lib");
|
||||||
|
let etc_dir = out_dir.join("etc");
|
||||||
|
|
||||||
println!("cargo:rustc-link-search=native={}", lib_dir.display());
|
println!("cargo:rustc-link-search=native={}", lib_dir.display());
|
||||||
println!("cargo:rustc-link-lib=static=maraiah-tycho-hermes");
|
println!("cargo:rustc-link-lib=static=maraiah-tycho-hermes");
|
||||||
println!("cargo:rustc-link-lib=dylib=Qt5Core");
|
|
||||||
println!("cargo:rustc-link-lib=dylib=Qt5Widgets");
|
let fp = std::fs::File::open(etc_dir.join("link.txt")).unwrap();
|
||||||
println!("cargo:rustc-link-lib=dylib=Qt5Gui");
|
let fp = std::io::BufReader::new(fp);
|
||||||
println!("cargo:rustc-link-lib=dylib=stdc++");
|
|
||||||
|
for ln in fp.lines() {
|
||||||
|
let ln = ln.unwrap();
|
||||||
|
|
||||||
|
let path = PathBuf::from(&ln);
|
||||||
|
let path = path.parent().unwrap();
|
||||||
|
|
||||||
|
let path = if cfg!(target_os = "macos") {
|
||||||
|
path.parent().unwrap()
|
||||||
|
} else {
|
||||||
|
path
|
||||||
|
};
|
||||||
|
|
||||||
|
println!("cargo:rustc-link-search={}={}", dty, path.display());
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("cargo:rustc-link-lib={}={}Core", lty, qtpre);
|
||||||
|
println!("cargo:rustc-link-lib={}={}Widgets", lty, qtpre);
|
||||||
|
println!("cargo:rustc-link-lib={}={}Gui", lty, qtpre);
|
||||||
|
|
||||||
|
println!("cargo:rustc-link-lib=dylib={}", cxx);
|
||||||
}
|
}
|
||||||
|
|
||||||
// EOF
|
// EOF
|
||||||
|
|
Loading…
Reference in New Issue