mirror of
https://github.com/ArcaneChat/core.git
synced 2026-07-03 14:05:33 +02:00
a9e177f1e7
It is enabled everywhere by default since some time now. Breaking, because existing build scripts might need to be adjusted.
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
|
|
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)
|