mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-04 21:42:39 +00:00
43 lines
1.6 KiB
CMake
43 lines
1.6 KiB
CMake
|
function(clickhouse_import_crate)
|
||
|
# This is a workaround for Corrosion case sensitive build type matching in
|
||
|
# _generator_add_cargo_targets(), that leads to different paths in
|
||
|
# IMPORTED_LOCATION and real path of the library.
|
||
|
#
|
||
|
# It uses CMAKE_CONFIGURATION_TYPES and $<CONFIG>, so here we preserve the
|
||
|
# case of ${CMAKE_BUILD_TYPE} in ${CMAKE_CONFIGURATION_TYPES}.
|
||
|
if ("${CMAKE_BUILD_TYPE_UC}" STREQUAL "DEBUG")
|
||
|
set(CMAKE_CONFIGURATION_TYPES "${CMAKE_BUILD_TYPE};release")
|
||
|
else()
|
||
|
set(CMAKE_CONFIGURATION_TYPES "${CMAKE_BUILD_TYPE};debug")
|
||
|
endif()
|
||
|
|
||
|
if (CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG")
|
||
|
set(profile "")
|
||
|
else()
|
||
|
if (ENABLE_THINLTO)
|
||
|
set(profile "release-thinlto")
|
||
|
else()
|
||
|
set(profile "release")
|
||
|
endif()
|
||
|
endif()
|
||
|
|
||
|
corrosion_import_crate(${ARGN} NO_STD PROFILE ${profile} LOCKED FLAGS --offline)
|
||
|
endfunction()
|
||
|
|
||
|
# -Wno-dollar-in-identifier-extension: cxx bridge complies names with '$'
|
||
|
# -Wno-unused-macros: unused CXXBRIDGE1_RUST_STRING
|
||
|
set(CXXBRIDGE_CXXFLAGS "-Wno-dollar-in-identifier-extension -Wno-unused-macros")
|
||
|
set(RUST_CXXFLAGS "${RUST_CXXFLAGS} ${CXXBRIDGE_CXXFLAGS}")
|
||
|
message(STATUS "RUST_CXXFLAGS (for skim): ${RUST_CXXFLAGS}")
|
||
|
|
||
|
configure_file(".cargo/config.toml.in" ".cargo/config.toml" @ONLY)
|
||
|
|
||
|
clickhouse_import_crate(MANIFEST_PATH Cargo.toml)
|
||
|
|
||
|
target_include_directories(_ch_rust_prql INTERFACE prql/include)
|
||
|
add_library(ch_rust::prql ALIAS _ch_rust_prql)
|
||
|
|
||
|
target_include_directories(_ch_rust_skim_rust INTERFACE skim/include)
|
||
|
add_library(ch_rust::skim ALIAS _ch_rust_skim_rust)
|
||
|
|