Improve build procedure and instructions (#28)

Fixes issues pointed out in #27:
* spirv_tools-sys was build in non-test profiles
* By default ZLUDA dll has a wrong name
* We relied on third-party OpenCL installation on Windows
* We encouraged building debug configuration
* We didn't provide build information for developers (cmake, python, submodules)
This commit is contained in:
Andrzej Janik 2021-01-08 17:17:46 +01:00 committed by GitHub
commit 078ae20c2c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 79 additions and 42 deletions

View file

@ -1,18 +1,17 @@
use env::VarError;
use std::{env, path::PathBuf};
fn main() -> Result<(), VarError> {
fn main() -> Result<(), VarError> {
println!("cargo:rustc-link-lib=dylib=ze_loader");
if env::var("CARGO_CFG_WINDOWS").is_ok() {
if cfg!(windows) {
let env = env::var("CARGO_CFG_TARGET_ENV")?;
if env == "gnu" {
println!("cargo:rustc-link-search=native=C:\\Windows\\System32");
} else {
if env == "msvc" {
let mut path = PathBuf::from(env::var("CARGO_MANIFEST_DIR")?);
path.push("src");
path.push("lib");
println!("cargo:rustc-link-search=native={}", path.display());
} else {
println!("cargo:rustc-link-search=native=C:\\Windows\\System32");
};
}
println!("cargo:rerun-if-changed=build.rs");
Ok(())
}