diff --git a/CMakeLists.txt b/CMakeLists.txt index c841335..347ee69 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -75,4 +75,7 @@ INCLUDE_DIRECTORIES( ${scream_SOURCE_DIR}/../include ) +ADD_SUBDIRECTORY(code/wrapper_lib) + + ADD_SUBDIRECTORY( code) diff --git a/gstscream/Cargo.lock b/gstscream/Cargo.lock index 8391744..4f9282f 100644 --- a/gstscream/Cargo.lock +++ b/gstscream/Cargo.lock @@ -211,6 +211,15 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +[[package]] +name = "cmake" +version = "0.1.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0" +dependencies = [ + "cc", +] + [[package]] name = "colorchoice" version = "1.0.3" @@ -511,6 +520,7 @@ dependencies = [ "array-init", "chrono", "clap", + "cmake", "failure", "gst-plugin-version-helper", "gstreamer", diff --git a/gstscream/Cargo.toml b/gstscream/Cargo.toml index 540924c..d7bf557 100644 --- a/gstscream/Cargo.toml +++ b/gstscream/Cargo.toml @@ -39,6 +39,7 @@ path="src/receiver.rs" [build-dependencies] gst-plugin-version-helper = { git = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git" } +cmake = "0.1.31" [features] screamrx-only = [] diff --git a/gstscream/build.rs b/gstscream/build.rs index 12ae7a2..959713f 100644 --- a/gstscream/build.rs +++ b/gstscream/build.rs @@ -1,3 +1,15 @@ +extern crate cmake; +use cmake::Config; + fn main() { gst_plugin_version_helper::info(); + let crate_dir = std::env::var("CARGO_MANIFEST_DIR").unwrap(); + + let _libscream = Config::new("..") + .define("CMAKE_POLICY_VERSION_MINIMUM", "3.5") + .build_target("scream") + .build(); + println!("cargo:rustc-link-search=native={}/../lib", crate_dir); + println!("cargo:rustc-link-lib=dylib=scream"); + }