mirror of
https://github.com/CHN-beta/nixos.git
synced 2026-01-12 06:29:23 +08:00
packages.biu: update to boost 1.87, fix logger
This commit is contained in:
@@ -13,7 +13,8 @@ endif()
|
||||
|
||||
find_package(magic_enum REQUIRED)
|
||||
find_package(fmt REQUIRED)
|
||||
find_package(Boost REQUIRED COMPONENTS headers iostreams filesystem system)
|
||||
find_package(Boost REQUIRED COMPONENTS headers iostreams filesystem system process)
|
||||
# stacktrace_backtrace
|
||||
find_package(range-v3 REQUIRED)
|
||||
find_path(NAMEOF_INCLUDE_DIR nameof.hpp REQUIRED)
|
||||
find_package(Eigen3 REQUIRED)
|
||||
@@ -35,7 +36,7 @@ target_include_directories(biu PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_D
|
||||
${LIBBACKTRACE_INCLUDE_DIR} ${POCKETFFT_INCLUDE_DIR})
|
||||
target_link_libraries(biu PUBLIC magic_enum::magic_enum fmt::fmt Boost::headers Boost::iostreams Boost::filesystem
|
||||
range-v3::range-v3 Eigen3::Eigen HighFive TgBot::TgBot ${LIBBACKTRACE_LIBRARY} hdf5::hdf5 concurrencpp::concurrencpp
|
||||
yaml-cpp::yaml-cpp glaze::glaze)
|
||||
yaml-cpp::yaml-cpp glaze::glaze Boost::process)
|
||||
target_compile_features(biu PUBLIC cxx_std_23)
|
||||
target_compile_options(biu PUBLIC -Wno-gnu-string-literal-operator-template)
|
||||
install(TARGETS biu EXPORT biuTargets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
@@ -56,6 +57,7 @@ set_property(TARGET test-serialize PROPERTY CXX_STANDARD 23 CXX_STANDARD_REQUIRE
|
||||
add_test(NAME test-serialize COMMAND test-serialize)
|
||||
add_executable(test-process test/process.cpp)
|
||||
target_link_libraries(test-process PRIVATE biu)
|
||||
target_compile_definitions(test-process PRIVATE BIU_LOGGER_SOURCE_ROOT="${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
set_property(TARGET test-process PROPERTY CXX_STANDARD 23 CXX_STANDARD_REQUIRED ON)
|
||||
add_test(NAME test-process COMMAND test-process)
|
||||
add_executable(test-eigen test/eigen.cpp)
|
||||
@@ -84,7 +86,7 @@ set_property(TARGET test-yaml PROPERTY CXX_STANDARD 23 CXX_STANDARD_REQUIRED ON)
|
||||
add_test(NAME test-yaml COMMAND test-yaml)
|
||||
add_executable(test-logger test/logger.cpp)
|
||||
target_link_libraries(test-logger PRIVATE biu)
|
||||
target_compile_definitions(test-logger PRIVATE BIU_LOGGER_DEBUG BIU_LOGGER_SOURCE_ROOT="${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
target_compile_definitions(test-logger PRIVATE BIU_LOGGER_SOURCE_ROOT="${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
set_property(TARGET test-logger PROPERTY CXX_STANDARD 23 CXX_STANDARD_REQUIRED ON)
|
||||
add_test(NAME test-logger COMMAND test-logger)
|
||||
add_executable(test-glaze test/glaze.cpp)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/biuTargets.cmake")
|
||||
find_package(magic_enum REQUIRED)
|
||||
find_package(fmt REQUIRED)
|
||||
find_package(Boost REQUIRED COMPONENTS headers iostreams filesystem system)
|
||||
find_package(Boost REQUIRED COMPONENTS headers iostreams filesystem system process)
|
||||
find_package(range-v3 REQUIRED)
|
||||
find_path(NAMEOF_INCLUDE_DIR nameof.hpp REQUIRED)
|
||||
find_package(Eigen3 REQUIRED)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# pragma once
|
||||
# include <map>
|
||||
# define BOOST_STACKTRACE_USE_BACKTRACE
|
||||
# include <boost/stacktrace.hpp>
|
||||
# include <biu/atomic.hpp>
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# pragma once
|
||||
# define BOOST_STACKTRACE_USE_BACKTRACE
|
||||
# include <fmt/chrono.h>
|
||||
# include <tgbot/tgbot.h>
|
||||
# include <biu/logger.hpp>
|
||||
@@ -115,14 +114,10 @@ namespace biu
|
||||
void Logger::Guard::operator()() const { debug("reached after {} ms."_f(get_time_ms())); }
|
||||
template <Logger::Level L> void Logger::Guard::log(const std::string& message) const
|
||||
{
|
||||
# ifndef BIU_LOGGER_DEBUG
|
||||
if constexpr (L == Level::Debug) return;
|
||||
# endif
|
||||
if (auto&& lock = LoggerConfig_.lock(); lock->Level >= L)
|
||||
{
|
||||
static_assert(std::same_as<std::size_t, std::uint64_t>);
|
||||
auto time = std::chrono::time_point_cast<std::chrono::milliseconds>(std::chrono::system_clock::now());
|
||||
# ifdef BIU_LOGGER_DEBUG
|
||||
boost::stacktrace::stacktrace stack;
|
||||
# ifdef BIU_LOGGER_SOURCE_ROOT
|
||||
auto source_root = std::string_view(BIU_LOGGER_SOURCE_ROOT "/");
|
||||
@@ -141,11 +136,6 @@ namespace biu
|
||||
stack[0].source_line() == 0 ? "??"s : "{}"_f(stack[0].source_line()),
|
||||
stack[0].name()
|
||||
) << std::flush;
|
||||
# else
|
||||
*lock->Stream << "[ {:%T} {:02x} {:02} ] {}\n"_f
|
||||
(time, get_thread_id() % std::numeric_limits<std::uint16_t>::max(), Indent_, message)
|
||||
<< std::flush;
|
||||
# endif
|
||||
}
|
||||
}
|
||||
void Logger::Guard::error(const std::string& message) const { log<Level::Error>(message); }
|
||||
|
||||
@@ -76,7 +76,9 @@ inputs: rec
|
||||
# TODO: report glaze bug to upstream
|
||||
inherit (inputs.pkgs.pkgs-2411) glaze;
|
||||
stdenv = inputs.pkgs.clang18Stdenv;
|
||||
boost = inputs.pkgs.boost186;
|
||||
boost = inputs.pkgs.boost187;
|
||||
# boost = (inputs.pkgs.boost188.override { extraB2Args = [ "boost.stacktrace.backtrace=on" ]; }).overrideAttrs
|
||||
# (prev: { buildInputs = prev.buildInputs ++ [(inputs.pkgs.libbacktrace.override { enableStatic = true; })]; });
|
||||
fmt = inputs.pkgs.fmt_11.overrideAttrs (prev: { patches = prev.patches or [] ++ [ ./biu/fmt.patch ]; });
|
||||
};
|
||||
hpcstat = inputs.pkgs.callPackage ./hpcstat
|
||||
|
||||
Reference in New Issue
Block a user