mirror of
https://github.com/deepseek-ai/3FS
synced 2025-06-26 18:16:45 +00:00
Use consistent styles for cmake scripts
This commit is contained in:
parent
3c100b90ce
commit
92c1ff6aee
@ -2,20 +2,20 @@ cmake_minimum_required(VERSION 3.12)
|
||||
project(3FS VERSION 0.1.5 LANGUAGES C CXX)
|
||||
|
||||
set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Debug;Release;MinSizeRel" CACHE STRING "" FORCE)
|
||||
if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "None")
|
||||
set (CMAKE_BUILD_TYPE "RelWithDebInfo")
|
||||
message (STATUS "CMAKE_BUILD_TYPE is not set, set to default = ${CMAKE_BUILD_TYPE}")
|
||||
endif ()
|
||||
message (STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
|
||||
if(NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "None")
|
||||
set(CMAKE_BUILD_TYPE "RelWithDebInfo")
|
||||
message(STATUS "CMAKE_BUILD_TYPE is not set, set to default = ${CMAKE_BUILD_TYPE}")
|
||||
endif()
|
||||
message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
|
||||
|
||||
string (TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UC)
|
||||
string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UC)
|
||||
|
||||
if(CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG" )
|
||||
option(ENABLE_ASSERTIONS "Enable assertions" ON)
|
||||
else()
|
||||
option(ENABLE_ASSERTIONS "Enable assertions" OFF)
|
||||
endif()
|
||||
message (STATUS "ENABLE_ASSERTIONS: ${ENABLE_ASSERTIONS}")
|
||||
message(STATUS "ENABLE_ASSERTIONS: ${ENABLE_ASSERTIONS}")
|
||||
|
||||
if(ENABLE_ASSERTIONS)
|
||||
add_definitions(-D_DEBUG)
|
||||
@ -32,18 +32,18 @@ option(SAVE_ALLOCATE_SIZE "Use more memory to save allocate size" OFF)
|
||||
|
||||
option(ENABLE_FUSE_APPLICATION "" ON)
|
||||
|
||||
if (DEFINED SANITIZER AND SANITIZER)
|
||||
if(DEFINED SANITIZER AND SANITIZER)
|
||||
set(OVERRIDE_CXX_NEW_DELETE OFF)
|
||||
endif()
|
||||
message (STATUS "OVERRIDE_CXX_NEW_DELETE: ${OVERRIDE_CXX_NEW_DELETE}")
|
||||
message(STATUS "OVERRIDE_CXX_NEW_DELETE: ${OVERRIDE_CXX_NEW_DELETE}")
|
||||
|
||||
if (OVERRIDE_CXX_NEW_DELETE)
|
||||
if(OVERRIDE_CXX_NEW_DELETE)
|
||||
add_definitions(-DOVERRIDE_CXX_NEW_DELETE)
|
||||
if (SAVE_ALLOCATE_SIZE)
|
||||
if(SAVE_ALLOCATE_SIZE)
|
||||
add_definitions(-DSAVE_ALLOCATE_SIZE)
|
||||
endif()
|
||||
endif()
|
||||
message (STATUS "SAVE_ALLOCATE_SIZE: ${SAVE_ALLOCATE_SIZE}")
|
||||
message(STATUS "SAVE_ALLOCATE_SIZE: ${SAVE_ALLOCATE_SIZE}")
|
||||
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_C_STANDARD_REQUIRED OFF)
|
||||
@ -54,14 +54,14 @@ set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcoroutines-ts")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcoroutines-ts")
|
||||
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic")
|
||||
add_link_options(-fuse-ld=lld)
|
||||
# Do not build with libc++ (LLVM's implementation of the C++ standard library) in fdb
|
||||
set(USE_LIBCXX OFF)
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcoroutines")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcoroutines")
|
||||
endif()
|
||||
|
||||
# Remove project root from the __FILE__ macro variable
|
||||
@ -128,36 +128,36 @@ add_subdirectory("third_party/pybind11" EXCLUDE_FROM_ALL)
|
||||
restore_compile_flags()
|
||||
add_subdirectory("third_party/toml11" EXCLUDE_FROM_ALL)
|
||||
restore_compile_flags()
|
||||
set (MI_OVERRIDE OFF)
|
||||
set(MI_OVERRIDE OFF)
|
||||
add_subdirectory("third_party/mimalloc" EXCLUDE_FROM_ALL)
|
||||
restore_compile_flags()
|
||||
add_subdirectory("third_party/clickhouse-cpp" EXCLUDE_FROM_ALL)
|
||||
TARGET_INCLUDE_DIRECTORIES(clickhouse-cpp-lib
|
||||
target_include_directories(clickhouse-cpp-lib
|
||||
PUBLIC ${PROJECT_SOURCE_DIR}/third_party/clickhouse-cpp
|
||||
)
|
||||
TARGET_INCLUDE_DIRECTORIES(clickhouse-cpp-lib-static
|
||||
target_include_directories(clickhouse-cpp-lib-static
|
||||
PUBLIC ${PROJECT_SOURCE_DIR}/third_party/clickhouse-cpp
|
||||
)
|
||||
TARGET_INCLUDE_DIRECTORIES (absl-lib
|
||||
target_include_directories(absl-lib
|
||||
PUBLIC ${PROJECT_SOURCE_DIR}/third_party/clickhouse-cpp/contrib
|
||||
)
|
||||
restore_compile_flags()
|
||||
add_subdirectory("third_party/liburing-cmake" EXCLUDE_FROM_ALL)
|
||||
restore_compile_flags()
|
||||
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -Wpedantic")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -Wpedantic")
|
||||
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMPILER_FLAGS}")
|
||||
set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 ${DEBUG_INFO_FLAGS} ${CMAKE_CXX_FLAGS_ADD}")
|
||||
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 ${DEBUG_INFO_FLAGS} -fno-inline ${CMAKE_CXX_FLAGS_ADD}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMPILER_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 ${DEBUG_INFO_FLAGS} ${CMAKE_CXX_FLAGS_ADD}")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 ${DEBUG_INFO_FLAGS} -fno-inline ${CMAKE_CXX_FLAGS_ADD}")
|
||||
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMPILER_FLAGS} ${CMAKE_C_FLAGS_ADD}")
|
||||
set (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3 ${DEBUG_INFO_FLAGS} ${CMAKE_C_FLAGS_ADD}")
|
||||
set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 ${DEBUG_INFO_FLAGS} -fno-inline ${CMAKE_C_FLAGS_ADD}")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMPILER_FLAGS} ${CMAKE_C_FLAGS_ADD}")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3 ${DEBUG_INFO_FLAGS} ${CMAKE_C_FLAGS_ADD}")
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 ${DEBUG_INFO_FLAGS} -fno-inline ${CMAKE_C_FLAGS_ADD}")
|
||||
|
||||
set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} ${COMPILER_FLAGS} ${CMAKE_ASM_FLAGS_ADD}")
|
||||
set (CMAKE_ASM_FLAGS_RELWITHDEBINFO "${CMAKE_ASM_FLAGS_RELWITHDEBINFO} -O3 ${DEBUG_INFO_FLAGS} ${CMAKE_ASM_FLAGS_ADD}")
|
||||
set (CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -O0 ${DEBUG_INFO_FLAGS} -fno-inline ${CMAKE_ASM_FLAGS_ADD}")
|
||||
set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} ${COMPILER_FLAGS} ${CMAKE_ASM_FLAGS_ADD}")
|
||||
set(CMAKE_ASM_FLAGS_RELWITHDEBINFO "${CMAKE_ASM_FLAGS_RELWITHDEBINFO} -O3 ${DEBUG_INFO_FLAGS} ${CMAKE_ASM_FLAGS_ADD}")
|
||||
set(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -O0 ${DEBUG_INFO_FLAGS} -fno-inline ${CMAKE_ASM_FLAGS_ADD}")
|
||||
|
||||
set(Boost_USE_STATIC_LIBS ON)
|
||||
set(FDB_VERSION 7.1.5-ibe)
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(CARGO_CMD cargo build)
|
||||
set(TARGET_DIR "debug")
|
||||
else ()
|
||||
else()
|
||||
set(CARGO_CMD cargo build --release)
|
||||
set(TARGET_DIR "release")
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
add_custom_target(
|
||||
cargo_build_all ALL
|
||||
|
||||
@ -49,7 +49,7 @@ ExternalProject_Add(
|
||||
"${ARROW_RELEASE_BUILD_DIR}/libarrow.a"
|
||||
"${ARROW_RELEASE_BUILD_DIR}/libparquet.a"
|
||||
"${ARROW_RELEASE_BUILD_DIR}/libarrow_bundled_dependencies.a"
|
||||
)
|
||||
)
|
||||
|
||||
add_dependencies(arrow_static apache-arrow-cpp)
|
||||
add_dependencies(parquet_static apache-arrow-cpp)
|
||||
|
||||
@ -13,12 +13,14 @@ if(EXISTS ${CLANG_FORMAT})
|
||||
# this from SOURCE_FILES list. But, should filter the thirs_party sources.
|
||||
# Taking a quick route for now. We should deal with it sometime down the line.
|
||||
add_custom_target(format
|
||||
COMMENT "Running clang-format"
|
||||
COMMAND find ${SOURCE_DIRS} -name '*.cc' -o -name '*.cpp' -o -name '*.h' | grep -v "_generated.h" | xargs ${CLANG_FORMAT} -i)
|
||||
COMMENT "Running clang-format"
|
||||
COMMAND find ${SOURCE_DIRS} -name '*.cc' -o -name '*.cpp' -o -name '*.h' | grep -v "_generated.h" | xargs ${CLANG_FORMAT} -i
|
||||
)
|
||||
|
||||
add_custom_target(check-format
|
||||
COMMENT "Running clang-format"
|
||||
COMMAND find ${SOURCE_DIRS} -name '*.cc' -o -name '*.cpp' -o -name '*.h' | grep -v "_generated.h" | xargs ${CLANG_FORMAT} --Werror --dry-run)
|
||||
COMMENT "Running clang-format"
|
||||
COMMAND find ${SOURCE_DIRS} -name '*.cc' -o -name '*.cpp' -o -name '*.h' | grep -v "_generated.h" | xargs ${CLANG_FORMAT} --Werror --dry-run
|
||||
)
|
||||
else()
|
||||
message(FATAL_ERROR "clang-format-14 not found")
|
||||
endif()
|
||||
|
||||
@ -1,21 +1,21 @@
|
||||
macro(store_compile_flags)
|
||||
set(ORIGINAL_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set(ORIGINAL_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
|
||||
set(ORIGINAL_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
|
||||
set(ORIGINAL_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
||||
set(ORIGINAL_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
set(ORIGINAL_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
|
||||
set(ORIGINAL_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
set(ORIGINAL_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
||||
set(ORIGINAL_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set(ORIGINAL_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
|
||||
set(ORIGINAL_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
|
||||
set(ORIGINAL_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
||||
set(ORIGINAL_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
set(ORIGINAL_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
|
||||
set(ORIGINAL_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
set(ORIGINAL_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
||||
endmacro()
|
||||
|
||||
macro(restore_compile_flags)
|
||||
set(CMAKE_C_FLAGS "${ORIGINAL_C_FLAGS}")
|
||||
set(CMAKE_C_FLAGS_DEBUG "${ORIGINAL_C_FLAGS_DEBUG}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${ORIGINAL_C_FLAGS_RELEASE}")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${ORIGINAL_C_FLAGS_RELWITHDEBINFO}")
|
||||
set(CMAKE_CXX_FLAGS "${ORIGINAL_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${ORIGINAL_CXX_FLAGS_DEBUG}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${ORIGINAL_CXX_FLAGS_RELEASE}")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${ORIGINAL_CXX_FLAGS_RELWITHDEBINFO}")
|
||||
set(CMAKE_C_FLAGS "${ORIGINAL_C_FLAGS}")
|
||||
set(CMAKE_C_FLAGS_DEBUG "${ORIGINAL_C_FLAGS_DEBUG}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${ORIGINAL_C_FLAGS_RELEASE}")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${ORIGINAL_C_FLAGS_RELWITHDEBINFO}")
|
||||
set(CMAKE_CXX_FLAGS "${ORIGINAL_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${ORIGINAL_CXX_FLAGS_DEBUG}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${ORIGINAL_CXX_FLAGS_RELEASE}")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${ORIGINAL_CXX_FLAGS_RELWITHDEBINFO}")
|
||||
endmacro()
|
||||
|
||||
@ -1,15 +1,17 @@
|
||||
if (ENABLE_FUSE_APPLICATION)
|
||||
add_custom_target(dump-config
|
||||
COMMENT "Running dump config"
|
||||
COMMAND find ${CMAKE_CURRENT_BINARY_DIR} -name 'meta_main' -o -name 'mgmtd_main' -o -name 'storage_main' -o -name 'admin_cli' -o -name 'hf3fs_fuse_main' | xargs -I {} bash -c '{} --dump_default_cfg > ${CMAKE_SOURCE_DIR}/configs/`basename {}`.toml'
|
||||
COMMAND find ${CMAKE_CURRENT_BINARY_DIR} -name 'meta_main' -o -name 'mgmtd_main' -o -name 'storage_main' -o -name 'hf3fs_fuse_main' | xargs -I {} bash -c '{} --dump_default_app_cfg > ${CMAKE_SOURCE_DIR}/configs/`basename {}`_app.toml'
|
||||
COMMAND find ${CMAKE_CURRENT_BINARY_DIR} -name 'meta_main' -o -name 'mgmtd_main' -o -name 'storage_main' -o -name 'hf3fs_fuse_main' | xargs -I {} bash -c '{} --dump_default_launcher_cfg > ${CMAKE_SOURCE_DIR}/configs/`basename {}`_launcher.toml')
|
||||
add_dependencies(dump-config meta_main mgmtd_main storage_main admin_cli hf3fs_fuse_main)
|
||||
if(ENABLE_FUSE_APPLICATION)
|
||||
add_custom_target(dump-config
|
||||
COMMENT "Running dump config"
|
||||
COMMAND find ${CMAKE_CURRENT_BINARY_DIR} -name 'meta_main' -o -name 'mgmtd_main' -o -name 'storage_main' -o -name 'admin_cli' -o -name 'hf3fs_fuse_main' | xargs -I {} bash -c '{} --dump_default_cfg > ${CMAKE_SOURCE_DIR}/configs/`basename {}`.toml'
|
||||
COMMAND find ${CMAKE_CURRENT_BINARY_DIR} -name 'meta_main' -o -name 'mgmtd_main' -o -name 'storage_main' -o -name 'hf3fs_fuse_main' | xargs -I {} bash -c '{} --dump_default_app_cfg > ${CMAKE_SOURCE_DIR}/configs/`basename {}`_app.toml'
|
||||
COMMAND find ${CMAKE_CURRENT_BINARY_DIR} -name 'meta_main' -o -name 'mgmtd_main' -o -name 'storage_main' -o -name 'hf3fs_fuse_main' | xargs -I {} bash -c '{} --dump_default_launcher_cfg > ${CMAKE_SOURCE_DIR}/configs/`basename {}`_launcher.toml'
|
||||
)
|
||||
add_dependencies(dump-config meta_main mgmtd_main storage_main admin_cli hf3fs_fuse_main)
|
||||
else()
|
||||
add_custom_target(dump-config
|
||||
COMMENT "Running dump config"
|
||||
COMMAND find ${CMAKE_CURRENT_BINARY_DIR} -name 'meta_main' -o -name 'mgmtd_main' -o -name 'storage_main' -o -name 'admin_cli' | xargs -I {} bash -c '{} --dump_default_cfg > ${CMAKE_SOURCE_DIR}/configs/`basename {}`.toml'
|
||||
COMMAND find ${CMAKE_CURRENT_BINARY_DIR} -name 'meta_main' -o -name 'mgmtd_main' -o -name 'storage_main' | xargs -I {} bash -c '{} --dump_default_app_cfg > ${CMAKE_SOURCE_DIR}/configs/`basename {}`_app.toml'
|
||||
COMMAND find ${CMAKE_CURRENT_BINARY_DIR} -name 'meta_main' -o -name 'mgmtd_main' -o -name 'storage_main' | xargs -I {} bash -c '{} --dump_default_launcher_cfg > ${CMAKE_SOURCE_DIR}/configs/`basename {}`_launcher.toml')
|
||||
add_dependencies(dump-config meta_main mgmtd_main storage_main admin_cli)
|
||||
add_custom_target(dump-config
|
||||
COMMENT "Running dump config"
|
||||
COMMAND find ${CMAKE_CURRENT_BINARY_DIR} -name 'meta_main' -o -name 'mgmtd_main' -o -name 'storage_main' -o -name 'admin_cli' | xargs -I {} bash -c '{} --dump_default_cfg > ${CMAKE_SOURCE_DIR}/configs/`basename {}`.toml'
|
||||
COMMAND find ${CMAKE_CURRENT_BINARY_DIR} -name 'meta_main' -o -name 'mgmtd_main' -o -name 'storage_main' | xargs -I {} bash -c '{} --dump_default_app_cfg > ${CMAKE_SOURCE_DIR}/configs/`basename {}`_app.toml'
|
||||
COMMAND find ${CMAKE_CURRENT_BINARY_DIR} -name 'meta_main' -o -name 'mgmtd_main' -o -name 'storage_main' | xargs -I {} bash -c '{} --dump_default_launcher_cfg > ${CMAKE_SOURCE_DIR}/configs/`basename {}`_launcher.toml'
|
||||
)
|
||||
add_dependencies(dump-config meta_main mgmtd_main storage_main admin_cli)
|
||||
endif()
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
find_package(Git REQUIRED)
|
||||
|
||||
if (NOT DEFINED PRE_CONFIGURE_DIR)
|
||||
if(NOT DEFINED PRE_CONFIGURE_DIR)
|
||||
set(PRE_CONFIGURE_DIR ${PROJECT_SOURCE_DIR}/src/common/utils)
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED POST_BUILD_DIR)
|
||||
if(NOT DEFINED POST_BUILD_DIR)
|
||||
set(POST_BUILD_DIR ${PROJECT_BINARY_DIR})
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
set(PRE_CONFIGURE_FILE ${PRE_CONFIGURE_DIR}/VersionInfo.cc.in)
|
||||
set(POST_CONFIGURE_FILE ${POST_BUILD_DIR}/src/common/utils/VersionInfo.cc)
|
||||
@ -16,50 +16,50 @@ function(CheckGitWrite git_hash)
|
||||
endfunction()
|
||||
|
||||
function(CheckGitRead git_hash)
|
||||
if (EXISTS ${POST_BUILD_DIR}/git-state.txt)
|
||||
if(EXISTS ${POST_BUILD_DIR}/git-state.txt)
|
||||
file(STRINGS ${POST_BUILD_DIR}/git-state.txt CONTENT)
|
||||
LIST(GET CONTENT 0 var)
|
||||
set(${git_hash} ${var} PARENT_SCOPE)
|
||||
endif ()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(CheckGitVersion)
|
||||
# Get the latest abbreviated commit hash of the working branch
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} rev-parse --short=8 HEAD
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE BUILD_COMMIT_HASH_SHORT
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
COMMAND ${GIT_EXECUTABLE} rev-parse --short=8 HEAD
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE BUILD_COMMIT_HASH_SHORT
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} rev-parse HEAD
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE BUILD_COMMIT_HASH_FULL
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
COMMAND ${GIT_EXECUTABLE} rev-parse HEAD
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE BUILD_COMMIT_HASH_FULL
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} log -1 --format=%at --date=local
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE BUILD_TIMESTAMP
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
COMMAND ${GIT_EXECUTABLE} log -1 --format=%at --date=local
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE BUILD_TIMESTAMP
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
execute_process(
|
||||
COMMAND date -d @${BUILD_TIMESTAMP} +%Y%m%d
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE BUILD_DATE
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
COMMAND date -d @${BUILD_TIMESTAMP} +%Y%m%d
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE BUILD_DATE
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} describe --tags --abbrev=0
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE BUILD_TAG
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
COMMAND ${GIT_EXECUTABLE} describe --tags --abbrev=0
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE BUILD_TAG
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
execute_process(
|
||||
COMMAND bash -c "${GIT_EXECUTABLE} describe --tags --long | sed -E 's/(.*)-([0-9]+)-(\\w+)/\\2/g'"
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE BUILD_TAG_SEQ_NUM
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
COMMAND bash -c "${GIT_EXECUTABLE} describe --tags --long | sed -E 's/(.*)-([0-9]+)-(\\w+)/\\2/g'"
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE BUILD_TAG_SEQ_NUM
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(NOT DEFINED BUILD_TAG OR BUILD_TAG STREQUAL "")
|
||||
set(BUILD_TAG "250228")
|
||||
@ -78,26 +78,26 @@ function(CheckGitVersion)
|
||||
|
||||
CheckGitRead(GIT_HASH_CACHE)
|
||||
|
||||
if (NOT DEFINED GIT_HASH_CACHE)
|
||||
if(NOT DEFINED GIT_HASH_CACHE)
|
||||
set(GIT_HASH_CACHE "INVALID")
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED BUILD_ON_RELEASE_BRANCH)
|
||||
if(NOT DEFINED BUILD_ON_RELEASE_BRANCH)
|
||||
set(BUILD_ON_RELEASE_BRANCH "false")
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED BUILD_PIPELINE_ID)
|
||||
if(NOT DEFINED BUILD_PIPELINE_ID)
|
||||
set(BUILD_PIPELINE_ID "999999")
|
||||
endif()
|
||||
|
||||
# Only update the git_version.cpp if the hash has changed. This will
|
||||
# prevent us from rebuilding the project more than we need to.
|
||||
if (NOT ${BUILD_COMMIT_HASH_FULL} STREQUAL ${GIT_HASH_CACHE} OR NOT EXISTS ${POST_CONFIGURE_FILE})
|
||||
if(NOT ${BUILD_COMMIT_HASH_FULL} STREQUAL ${GIT_HASH_CACHE} OR NOT EXISTS ${POST_CONFIGURE_FILE})
|
||||
# Set che GIT_HASH_CACHE variable the next build won't have
|
||||
# to regenerate the source file.
|
||||
CheckGitWrite("${BUILD_COMMIT_HASH_FULL}")
|
||||
configure_file(${PRE_CONFIGURE_FILE} ${POST_CONFIGURE_FILE} @ONLY)
|
||||
endif ()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(CheckGitSetup project_src_dir)
|
||||
@ -122,6 +122,6 @@ function(CheckGitSetup project_src_dir)
|
||||
CheckGitVersion()
|
||||
endfunction()
|
||||
|
||||
if (RUN_CHECK_GIT_VERSION)
|
||||
if(RUN_CHECK_GIT_VERSION)
|
||||
CheckGitVersion()
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
@ -5,14 +5,15 @@ include(ExternalProject)
|
||||
set(JEMALLOC_DIR "${CMAKE_BINARY_DIR}/third_party/jemalloc")
|
||||
|
||||
ExternalProject_add(Hf3fsJemalloc_project
|
||||
SOURCE_DIR "${PROJECT_SOURCE_DIR}/third_party/jemalloc"
|
||||
BUILD_BYPRODUCTS "${JEMALLOC_DIR}/include/jemalloc/jemalloc.h"
|
||||
"${JEMALLOC_DIR}/lib/libjemalloc.so.2"
|
||||
CONFIGURE_COMMAND ./autogen.sh && ./configure --prefix=${JEMALLOC_DIR} --disable-cxx --enable-prof --disable-initial-exec-tls
|
||||
BUILD_IN_SOURCE ON
|
||||
BUILD_COMMAND make -j 6
|
||||
INSTALL_DIR "${JEMALLOC_DIR}"
|
||||
INSTALL_COMMAND make install)
|
||||
SOURCE_DIR "${PROJECT_SOURCE_DIR}/third_party/jemalloc"
|
||||
BUILD_BYPRODUCTS "${JEMALLOC_DIR}/include/jemalloc/jemalloc.h"
|
||||
"${JEMALLOC_DIR}/lib/libjemalloc.so.2"
|
||||
CONFIGURE_COMMAND ./autogen.sh && ./configure --prefix=${JEMALLOC_DIR} --disable-cxx --enable-prof --disable-initial-exec-tls
|
||||
BUILD_IN_SOURCE ON
|
||||
BUILD_COMMAND make -j 6
|
||||
INSTALL_DIR "${JEMALLOC_DIR}"
|
||||
INSTALL_COMMAND make install
|
||||
)
|
||||
|
||||
add_dependencies(hf3fs_jemalloc_shared Hf3fsJemalloc_project)
|
||||
set_target_properties(hf3fs_jemalloc_shared PROPERTIES IMPORTED_LOCATION "${JEMALLOC_DIR}/lib/libjemalloc.so.2")
|
||||
|
||||
@ -6,7 +6,7 @@ check_ipo_supported(RESULT HAVE_IPO)
|
||||
macro(target_enable_ipo NAME)
|
||||
if(NOT CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG" AND HAVE_IPO)
|
||||
set_property(TARGET ${NAME} PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||
message (STATUS "Enabled IPO for target: ${NAME}")
|
||||
message(STATUS "Enabled IPO for target: ${NAME}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
@ -93,17 +93,17 @@ macro(target_add_fbs NAME PATH)
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${DIR}"
|
||||
""
|
||||
""
|
||||
)
|
||||
)
|
||||
|
||||
add_library(${NAME} INTERFACE)
|
||||
target_link_libraries(${NAME} INTERFACE common)
|
||||
target_include_directories(${NAME}
|
||||
INTERFACE
|
||||
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>
|
||||
${PROJECT_SOURCE_DIR}
|
||||
${PROJECT_BINARY_DIR}/src
|
||||
${PROJECT_BINARY_DIR}
|
||||
)
|
||||
add_library(${NAME} INTERFACE)
|
||||
target_link_libraries(${NAME} INTERFACE common)
|
||||
target_include_directories(${NAME}
|
||||
INTERFACE
|
||||
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>
|
||||
${PROJECT_SOURCE_DIR}
|
||||
${PROJECT_BINARY_DIR}/src
|
||||
${PROJECT_BINARY_DIR}
|
||||
)
|
||||
|
||||
add_dependencies(${NAME} "${NAME_WE}-generated" ${FBS_DEPS})
|
||||
endmacro()
|
||||
|
||||
@ -7,6 +7,6 @@ endif()
|
||||
target_add_lib(hf3fs_fuse common core-app meta-client storage-client fuse3 client-lib-common)
|
||||
target_add_bin(hf3fs_fuse_main hf3fs_fuse.cpp hf3fs_fuse)
|
||||
|
||||
if (ENABLE_FUSE_APPLICATION)
|
||||
target_compile_definitions(hf3fs_fuse PUBLIC -DENABLE_FUSE_APPLICATION)
|
||||
if(ENABLE_FUSE_APPLICATION)
|
||||
target_compile_definitions(hf3fs_fuse PUBLIC -DENABLE_FUSE_APPLICATION)
|
||||
endif()
|
||||
|
||||
@ -4,11 +4,11 @@ target_compile_definitions(hf3fs_py_usrbio
|
||||
PRIVATE) # VERSION_INFO=${PYCLIENT_VERSION_INFO})
|
||||
|
||||
target_include_directories(hf3fs_py_usrbio
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>
|
||||
${PROJECT_SOURCE_DIR}
|
||||
${PROJECT_BINARY_DIR}/src
|
||||
${PROJECT_BINARY_DIR}
|
||||
)
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>
|
||||
${PROJECT_SOURCE_DIR}
|
||||
${PROJECT_BINARY_DIR}/src
|
||||
${PROJECT_BINARY_DIR}
|
||||
)
|
||||
target_link_libraries(hf3fs_py_usrbio PRIVATE hf3fs_api_shared)
|
||||
|
||||
|
||||
@ -1,2 +1 @@
|
||||
target_add_test(test_client hf3fs_api storage-client meta-client meta mgmtd)
|
||||
|
||||
|
||||
@ -3,4 +3,5 @@ add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/fdb_loopback.sh
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/fdb_loopback.sh
|
||||
${CMAKE_CURRENT_BINARY_DIR}/fdb_loopback.sh
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/fdb_loopback.sh)
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/fdb_loopback.sh
|
||||
)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user