mirror of
https://github.com/chatmail/core.git
synced 2026-08-11 17:48:05 +03:00
cmake: make headers optional
This commit is contained in:
@@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.16)
|
||||
project(deltachat LANGUAGES C)
|
||||
include(GNUInstallDirs)
|
||||
|
||||
option(BUILD_JSONRPC_BINDINGS "Build jsonrpc bindings" OFF)
|
||||
|
||||
find_program(CARGO cargo)
|
||||
|
||||
if(APPLE)
|
||||
@@ -13,12 +15,11 @@ else()
|
||||
endif()
|
||||
|
||||
if(DEFINED ENV{CARGO_BUILD_TARGET})
|
||||
set(ARCH_DIR "$ENV{CARGO_BUILD_TARGET}")
|
||||
set(CARGO_OUT_DIR "${CMAKE_BINARY_DIR}/target/$ENV{CARGO_BUILD_TARGET}/release")
|
||||
else()
|
||||
set(ARCH_DIR "./")
|
||||
set(CARGO_OUT_DIR "${CMAKE_BINARY_DIR}/target/release")
|
||||
endif()
|
||||
|
||||
# Keep same env for all cargo calls to enable caching
|
||||
set(CARGO_BUILD ${CMAKE_COMMAND}
|
||||
-E env
|
||||
CARGO_TARGET_DIR="${CMAKE_BINARY_DIR}/target"
|
||||
@@ -28,10 +29,8 @@ set(CARGO_BUILD ${CMAKE_COMMAND}
|
||||
${CARGO} build --release
|
||||
)
|
||||
|
||||
set(CARGO_OUT_DIR "${CMAKE_BINARY_DIR}/target/${ARCH_DIR}/release")
|
||||
|
||||
add_custom_target(
|
||||
deltachat_ffi
|
||||
lib_deltachat
|
||||
ALL
|
||||
COMMAND
|
||||
${CARGO_BUILD} --package deltachat_ffi
|
||||
@@ -45,19 +44,24 @@ install(FILES "${CARGO_OUT_DIR}/libdeltachat.${DYNAMIC_EXT}" DESTINATION "${CMAK
|
||||
install(FILES "${CARGO_OUT_DIR}/pkgconfig/deltachat.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
|
||||
|
||||
|
||||
add_custom_target(
|
||||
deltachat_jsonrpc_bindings
|
||||
COMMAND
|
||||
${CARGO_BUILD} --package deltachat-jsonrpc-bindings
|
||||
WORKING_DIRECTORY
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
)
|
||||
if(BUILD_JSONRPC_BINDINGS)
|
||||
add_custom_target(
|
||||
jsonrpc_bindings
|
||||
ALL
|
||||
COMMAND
|
||||
${CARGO_BUILD} --package deltachat-jsonrpc-bindings
|
||||
WORKING_DIRECTORY
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
)
|
||||
|
||||
install(
|
||||
FILES
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/deltachat-jsonrpc-bindings/qt/generated/types.hpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/deltachat-jsonrpc-bindings/qt/generated/client.hpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/deltachat-jsonrpc-bindings/qt/transport.hpp"
|
||||
DESTINATION
|
||||
"${CMAKE_INSTALL_INCLUDEDIR}/deltachat-jsonrpc"
|
||||
)
|
||||
install(
|
||||
FILES
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/deltachat-jsonrpc-bindings/qt/generated/types.hpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/deltachat-jsonrpc-bindings/qt/generated/client.hpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/deltachat-jsonrpc-bindings/qt/transport.hpp"
|
||||
DESTINATION
|
||||
"${CMAKE_INSTALL_INCLUDEDIR}/deltachat-jsonrpc"
|
||||
COMPONENT
|
||||
jsonrpc_bindings
|
||||
)
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user