Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .github/workflows/kiwidb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,9 @@ jobs:
run: |
brew update
brew install autoconf
brew install clang-format
brew install go
brew install llvm

- name: Restore cache
uses: actions/cache@v4
Expand All @@ -65,7 +67,7 @@ jobs:
run: |
export LIBRARY_PATH=$(xcrun --show-sdk-path)/usr/lib
export DYLD_LIBRARY_PATH=$(xcrun --show-sdk-path)/usr/lib
bash ./etc/script/build.sh --verbose
bash ./etc/script/build.sh --ninja --verbose

- name: GTest
working-directory: ${{ github.workspace }}/${{ env.BUILD_DIR }}
Expand Down Expand Up @@ -105,9 +107,14 @@ jobs:
restore-keys: |
${{ runner.os }}-cache-

- name: Install Ninja
run: |
sudo apt install -y ninja-build
sudo apt install clang

- name: Build
run: |
bash ./etc/script/build.sh --verbose
bash ./etc/script/build.sh --ninja --verbose

- name: GTest
working-directory: ${{ github.workspace }}/${{ env.BUILD_DIR }}
Expand Down
2 changes: 2 additions & 0 deletions cmake/braft.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ ExternalProject_Add(
GIT_TAG v1.1.2-beta20250101
GIT_SHALLOW true
SOURCE_DIR ${BRAFT_SOURCES_DIR}
GIT_SHALLOW true
UPDATE_COMMAND ""
CMAKE_ARGS
${EXTERNAL_PROJECT_C}
${EXTERNAL_PROJECT_CXX}
Expand Down
2 changes: 2 additions & 0 deletions cmake/brpc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ ExternalProject_Add(
DOWNLOAD_DIR "${CMAKE_CURRENT_SOURCE_DIR}/download"
DOWNLOAD_NAME "brpc-1.8.0.tar.gz"
SOURCE_DIR ${BRPC_SOURCES_DIR}
GIT_SHALLOW true
UPDATE_COMMAND ""
CMAKE_ARGS
${EXTERNAL_PROJECT_C}
${EXTERNAL_PROJECT_CXX}
Expand Down
7 changes: 7 additions & 0 deletions cmake/findTools.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,13 @@ ELSE ()
MESSAGE(STATUS "found clang-apply-replacements at ${CLANG_APPLY_REPLACEMENTS_BIN}")
ENDIF ()

# Configure CCache if available
find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
endif(CCACHE_FOUND)

OPTION(WITH_COMMAND_DOCS "build with command docs support" OFF)
IF (WITH_COMMAND_DOCS)
ADD_DEFINITIONS(-DWITH_COMMAND_DOCS)
Expand Down
2 changes: 1 addition & 1 deletion cmake/fmt.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ ExternalProject_Add(
DOWNLOAD_DIR "${CMAKE_CURRENT_SOURCE_DIR}/download"
DOWNLOAD_NAME "fmt-10.1.1.zip"
SOURCE_DIR ${FMT_SOURCES_DIR}
UPDATE_COMMAND ""
CMAKE_ARGS
${EXTERNAL_PROJECT_C}
${EXTERNAL_PROJECT_CXX}
Expand All @@ -36,5 +37,4 @@ ExternalProject_Add(
${EXTERNAL_GENERATOR}
BUILD_BYPRODUCTS ${FMT_LIBRARIES}
BUILD_COMMAND ${EXTERNAL_BUILD} -j${CPU_CORE}
UPDATE_COMMAND ""
)
2 changes: 1 addition & 1 deletion cmake/gflags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ ExternalProject_Add(
DOWNLOAD_DIR "${CMAKE_CURRENT_SOURCE_DIR}/download"
DOWNLOAD_NAME "gflags-2.2.2.zip"
SOURCE_DIR ${GFLAGS_SOURCES_DIR}
UPDATE_COMMAND ""
CMAKE_ARGS
${EXTERNAL_GENERATOR}
${EXTERNAL_PROJECT_C}
Expand All @@ -39,6 +40,5 @@ ExternalProject_Add(
-DGFLAGS_BUILD_TESTING=OFF
-DCMAKE_INSTALL_PREFIX=${LIB_INSTALL_PREFIX}
BUILD_COMMAND ${EXTERNAL_BUILD} -j${CPU_CORE}
UPDATE_COMMAND ""
BUILD_BYPRODUCTS ${GFLAGS_LIBRARY}
)
4 changes: 3 additions & 1 deletion cmake/gtest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ ExternalProject_Add(
GIT_TAG v1.14.0
GIT_SHALLOW true
SOURCE_DIR ${GTEST_SOURCES_DIR}
GIT_SHALLOW true
UPDATE_COMMAND ""
CMAKE_ARGS
${EXTERNAL_GENERATOR}
-DCMAKE_INSTALL_PREFIX=${LIB_INSTALL_PREFIX}
Expand All @@ -25,5 +27,5 @@ ExternalProject_Add(
${EXTERNAL_PROJECT_CXX_FLAGS}
${EXTERNAL_PROJECT_CXX_LINK_FLAGS}
BUILD_COMMAND ${EXTERNAL_BUILD} -j${CPU_CORE}
BUILD_BYPRODUCTS ${GTEST_LIBRARIES}
BUILD_BYPRODUCTS ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES}
)
4 changes: 2 additions & 2 deletions cmake/leveldb.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@ ExternalProject_Add(
DEPENDS snappy
GIT_REPOSITORY "https://github.com/google/leveldb.git"
GIT_TAG "1.23"
GIT_SHALLOW true
SOURCE_DIR ${LEVELDB_SOURCES_DIR}
GIT_SHALLOW true
UPDATE_COMMAND ""
CMAKE_ARGS
${EXTERNAL_PROJECT_C}
${EXTERNAL_PROJECT_CXX}
Expand All @@ -33,6 +34,5 @@ ExternalProject_Add(
-DCMAKE_BUILD_TYPE=${THIRD_PARTY_BUILD_TYPE}
${EXTERNAL_GENERATOR}
BUILD_COMMAND ${EXTERNAL_BUILD} -j${CPU_CORE}
UPDATE_COMMAND ""
BUILD_BYPRODUCTS ${LEVELDB_LIBRARIES}
)
2 changes: 1 addition & 1 deletion cmake/lz4.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ ExternalProject_Add(
DOWNLOAD_NO_PROGRESS 1
${EXTERNAL_PROJECT_LOG_ARGS}
SOURCE_SUBDIR build/cmake
UPDATE_COMMAND ""
CMAKE_ARGS
${EXTERNAL_PROJECT_C}
${EXTERNAL_PROJECT_CXX}
Expand All @@ -30,6 +31,5 @@ ExternalProject_Add(
-DBUILD_SHARED_LIBS=OFF
${EXTERNAL_GENERATOR}
BUILD_COMMAND ${EXTERNAL_BUILD} -j${CPU_CORE}
UPDATE_COMMAND ""
BUILD_BYPRODUCTS ${LZ4_LIBRARIES}
)
4 changes: 2 additions & 2 deletions cmake/protobuf.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ SET(PROTOBUF_PROTOC "${LIB_INSTALL_PREFIX}/bin/protoc")

ExternalProject_Add(
protobuf
UPDATE_COMMAND ""
LOG_CONFIGURE 1
LOG_BUILD 1
LOG_INSTALL 1
Expand All @@ -33,6 +32,7 @@ ExternalProject_Add(
DOWNLOAD_NAME "protobuf-3.18.0.tar.gz"
SOURCE_DIR ${PROTOBUF_SOURCES_DIR}
DOWNLOAD_NO_PROGRESS 1
UPDATE_COMMAND ""
CMAKE_ARGS
${EXTERNAL_PROJECT_C}
${EXTERNAL_PROJECT_CXX}
Expand All @@ -47,5 +47,5 @@ ExternalProject_Add(
-Dprotobuf_BUILD_LIBPROTOC=ON
${EXTERNAL_GENERATOR}
BUILD_COMMAND ${EXTERNAL_BUILD} -j${CPU_CORE}
BUILD_BYPRODUCTS ${LIB_PROTOBUF}
BUILD_BYPRODUCTS ${PROTOBUF_LIBRARY}
)
4 changes: 2 additions & 2 deletions cmake/rocksdb.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ ExternalProject_Add(
DEPENDS gflags snappy zlib lz4 zstd
GIT_REPOSITORY https://github.com/facebook/rocksdb.git
GIT_TAG v9.11.1
GIT_SHALLOW true
SOURCE_DIR ${ROCKSDB_SOURCES_DIR}
GIT_SHALLOW true
UPDATE_COMMAND ""
CMAKE_ARGS
${EXTERNAL_PROJECT_C}
${EXTERNAL_PROJECT_CXX}
Expand Down Expand Up @@ -43,6 +44,5 @@ ExternalProject_Add(
-DUSE_RTTI=ON
${EXTERNAL_GENERATOR}
BUILD_COMMAND ${EXTERNAL_BUILD} -j${CPU_CORE}
UPDATE_COMMAND ""
BUILD_BYPRODUCTS ${ROCKSDB_LIBRARIES}
)
3 changes: 2 additions & 1 deletion cmake/snappy.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ ExternalProject_Add(
${EXTERNAL_PROJECT_LOG_ARGS}
GIT_REPOSITORY "https://github.com/google/snappy.git"
GIT_TAG "1.2.1"
GIT_SHALLOW true
SOURCE_DIR ${Snappy_SOURCES_DIR}
GIT_SHALLOW true
UPDATE_COMMAND ""
CMAKE_ARGS
${EXTERNAL_PROJECT_C}
${EXTERNAL_PROJECT_CXX}
Expand Down
1 change: 1 addition & 0 deletions cmake/spdlog.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ ExternalProject_Add(
DOWNLOAD_NAME "spdlog-1.12.0.zip"
SOURCE_DIR ${SPDLOG_SOURCES_DIR}
DOWNLOAD_NO_PROGRESS 1
UPDATE_COMMAND ""
CMAKE_ARGS
${EXTERNAL_PROJECT_C}
${EXTERNAL_PROJECT_CXX}
Expand Down
3 changes: 2 additions & 1 deletion cmake/zlib.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ ExternalProject_Add(
GIT_TAG "v1.2.8"
GIT_SHALLOW true
SOURCE_DIR ${ZLIB_SOURCES_DIR}
GIT_SHALLOW true
UPDATE_COMMAND ""
CMAKE_ARGS
${EXTERNAL_PROJECT_C}
${EXTERNAL_PROJECT_CXX}
Expand All @@ -25,6 +27,5 @@ ExternalProject_Add(
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
${EXTERNAL_GENERATOR}
BUILD_COMMAND ${EXTERNAL_BUILD} -j${CPU_CORE}
UPDATE_COMMAND ""
BUILD_BYPRODUCTS ${ZLIB_LIBRARIES}
)
2 changes: 1 addition & 1 deletion cmake/zstd.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ ExternalProject_Add(
SOURCE_DIR ${zstd_SOURCES_DIR}
DOWNLOAD_NO_PROGRESS 1
SOURCE_SUBDIR build/cmake
UPDATE_COMMAND ""
CMAKE_ARGS
${EXTERNAL_PROJECT_C}
${EXTERNAL_PROJECT_CXX}
Expand All @@ -30,6 +31,5 @@ ExternalProject_Add(
-DZSTD_BUILD_SHARED=OFF
${EXTERNAL_GENERATOR}
BUILD_COMMAND ${EXTERNAL_BUILD} -j${CPU_CORE}
UPDATE_COMMAND ""
BUILD_BYPRODUCTS ${zstd_LIBRARIES}
)
11 changes: 9 additions & 2 deletions etc/script/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ K_VERSION="1.0.0"
BUILD_TYPE="Release"
VERBOSE=0
CMAKE_FLAGS=""
CMAKE_BUILD_FLAGS=""
MAKE_FLAGS=""
PREFIX="cmake-build"

Expand Down Expand Up @@ -55,6 +56,7 @@ function build() {
echo "COMMIT_ID: $SHORT_COMMIT_ID"
echo "BUILD_TYPE: $BUILD_TYPE"
echo "CMAKE_FLAGS: $CMAKE_FLAGS"
echo "CMAKE_BUILD_FLAGS: $CMAKE_BUILD_FLAGS"
echo "MAKE_FLAGS: $MAKE_FLAGS"

if [ "${BUILD_TYPE}" == "Release" ]; then
Expand All @@ -74,7 +76,7 @@ function build() {
-DKIWI_BUILD_DATE="$BUILD_TIME" \
-DKIWI_GIT_COMMIT_ID="$SHORT_COMMIT_ID" \
${CMAKE_FLAGS} -S . -B ${PREFIX}
cmake --build ${PREFIX} -- ${MAKE_FLAGS} -j ${CPU_CORE}
cmake --build ${PREFIX} ${CMAKE_BUILD_FLAGS} -- ${MAKE_FLAGS} -j ${CPU_CORE}

if [ $? -eq 0 ]; then
echo -e "kiwi compile complete, output file ${C_GREEN} ./bin/kiwi ${C_END}"
Expand Down Expand Up @@ -104,6 +106,7 @@ function show_help() {
sh $0 --gitinfo get git info
sh $0 --debug compile with debug
sh $0 --clang use clang compiler
sh $0 --ninja use ninja compiler
sh $0 --kiwi only compile kiwi
sh $0 --clear clear compilation directory
sh $0 -h|--help show help
Expand Down Expand Up @@ -136,6 +139,10 @@ while true; do
CMAKE_FLAGS="${CMAKE_FLAGS} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++"
;;

--ninja)
CMAKE_FLAGS="${CMAKE_FLAGS} -G Ninja"
;;

--kiwi)
MAKE_FLAGS="${MAKE_FLAGS} kiwi"
;;
Expand All @@ -155,7 +162,7 @@ while true; do

--verbose)
CMAKE_FLAGS="${CMAKE_FLAGS} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON"
MAKE_FLAGS="${MAKE_FLAGS} VERBOSE=1"
CMAKE_BUILD_FLAGS="${CMAKE_BUILD_FLAGS} --verbose"
;;

--)
Expand Down
2 changes: 1 addition & 1 deletion src/raft/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ IF (CMAKE_SYSTEM_NAME STREQUAL "Linux")
ENDIF ()

SET(LIBRARY_OUTPUT_PATH ${PLIB_INSTALL_DIR})
ADD_DEPENDENCIES(raft protobuf raft_pb binlog_pb)
ADD_DEPENDENCIES(raft protobuf raft_pb binlog_pb braft brpc)
TARGET_LINK_LIBRARIES(raft
PRIVATE net;
PRIVATE dl;
Expand Down
Loading