chore: provide single-header fast_float.h for folly/Conv.cpp

This commit is contained in:
Marcus Holland-Moritz 2025-02-12 22:18:28 +01:00
parent 1f7949d25b
commit 84e2a0e599
3 changed files with 4453 additions and 0 deletions

View File

@ -56,6 +56,7 @@ if(NOT WIN32)
else()
option(USE_JEMALLOC "build with jemalloc" ON)
endif()
option(PREFER_SYSTEM_FAST_FLOAT "use system gtest if available" OFF)
option(PREFER_SYSTEM_GTEST "use system gtest if available" OFF)
option(DISABLE_CCACHE "disable ccache" OFF)
option(DISABLE_MOLD "disable mold" OFF)

View File

@ -56,8 +56,18 @@ set(CMAKE_DISABLE_FIND_PACKAGE_LibAIO ON)
set(CMAKE_DISABLE_FIND_PACKAGE_LibUring ON)
set(CMAKE_DISABLE_FIND_PACKAGE_Libsodium ON)
if(NOT PREFER_SYSTEM_FAST_FLOAT)
set(FASTFLOAT_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/fast_float)
endif()
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/folly EXCLUDE_FROM_ALL SYSTEM)
if(NOT PREFER_SYSTEM_FAST_FLOAT)
get_target_property(_tmpdirs folly_deps INTERFACE_INCLUDE_DIRECTORIES)
list(REMOVE_ITEM _tmpdirs "${CMAKE_CURRENT_SOURCE_DIR}/fast_float")
set_target_properties(folly_deps PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_tmpdirs}")
endif()
if(NOT DWARFS_FMT_LIB)
get_target_property(FOLLY_DEPS_INTERFACE_LINK_LIBRARIES folly_deps INTERFACE_LINK_LIBRARIES)
list(REMOVE_ITEM FOLLY_DEPS_INTERFACE_LINK_LIBRARIES fmt::fmt)
@ -124,6 +134,14 @@ target_include_directories(
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/folly>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/folly>
)
if(NOT PREFER_SYSTEM_FAST_FLOAT)
target_include_directories(
dwarfs_folly_lite SYSTEM PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/fast_float>
)
endif()
apply_folly_compile_options_to_target(dwarfs_folly_lite)
target_link_libraries(dwarfs_folly_lite PUBLIC folly_deps)

File diff suppressed because it is too large Load Diff