Commit Graph

10 Commits

Author SHA1 Message Date
Azat Khuzhin
9f9989ea72 Properly detect changes in Rust code and recompile Rust libraries
Due to we need to substitude config for Rust builds (see #44762 for
details), the source dir is copied to the binary dir, but this is done
only once, so to detect changes in sources you need to run cmake,
without this patch.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-02-02 18:33:15 +01:00
Azat Khuzhin
89c071e291 Build rust modules from the binary directory
Our crates has configuration files:
- config for cargo (see config.toml.in)
- and possibly config for build (build.rs.in)

Previously it uses source directory, and it will overrides files in the
source directory, which will require recompile of crates in case of
multiple builds for one source directory.

To avoid overlaps different builds for one source directory, crate will
be copied from source directory to the binary directory.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-30 18:15:41 +01:00
Azat Khuzhin
e7c5b48d84 rust: fix buidling modules with CMAKE_BUILD_TYPE in a different case
Before this patch corrosion requires that CMAKE_BUILD_TYPE matches the
CMAKE_CONFIGURATION_TYPES, which is
"RelWithDebInfo;Debug;Release;MinSizeRel", so that said, that if you
were using CMAKE_BUILD_TYPE=debug, it will not work.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-14 20:58:34 +01:00
Azat Khuzhin
f8c17d4a66 rust: reuse RUST_CXXFLAGS for skim
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-14 20:58:17 +01:00
Azat Khuzhin
82aaad61aa Integrate skim into the client/local
Note, that it can the fail the client if the skim itself will fail,
however I haven't seen it panicd, so let's try.

P.S. about adding USE_SKIM into configure header instead of just compile
option for target, it is better, because it allows not to recompile lots
of C++ headers, since we have to add skim library as PUBLIC. But anyway
this will be resolved in a different way, but separatelly.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-14 20:57:41 +01:00
Azat Khuzhin
28737a503c Configure rustc compiler properly
Right now it works for host platforms because of gcc package, that
includes gcc-cross sysroot.

Use bundled sysroot from contrib instead.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-14 20:57:29 +01:00
Azat Khuzhin
67fa185611
Revert "Builtin skim" 2022-12-14 17:17:19 +03:00
Azat Khuzhin
de58e9c02d Integrate skim into the client/local
Note, that it can the fail the client if the skim itself will fail,
however I haven't seen it panicd, so let's try.

P.S. about adding USE_SKIM into configure header instead of just compile
option for target, it is better, because it allows not to recompile lots
of C++ headers, since we have to add skim library as PUBLIC.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-11 15:52:00 +01:00
Azat Khuzhin
8570f15688 Configure rustc compiler properly
Right now it works for host platforms because of gcc package, that
includes gcc-cross sysroot.

Use bundled sysroot from contrib instead.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-11 15:52:00 +01:00
BoloniniD
147dfac11e Try using Corrosion 2022-09-12 23:05:41 +03:00