@@ -1,2 +1,2 @@
[build]
-rustflags = ["-Clinker=clang++-14", "-Clink-arg=-fuse-ld=lld"]
+rustflags = ["-Clinker=clang++", "-Clink-arg=-fuse-ld=lld"]
\ No newline at end of file
@@ -55,11 +55,13 @@ 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")
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcoroutines")
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)
+ add_compile_options(-Wno-unused-but-set-variable)
+ add_compile_options(-Wno-unused-command-line-argument)
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcoroutines")
endif()
@@ -1,4 +1,12 @@
-set(CLANG_FORMAT "/usr/bin/clang-format-14")
+if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ set(CLANG_FORMAT "/usr/bin/clang-format-14")
+elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
+ find_program(CLANG_FORMAT
+ NAMES clang-format
+ PATHS /usr/bin /usr/local/bin
+ DOC "PATH to clang-format executable"
+ NO_ERROR)
+endif()
if(EXISTS ${CLANG_FORMAT})
message(STATUS "Found clang-format at ${CLANG_FORMAT}")
@@ -1,7 +1,15 @@
# clang-tidy generates too many warnings, so just disable it by default.
option(ENABLE_CLANG_TIDY "Run clang-tidy during build" OFF)
-find_program(CLANG_TIDY NAMES clang-tidy-14)
+if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ find_program(CLANG_TIDY NAMES clang-tidy-14)
+elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
+ find_program(CLANG_TIDY
+ NAMES clang-tidy
+ PATHS /usr/bin /usr/local/bin
+ DOC "PATH to clang-tidy executable"
+ NO_ERROR)
+endif()
if(CLANG_TIDY)
if(CMake_SOURCE_DIR STREQUAL CMake_BINARY_DIR)
message(FATAL_ERROR "CMake_RUN_CLANG_TIDY requires an out-of-source build!")
@@ -45,8 +45,8 @@ class CMakeBuild(build_ext):
f"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY={extdir}",
f"-DPYTHON_EXECUTABLE={sys.executable}",
f"-DCMAKE_BUILD_TYPE={cfg}", # not used on MSVC, but no harm
- "-DCMAKE_CXX_COMPILER=clang++-14",
- "-DCMAKE_C_COMPILER=clang-14",
+ "-DCMAKE_CXX_COMPILER=clang++",
+ "-DCMAKE_C_COMPILER=clang",
"-DCMAKE_EXPORT_COMPILE_COMMANDS=ON",
"-DUSE_RTTI=ON",
"-DOVERRIDE_CXX_NEW_DELETE=OFF",
@@ -1,7 +1,7 @@
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
- link_directories(/usr/local/lib/x86_64-linux-gnu/ /usr/lib64 /usr/local/lib64)
+ link_directories(/usr/local/lib/x86_64-linux-gnu/)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
- link_directories(/usr/local/lib/aarch64-linux-gnu/ /usr/lib64 /usr/local/lib64)
+ link_directories(/usr/local/lib64 usr/local/lib/aarch64-linux-gnu/)
endif()
target_add_lib(hf3fs_fuse common core-app meta-client storage-client fuse3 client-lib-common)