mirror of
https://github.com/chatmail/core.git
synced 2026-04-17 21:46:35 +03:00
On main, when running `cargo build`, the following warning is emitted: > warning: /home/jonathan/deltachat-android/jni/deltachat-core-rust/deltachat-ffi/Cargo.toml: `default-features` is ignored for deltachat, since `default-features` was not specified for `workspace.dependencies.deltachat`, this could become a hard error in the future This is because when referring to a workspace dependency, it's not possible to remove features, it's only possible to add features, so that the `vendored` feature was always enabled with no possibility to disable it. This PR restores the wanted behavior of enabling vendoring by default with the possibility to disable it with "default-features = false". It fixes `nix build .#python-docs` by not passing `--no-default-features` when building deltachat with nix.
47 lines
1.5 KiB
CMake
47 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(deltachat LANGUAGES C)
|
|
include(GNUInstallDirs)
|
|
|
|
find_program(CARGO cargo)
|
|
|
|
if(APPLE)
|
|
set(DYNAMIC_EXT "dylib")
|
|
elseif(UNIX)
|
|
set(DYNAMIC_EXT "so")
|
|
else()
|
|
set(DYNAMIC_EXT "dll")
|
|
endif()
|
|
|
|
if(DEFINED ENV{CARGO_BUILD_TARGET})
|
|
set(ARCH_DIR "$ENV{CARGO_BUILD_TARGET}")
|
|
else()
|
|
set(ARCH_DIR "./")
|
|
endif()
|
|
|
|
add_custom_command(
|
|
OUTPUT
|
|
"${CMAKE_BINARY_DIR}/target/release/libdeltachat.a"
|
|
"${CMAKE_BINARY_DIR}/target/release/libdeltachat.${DYNAMIC_EXT}"
|
|
"${CMAKE_BINARY_DIR}/target/release/pkgconfig/deltachat.pc"
|
|
COMMAND
|
|
PREFIX=${CMAKE_INSTALL_PREFIX}
|
|
LIBDIR=${CMAKE_INSTALL_FULL_LIBDIR}
|
|
INCLUDEDIR=${CMAKE_INSTALL_FULL_INCLUDEDIR}
|
|
${CARGO} build --target-dir=${CMAKE_BINARY_DIR}/target --release --features jsonrpc
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/deltachat-ffi
|
|
)
|
|
|
|
add_custom_target(
|
|
lib_deltachat
|
|
ALL
|
|
DEPENDS
|
|
"${CMAKE_BINARY_DIR}/target/release/libdeltachat.a"
|
|
"${CMAKE_BINARY_DIR}/target/release/libdeltachat.${DYNAMIC_EXT}"
|
|
"${CMAKE_BINARY_DIR}/target/release/pkgconfig/deltachat.pc"
|
|
)
|
|
|
|
install(FILES "deltachat-ffi/deltachat.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
install(FILES "${CMAKE_BINARY_DIR}/target/${ARCH_DIR}/release/libdeltachat.a" DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
install(FILES "${CMAKE_BINARY_DIR}/target/${ARCH_DIR}/release/libdeltachat.${DYNAMIC_EXT}" DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
install(FILES "${CMAKE_BINARY_DIR}/target/${ARCH_DIR}/release/pkgconfig/deltachat.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|