Proper CMake for libfiu

This commit is contained in:
Robert Schulze 2024-08-08 20:54:29 +00:00
parent 21f8b03789
commit 47f429a524
No known key found for this signature in database
GPG Key ID: 26703B55FB13728A
7 changed files with 28 additions and 26 deletions

View File

@ -402,7 +402,7 @@ if ((NOT OS_LINUX AND NOT OS_ANDROID) OR (CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG")
set(ENABLE_GWP_ASAN OFF) set(ENABLE_GWP_ASAN OFF)
endif () endif ()
option (ENABLE_FIU "Enable Fiu" ON) option (ENABLE_LIBFIU "Enable libfiu" ON)
option(WERROR "Enable -Werror compiler option" ON) option(WERROR "Enable -Werror compiler option" ON)

View File

@ -1,20 +1,21 @@
if (NOT ENABLE_FIU) if (NOT ENABLE_LIBFIU)
message (STATUS "Not using fiu") message (STATUS "Not using libfiu")
return () return ()
endif () endif ()
set(FIU_DIR "${ClickHouse_SOURCE_DIR}/contrib/libfiu/") set(LIBFIU_DIR "${ClickHouse_SOURCE_DIR}/contrib/libfiu/")
set(FIU_SOURCES set(LIBFIU_SOURCES
${FIU_DIR}/libfiu/fiu.c ${LIBFIU_DIR}/libfiu/fiu.c
${FIU_DIR}/libfiu/fiu-rc.c ${LIBFIU_DIR}/libfiu/fiu-rc.c
${FIU_DIR}/libfiu/backtrace.c ${LIBFIU_DIR}/libfiu/backtrace.c
${FIU_DIR}/libfiu/wtable.c ${LIBFIU_DIR}/libfiu/wtable.c
) )
set(FIU_HEADERS "${FIU_DIR}/libfiu") set(LIBFIU_HEADERS "${LIBFIU_DIR}/libfiu")
add_library(_fiu ${FIU_SOURCES}) add_library(_libfiu ${LIBFIU_SOURCES})
target_compile_definitions(_fiu PUBLIC DUMMY_BACKTRACE) target_compile_definitions(_libfiu PUBLIC DUMMY_BACKTRACE)
target_include_directories(_fiu PUBLIC ${FIU_HEADERS}) target_compile_definitions(_libfiu PUBLIC FIU_ENABLE)
add_library(ch_contrib::fiu ALIAS _fiu) target_include_directories(_libfiu PUBLIC ${LIBFIU_HEADERS})
add_library(ch_contrib::libfiu ALIAS _libfiu)

View File

@ -353,8 +353,8 @@ target_link_libraries(clickhouse_common_io
Poco::Foundation Poco::Foundation
) )
if (TARGET ch_contrib::fiu) if (TARGET ch_contrib::libfiu)
target_link_libraries(clickhouse_common_io PUBLIC ch_contrib::fiu) target_link_libraries(clickhouse_common_io PUBLIC ch_contrib::libfiu)
endif() endif()
if (TARGET ch_contrib::cpuid) if (TARGET ch_contrib::cpuid)

View File

@ -7,6 +7,8 @@
#include <condition_variable> #include <condition_variable>
#include <mutex> #include <mutex>
#include "config.h"
namespace DB namespace DB
{ {
@ -15,7 +17,7 @@ namespace ErrorCodes
extern const int LOGICAL_ERROR; extern const int LOGICAL_ERROR;
}; };
#if FIU_ENABLE #if USE_LIBFIU
static struct InitFiu static struct InitFiu
{ {
InitFiu() InitFiu()
@ -135,7 +137,7 @@ void FailPointInjection::pauseFailPoint(const String & fail_point_name)
void FailPointInjection::enableFailPoint(const String & fail_point_name) void FailPointInjection::enableFailPoint(const String & fail_point_name)
{ {
#if FIU_ENABLE #if USE_LIBFIU
#define SUB_M(NAME, flags, pause) \ #define SUB_M(NAME, flags, pause) \
if (fail_point_name == FailPoints::NAME) \ if (fail_point_name == FailPoints::NAME) \
{ \ { \

View File

@ -1,17 +1,16 @@
#pragma once #pragma once
#include "config.h"
#include <Common/Exception.h> #include <Common/Exception.h>
#include <Core/Types.h> #include <Core/Types.h>
#include <Poco/Util/AbstractConfiguration.h> #include <Poco/Util/AbstractConfiguration.h>
#include "config.h"
#pragma clang diagnostic push #pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdocumentation" #pragma clang diagnostic ignored "-Wdocumentation"
#pragma clang diagnostic ignored "-Wreserved-macro-identifier" #pragma clang diagnostic ignored "-Wreserved-macro-identifier"
# include <fiu.h>
#include <fiu.h> # include <fiu-control.h>
#include <fiu-control.h>
#pragma clang diagnostic pop #pragma clang diagnostic pop
#include <unordered_map> #include <unordered_map>

View File

@ -59,7 +59,7 @@
#cmakedefine01 USE_SKIM #cmakedefine01 USE_SKIM
#cmakedefine01 USE_PRQL #cmakedefine01 USE_PRQL
#cmakedefine01 USE_ULID #cmakedefine01 USE_ULID
#cmakedefine01 FIU_ENABLE #cmakedefine01 USE_LIBFIU
#cmakedefine01 USE_BCRYPT #cmakedefine01 USE_BCRYPT
#cmakedefine01 USE_LIBARCHIVE #cmakedefine01 USE_LIBARCHIVE
#cmakedefine01 USE_POCKETFFT #cmakedefine01 USE_POCKETFFT

View File

@ -161,8 +161,8 @@ endif()
if (TARGET ch_contrib::ssh) if (TARGET ch_contrib::ssh)
set(USE_SSH 1) set(USE_SSH 1)
endif() endif()
if (TARGET ch_contrib::fiu) if (TARGET ch_contrib::libfiu)
set(FIU_ENABLE 1) set(USE_LIBFIU 1)
endif() endif()
if (TARGET ch_contrib::libarchive) if (TARGET ch_contrib::libarchive)
set(USE_LIBARCHIVE 1) set(USE_LIBARCHIVE 1)