Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: list rename cmd #165

Merged
merged 191 commits into from
Feb 18, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
191 commits
Select commit Hold shift + click to select a range
6f59c35
feat: support ipv6
marsevilspirit Nov 29, 2024
640b6e1
update
marsevilspirit Nov 29, 2024
437dbcc
update
marsevilspirit Nov 29, 2024
c07bb77
update
marsevilspirit Nov 29, 2024
0b64a3d
Improve code quality
marsevilspirit Nov 29, 2024
73b2e1a
fix blank
marsevilspirit Nov 29, 2024
818e5ac
Improve code quality
marsevilspirit Nov 29, 2024
0f26214
add blank
marsevilspirit Nov 30, 2024
c5128c1
support ipv4 and ipv6
marsevilspirit Dec 1, 2024
5ee3235
add listen sockets manager
marsevilspirit Dec 1, 2024
d7ffa9b
use vector
marsevilspirit Dec 2, 2024
945a88e
update
marsevilspirit Dec 2, 2024
35e553a
support kqueue listensockets
marsevilspirit Dec 3, 2024
c02cbf8
Improve code quality
marsevilspirit Dec 3, 2024
120cc3f
support conf
marsevilspirit Dec 3, 2024
c928b1b
delete debug info
marsevilspirit Dec 3, 2024
6cabd52
update
marsevilspirit Dec 4, 2024
fc2c06f
clang format
marsevilspirit Dec 4, 2024
1ae6c08
clang format
marsevilspirit Dec 4, 2024
7d448ef
clang format
marsevilspirit Dec 4, 2024
3b56a5a
update
marsevilspirit Dec 4, 2024
2c422e1
update
marsevilspirit Dec 4, 2024
a066ce0
Merge branch 'unstable' into feat-support-ipv6
marsevilspirit Dec 7, 2024
fb55368
Merge branch 'unstable' into feat-support-ipv6
marsevilspirit Dec 12, 2024
0246161
rename
marsevilspirit Dec 12, 2024
0fc8851
Merge branch 'unstable' into feat-support-ipv6
marsevilspirit Dec 14, 2024
198de69
Merge branch 'unstable' into feat-support-ipv6
marsevilspirit Dec 28, 2024
04ad524
update
marsevilspirit Dec 29, 2024
288e6e5
fix conf bug
marsevilspirit Dec 30, 2024
9d485d4
Merge branch 'unstable' into feat-support-ipv6
marsevilspirit Dec 30, 2024
3350a78
update
marsevilspirit Dec 30, 2024
dba7663
Make-p_config-a-singleton
wxnzb Jan 2, 2025
b026cfc
Make-p_config-a-singleton
wxnzb Jan 2, 2025
f68c038
Make-p_config-a-singleton
wxnzb Jan 2, 2025
6fc3aa0
praft -> raft
AlexStocks Jan 5, 2025
a7d01e6
Merge branch 'unstable' into feat-support-ipv6
marsevilspirit Jan 6, 2025
192d741
pstd -> kstd
AlexStocks Jan 6, 2025
7a51044
PConfig -> Config
AlexStocks Jan 6, 2025
ec794dc
recover g_config
AlexStocks Jan 6, 2025
21d6eaf
change kiwidb.yml ci
marsevilspirit Jan 6, 2025
df0402b
recover g_config
AlexStocks Jan 6, 2025
de36c2f
fix: change kiwidb.yml ci (#157)
AlexStocks Jan 6, 2025
3494ba8
PStore -> Store
AlexStocks Jan 6, 2025
ebd0907
make format
marsevilspirit Jan 6, 2025
413a2ed
merge upstream
AlexStocks Jan 6, 2025
71578e5
style: recover g_config (#156)
marsevilspirit Jan 6, 2025
3868f52
fix kqueue kevent
marsevilspirit Jan 6, 2025
be90c58
make format
marsevilspirit Jan 6, 2025
feae1bf
Merge branch 'alexstocks' into alexstocks-zeya
marsevilspirit Jan 6, 2025
c6aaa7c
fix clang format
marsevilspirit Jan 6, 2025
887c930
fix: make format (#158)
AlexStocks Jan 6, 2025
666e1c0
clang-format
marsevilspirit Jan 6, 2025
909bbb3
format test
marsevilspirit Jan 6, 2025
b61d489
update
marsevilspirit Jan 6, 2025
97e258b
update
marsevilspirit Jan 6, 2025
b9ee3dc
update
marsevilspirit Jan 6, 2025
b18402a
finish
marsevilspirit Jan 6, 2025
b689acf
upgrade: clang-format version 16 (#160)
AlexStocks Jan 6, 2025
f7a6473
fix clang warning
AlexStocks Jan 7, 2025
74cd22c
fix rename cmd for list storage type.
dobet Jan 7, 2025
d7b919c
using std::ignore
AlexStocks Jan 7, 2025
55496e8
fix: clang warning (#161)
AlexStocks Jan 9, 2025
e093dc4
update src/CMakeLists.txt by cursor
AlexStocks Jan 10, 2025
b8d69af
clang format
AlexStocks Jan 10, 2025
ba010be
fix: do not report errors for configuration file errors.
FinnTew Jan 10, 2025
d3afca5
add clang-format before commit
AlexStocks Jan 10, 2025
5171617
merge upstream
AlexStocks Jan 10, 2025
df7f242
merge upstream
AlexStocks Jan 10, 2025
880bce1
test
AlexStocks Jan 10, 2025
e229f38
test
AlexStocks Jan 10, 2025
c523f82
add precommit
AlexStocks Jan 10, 2025
ad2acc8
remark format-check
AlexStocks Jan 10, 2025
41f7621
add precommit in cmake files
AlexStocks Jan 11, 2025
408e1b5
fix bugs
AlexStocks Jan 11, 2025
7ad81b9
update cmake
AlexStocks Jan 11, 2025
159bbb2
Merge branch 'unstable' into alexstocks
AlexStocks Jan 11, 2025
a8608d1
Merge branch 'alexstocks' into alexstocks-format
AlexStocks Jan 11, 2025
db1b621
fix ci failure
AlexStocks Jan 11, 2025
8693246
add std::ignore header file
AlexStocks Jan 12, 2025
5c39bc0
update
FinnTew Jan 12, 2025
19af026
update
FinnTew Jan 12, 2025
8acd3ce
style: format codes before commit (#163)
AlexStocks Jan 12, 2025
3edd7f8
fix: E2E test fail
FinnTew Jan 12, 2025
d14f52f
format
AlexStocks Jan 12, 2025
e2d89b7
update
FinnTew Jan 12, 2025
81bef3a
fix: do not report errors for configuration file errors. (#162)
AlexStocks Jan 13, 2025
c9ceb4a
style: some keywords begins with 'k' (#155)
AlexStocks Jan 13, 2025
2538afa
fix: no usage of etc/script/ci/build.sh
FinnTew Jan 14, 2025
db6655f
update
FinnTew Jan 14, 2025
faf02fe
update
FinnTew Jan 14, 2025
002853b
update
FinnTew Jan 14, 2025
d7840f4
update
FinnTew Jan 14, 2025
f754323
update
FinnTew Jan 14, 2025
67d89b4
update
FinnTew Jan 14, 2025
70d11cb
update get_gitinfo_func.sh
FinnTew Jan 14, 2025
0db5c0d
delete ci/build.sh
AlexStocks Jan 14, 2025
e3f865a
update kiwidb.yml
FinnTew Jan 14, 2025
2cb7529
update kiwidb.yml
FinnTew Jan 15, 2025
0036e68
update import_braft.yml
FinnTew Jan 15, 2025
2aada3b
Merge branch 'unstable' into feat-support-ipv6
marsevilspirit Jan 15, 2025
f0e0fe1
fix kqueue bugs
marsevilspirit Jan 15, 2025
886a3d4
update
marsevilspirit Jan 16, 2025
f27731b
format
marsevilspirit Jan 16, 2025
c7e0f35
format
marsevilspirit Jan 16, 2025
b4f8d9b
update
marsevilspirit Jan 16, 2025
9937125
feat: add tcp keep alive (#110)
lankunGitHub Jan 18, 2025
1711028
fix:ci ubuntu cache miss
lqxhub Jan 18, 2025
762f95a
Merge branch 'unstable' into feat-support-ipv6
marsevilspirit Jan 18, 2025
b3a3ef2
support ninja build,reduced dependency
lqxhub Jan 19, 2025
3478091
fix macos link error
lqxhub Jan 20, 2025
9c7cd3b
update
FinnTew Jan 20, 2025
4b46b73
fix macos link error
lqxhub Jan 20, 2025
63192bd
fix: no usage of etc/script/ci/build.sh (#173)
AlexStocks Jan 20, 2025
73442c1
Merge branch 'unstable' into feat-support-ipv6
marsevilspirit Jan 20, 2025
a71e593
fix:ci ubuntu cache miss (#175)
AlexStocks Jan 20, 2025
ee9c154
fix macos link error
lqxhub Jan 20, 2025
4d184dd
update
FinnTew Jan 20, 2025
63b4620
update
FinnTew Jan 20, 2025
1a61d7c
fix: check format workflow (#179)
AlexStocks Jan 20, 2025
15153d5
update
FinnTew Jan 20, 2025
9cf0798
update
FinnTew Jan 20, 2025
ba98be6
update
FinnTew Jan 20, 2025
e627036
update
FinnTew Jan 20, 2025
9495344
update
FinnTew Jan 20, 2025
ccfe0a1
update
FinnTew Jan 20, 2025
ed38403
update
FinnTew Jan 20, 2025
974e491
update
FinnTew Jan 20, 2025
b98b67a
update
FinnTew Jan 20, 2025
3647b6c
update
FinnTew Jan 20, 2025
3157224
update
FinnTew Jan 20, 2025
e1b9d88
update
FinnTew Jan 20, 2025
c160cba
update
FinnTew Jan 20, 2025
26d5e43
update
FinnTew Jan 20, 2025
1b8d2d4
update
FinnTew Jan 20, 2025
b4cdce9
update
FinnTew Jan 21, 2025
ddf8de6
feat: support ninja build,reduced dependency (#178)
AlexStocks Jan 21, 2025
89ae06f
update
FinnTew Jan 21, 2025
418fe20
update
marsevilspirit Jan 21, 2025
729ebec
make format
marsevilspirit Jan 21, 2025
6bb67b4
make format
marsevilspirit Jan 21, 2025
d212a91
update
FinnTew Jan 21, 2025
377102e
update
marsevilspirit Jan 21, 2025
c0e9207
update
FinnTew Jan 21, 2025
96a752a
update
FinnTew Jan 21, 2025
79d791d
update
marsevilspirit Jan 21, 2025
603ee2d
fix something
marsevilspirit Jan 21, 2025
c59a38f
update
FinnTew Jan 21, 2025
e83d199
update
marsevilspirit Jan 21, 2025
3572109
update
marsevilspirit Jan 21, 2025
e5d757b
make format
marsevilspirit Jan 21, 2025
beec235
fix something
marsevilspirit Jan 21, 2025
658043a
update
marsevilspirit Jan 21, 2025
71dd903
update
FinnTew Jan 21, 2025
d469927
update
marsevilspirit Jan 21, 2025
593891e
update
marsevilspirit Jan 21, 2025
a779d8d
fix net_event
marsevilspirit Jan 21, 2025
34af973
update
marsevilspirit Jan 21, 2025
86b205f
make format
marsevilspirit Jan 21, 2025
89c1097
update
marsevilspirit Jan 21, 2025
4713c1a
Merge branch 'unstable' into feat-support-ipv6
marsevilspirit Jan 21, 2025
14ea5fe
test
marsevilspirit Jan 21, 2025
cb68e12
update
marsevilspirit Jan 21, 2025
8cfff76
update
FinnTew Jan 22, 2025
5cfdb87
update
FinnTew Jan 22, 2025
0def6b7
fmt code
FinnTew Jan 22, 2025
6e2654a
fmt code
FinnTew Jan 22, 2025
91b9a07
fmt code
FinnTew Jan 22, 2025
3bd4f3e
test ccache
lqxhub Jan 22, 2025
9d9eaf0
test ccache
lqxhub Jan 22, 2025
c93d6d1
remove ccache
lqxhub Jan 22, 2025
f018f0a
remove ccache
lqxhub Jan 22, 2025
1d926ca
recover test
lqxhub Jan 22, 2025
466c328
fix restore key
lqxhub Jan 22, 2025
222e763
fix key error
lqxhub Jan 22, 2025
27aaf88
fix key error
lqxhub Jan 22, 2025
4cf903c
fix: ccache compile fail (#182)
marsevilspirit Jan 24, 2025
9d703d2
fix: Resolve the inconsistency between member configuration and log i…
panlei-coder Jul 27, 2024
c2642fc
fix: fix the bug of conf file
panlei-coder Jul 27, 2024
88fea47
fix: Add a blank line at the end of the pikiwidb.conf file
panlei-coder Jul 28, 2024
349110a
fix: fix comment
panlei-coder Aug 25, 2024
6910a31
fix: resolve conflict
panlei-coder Aug 25, 2024
9367839
fix: Modify a compilation bug
panlei-coder Feb 6, 2025
083ce98
fix: Resolve the inconsistency between member configuration and log i…
AlexStocks Feb 8, 2025
59f0af0
feat: support ipv6 (#100)
AlexStocks Feb 8, 2025
3080e0d
fix: go e2e test fail (#168)
AlexStocks Feb 8, 2025
55932c9
fix rename cmd for list storage type.
dobet Jan 7, 2025
9f864d6
Merge branch 'fix-rename' of https://github.com/arana-db/kiwi into fi…
dobet Feb 10, 2025
452726f
clang-format
dobet Feb 10, 2025
fdf9a53
rename param style
dobet Feb 17, 2025
823f9d5
change-format
dobet Feb 17, 2025
4068391
change function param name
dobet Feb 17, 2025
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
4 changes: 2 additions & 2 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ Checks: '
# - { key: readability-identifier-naming.VariableCase, value: lower_case }

WarningsAsErrors: '*'
# HeaderFilterRegex: '(|/src|/src/net|/src/pstd|/src/storage)/include'
# HeaderFilterRegex: '/src/(net|storage|pstd)/include'
# HeaderFilterRegex: '(|/src|/src/net|/src/std|/src/storage)/include'
# HeaderFilterRegex: '/src/(net|storage|std)/include'

#### Disabled checks and why: #####
#
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/import_braft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- uses: actions/checkout@v4

- name: Build
run: bash ./etc/script/ci/build.sh
run: cmake -S . -B build

- name: Check Format
working-directory: ${{ github.workspace }}/build
Expand Down
70 changes: 31 additions & 39 deletions .github/workflows/pikiwidb.yml → .github/workflows/kiwidb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
branches: [ "unstable" ]
pull_request:
branches: [ "unstable" ]
branches: [ "*" ]

env:
BUILD_DIR: cmake-build-release
Expand All @@ -17,7 +17,21 @@ jobs:
- uses: actions/checkout@v4

- name: Build
run: bash ./etc/script/ci/build.sh
run: cmake -S . -B build

- name: Add LLVM apt repository
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-18 main" | sudo tee /etc/apt/sources.list.d/llvm.list
sudo apt update

- name: Install clang-format-18
run: |
sudo apt install -y clang-format-18
sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-18 200

- name: Verify clang-format version
run: clang-format --version

- name: Check Format
working-directory: ${{ github.workspace }}/build
Expand All @@ -26,43 +40,33 @@ jobs:
build_on_macos:
runs-on: macos-14
needs: check_format
env:
CMAKE_C_COMPILER_LAUNCHER: "ccache"
CMAKE_CXX_COMPILER_LAUNCHER: "ccache"

steps:
- uses: actions/checkout@v4

- name: Install dependencies
run: |
brew update
brew install ccache
brew install autoconf
brew install go

- name: Configure ccache
run: |
ccache --set-config=cache_dir=$HOME/.ccache
ccache --max-size=10G

- name: Restore ccache
uses: actions/cache@v3
- name: Restore cache
uses: actions/cache@v4
with:
path: ~/.ccache
key: ${{ runner.os }}-ccache-${{ hashFiles('**/*.cpp','**/*.cc','**/*.c', '**/*.h') }}-clang
path: |
${{ github.workspace }}/download
${{ github.workspace }}/build-release
${{ github.workspace }}/deps-release
key: ${{ runner.os }}-cache-${{ hashFiles('**/CMakeLists.txt') }}-clang
restore-keys: |
${{ runner.os }}-ccache-
ccache-
${{ runner.os }}-cache-

- name: Build
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

- name: Save ccache stats
run: ccache -s

- name: GTest
working-directory: ${{ github.workspace }}/${{ env.BUILD_DIR }}
# Execute tests defined by the CMake configuration.
Expand All @@ -86,37 +90,25 @@ jobs:
build_on_ubuntu:
runs-on: ubuntu-latest
needs: check_format
env:
CMAKE_C_COMPILER_LAUNCHER: "ccache"
CMAKE_CXX_COMPILER_LAUNCHER: "ccache"

steps:
- uses: actions/checkout@v4

- name: Install dependencies
run: sudo apt-get install -y ccache

- name: Configure ccache
run: |
ccache --set-config=cache_dir=$HOME/.ccache
ccache --max-size=10G

- name: Restore ccache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.ccache
key: ${{ runner.os }}-ccache-${{ hashFiles('**/*.cpp','**/*.cc','**/*.c', '**/*.h') }}-${{ matrix.compiler || 'gcc' }}
path: |
${{ github.workspace }}/download
${{ github.workspace }}/build-release
${{ github.workspace }}/deps-release
key: ${{ runner.os }}-cache-${{ hashFiles('**/CMakeLists.txt') }}-gcc
restore-keys: |
${{ runner.os }}-ccache-
ccache-
${{ runner.os }}-cache-

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

- name: Save ccache stats
run: ccache -s

- name: GTest
working-directory: ${{ github.workspace }}/${{ env.BUILD_DIR }}
# Execute tests defined by the CMake configuration.
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ download/
CMakeFiles/
CMakeCache.txt

# clang-format
temp.txt

# Precompiled Headers
*.gch
*.pch
Expand Down
29 changes: 27 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ EXECUTE_PROCESS(
MESSAGE(STATUS "GIT_COMMIT_HASH: ${GIT_COMMIT_HASH}")
MESSAGE(STATUS "GIT_COMMIT_DATE: ${BUILD_DATE}")

ADD_DEFINITIONS(-DKIWI_GIT_COMMIT_ID="${GIT_COMMIT_HASH}")
ADD_DEFINITIONS(-DKIWI_BUILD_DATE="${BUILD_DATE}")

IF(CMAKE_BUILD_TYPE STREQUAL "Release")
MESSAGE("Building in Release mode")
ELSE()
Expand Down Expand Up @@ -116,6 +119,18 @@ ELSE ()
SET(LIB_SUFFIX "deps-debug")
ENDIF ()

IF(CMAKE_GENERATOR STREQUAL "Ninja")
MESSAGE(STATUS "Ninja generator is being used.")
SET (EXTERNAL_GENERATOR "-G Ninja")
SET (EXTERNAL_BUILD "ninja")
elseif (CMAKE_GENERATOR STREQUAL "Unix Makefiles")
MESSAGE(STATUS "Unix Makefiles generator is being used.")
SET (EXTERNAL_GENERATOR "-GUnix Makefiles")
SET (EXTERNAL_BUILD "make")
else ()
MESSAGE(FATAL_ERROR "only support Ninja or Unix Makefiles")
ENDIF()

SET_PROPERTY(DIRECTORY PROPERTY EP_BASE ${CMAKE_CURRENT_SOURCE_DIR}/${EP_BASE_SUFFIX})
SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/modules/")
SET(BUILD_SUPPORT_DIR ${PROJECT_SOURCE_DIR}/build_support)
Expand Down Expand Up @@ -183,6 +198,7 @@ ENDIF()
SET(LIB ${LIB} CACHE INTERNAL "libs which should be linked for executable target")

INCLUDE(ExternalProject)
INCLUDE(cmake/precommit.cmake)
INCLUDE(cmake/findTools.cmake)
INCLUDE(cmake/openssl.cmake)
INCLUDE(cmake/gflags.cmake)
Expand All @@ -204,9 +220,9 @@ FILE(MAKE_DIRECTORY "${PROTO_OUTPUT_DIR}")

#INCLUDE(cmake/protogen.cmake)

ADD_SUBDIRECTORY(src/pstd)
ADD_SUBDIRECTORY(src/std)
ADD_SUBDIRECTORY(src/net)
ADD_SUBDIRECTORY(src/praft)
ADD_SUBDIRECTORY(src/raft)
ADD_SUBDIRECTORY(src/storage)
ADD_SUBDIRECTORY(src/resp)

Expand All @@ -222,6 +238,15 @@ FOREACH(IGNORE_FILE ${CLANG_FORMAT_IGNORE_FILES})
FILE(APPEND ${BUILD_SUPPORT_DIR}/clang_format_exclusions.txt "${IGNORE_FILE}\n")
ENDFOREACH()

# install git hooks when configure
EXECUTE_PROCESS(
COMMAND ${CMAKE_COMMAND} -E make_directory ${GIT_HOOKS_DIR}
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${HOOKS_SOURCE_DIR}/precommit.sh
${GIT_HOOKS_DIR}/pre-commit
COMMAND ${CMAKE_COMMAND} -E chmod 755 ${GIT_HOOKS_DIR}/pre-commit
)

STRING(CONCAT FORMAT_DIRS "${PROJECT_SOURCE_DIR}/src,")
ADD_CUSTOM_TARGET(format
COMMAND ${BUILD_SUPPORT_DIR}/run_clang_format.py
Expand Down
14 changes: 5 additions & 9 deletions cmake/braft.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

INCLUDE(ExternalProject)

SET(BRAFT_SOURCES_DIR "${LIB_SOURCE_DIR}/extern_braft" CACHE PATH "Path to braft sources")
SET(BRAFT_SOURCES_DIR "${LIB_SOURCE_DIR}/braft" CACHE PATH "Path to braft sources")
SET(BRAFT_INSTALL_DIR ${LIB_INSTALL_PREFIX})
SET(BRAFT_INCLUDE_DIR "${LIB_INCLUDE_DIR}" CACHE PATH "brpc include directory." FORCE)
SET(BRAFT_LIBRARIES "${LIB_INSTALL_DIR}/libbraft.a" CACHE FILEPATH "brpc library." FORCE)
Expand All @@ -17,7 +17,7 @@ ELSE ()
ENDIF ()

ExternalProject_Add(
extern_braft
braft
${EXTERNAL_PROJECT_LOG_ARGS}
DEPENDS brpc
GIT_REPOSITORY "https://github.com/arana-db/braft.git"
Expand Down Expand Up @@ -51,11 +51,7 @@ ExternalProject_Add(
-DPROTOBUF_PROTOC_EXECUTABLE=${PROTOBUF_PROTOC}
-DOPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR}
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
BUILD_COMMAND make -j${CPU_CORE}
UPDATE_COMMAND ""
${EXTERNAL_GENERATOR}
BUILD_COMMAND ${EXTERNAL_BUILD} -j${CPU_CORE}
BUILD_BYPRODUCTS ${BRAFT_LIBRARIES}
)

ADD_DEPENDENCIES(extern_braft brpc gflags)
ADD_LIBRARY(braft STATIC IMPORTED GLOBAL)
SET_PROPERTY(TARGET braft PROPERTY IMPORTED_LOCATION ${BRAFT_LIBRARIES})
ADD_DEPENDENCIES(braft extern_braft)
13 changes: 5 additions & 8 deletions cmake/brpc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# LICENSE file in the root directory of this source tree. An additional grant
# of patent rights can be found in the PATENTS file in the same directory.

SET(BRPC_SOURCES_DIR "${LIB_SOURCE_DIR}/extern_brpc" CACHE PATH "Path to brpc sources")
SET(BRPC_SOURCES_DIR "${LIB_SOURCE_DIR}/brpc" CACHE PATH "Path to brpc sources")
SET(BRPC_INSTALL_DIR ${LIB_INSTALL_PREFIX})
SET(BRPC_INCLUDE_DIR "${LIB_INCLUDE_DIR}" CACHE PATH "brpc include directory." FORCE)
SET(BRPC_LIBRARIES "${LIB_INSTALL_DIR}/libbrpc.a" CACHE FILEPATH "brpc library." FORCE)
Expand All @@ -14,7 +14,7 @@ SET(CMAKE_FIND_LIBRARY_SUFFIXES ${LIB_INSTALL_PREFIX})
SET(CMAKE_CPP_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
# If minimal .a is need, you can set WITH_DEBUG_SYMBOLS=OFF
ExternalProject_Add(
extern_brpc
brpc
${EXTERNAL_PROJECT_LOG_ARGS}
DEPENDS ssl crypto zlib protobuf leveldb gflags
URL https://github.com/apache/brpc/archive/refs/tags/1.8.0.tar.gz
Expand Down Expand Up @@ -54,10 +54,7 @@ ExternalProject_Add(
-DPROJECT_BINARY_DIR=${LIB_INSTALL_PREFIX}
-DWITH_GLOG=OFF
-DDOWNLOAD_GTEST=OFF
BUILD_COMMAND make -j${CPU_CORE}
UPDATE_COMMAND ""
${EXTERNAL_GENERATOR}
BUILD_COMMAND ${EXTERNAL_BUILD} -j${CPU_CORE}
BUILD_BYPRODUCTS ${BRPC_LIBRARIES}
)
ADD_DEPENDENCIES(extern_brpc ssl crypto zlib protobuf leveldb gflags)
ADD_LIBRARY(brpc STATIC IMPORTED GLOBAL)
SET_PROPERTY(TARGET brpc PROPERTY IMPORTED_LOCATION ${BRPC_LIBRARIES})
ADD_DEPENDENCIES(brpc extern_brpc)
13 changes: 5 additions & 8 deletions cmake/fmt.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ ELSE ()
SET(LIB_FMT libfmt.a)
ENDIF ()

SET(FMT_SOURCES_DIR "${LIB_SOURCE_DIR}/extern_fmt" CACHE PATH "Path to fmt sources")
SET(FMT_SOURCES_DIR "${LIB_SOURCE_DIR}/fmt" CACHE PATH "Path to fmt sources")
SET(FMT_INCLUDE_DIR "${LIB_INCLUDE_DIR}" CACHE PATH "fmt include directory." FORCE)
SET(FMT_LIBRARIES "${LIB_INSTALL_DIR}/${LIB_FMT}" CACHE FILEPATH "fmt library directory." FORCE)

ExternalProject_Add(
extern_fmt
fmt
URL https://github.com/fmtlib/fmt/archive/10.1.1.zip
URL_HASH SHA256=3c2e73019178ad72b0614a3124f25de454b9ca3a1afe81d5447b8d3cbdb6d322
DOWNLOAD_NO_PROGRESS 1
Expand All @@ -33,11 +33,8 @@ ExternalProject_Add(
-DFMT_DOC=FALSE
-DFMT_TEST=FALSE
-DSHARED_LIBS=FALSE
BUILD_COMMAND make -j${CPU_CORE}
${EXTERNAL_GENERATOR}
BUILD_BYPRODUCTS ${FMT_LIBRARIES}
BUILD_COMMAND ${EXTERNAL_BUILD} -j${CPU_CORE}
UPDATE_COMMAND ""
)


ADD_LIBRARY(fmt STATIC IMPORTED GLOBAL)
SET_PROPERTY(TARGET fmt PROPERTY IMPORTED_LOCATION ${FMT_LIBRARIES})
ADD_DEPENDENCIES(fmt extern_fmt)
14 changes: 5 additions & 9 deletions cmake/gflags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,21 @@ ELSE ()
SET(LIB_GFLAGS libgflags.a)
ENDIF ()

SET(GFLAGS_SOURCES_DIR "${LIB_SOURCE_DIR}/extern_gflags" CACHE PATH "Path to gflags sources")
SET(GFLAGS_SOURCES_DIR "${LIB_SOURCE_DIR}/gflags" CACHE PATH "Path to gflags sources")
SET(GFLAGS_INCLUDE_DIR ${LIB_INCLUDE_DIR} CACHE PATH "gflags include directory." FORCE)
SET(GFLAGS_LIBRARIES ${LIB_INSTALL_DIR}/${LIB_GFLAGS} CACHE FILEPATH "gflags library." FORCE)
SET(GFLAGS_LIBRARY ${LIB_INSTALL_DIR}/${LIB_GFLAGS} CACHE FILEPATH "gflags library." FORCE)

# SET(GFLAGS_INCLUDE_PATH "${LIB_INCLUDE_DIR}/gflags" CACHE PATH "gflags include directory." FORCE)

ExternalProject_Add(
extern_gflags
gflags
URL https://github.com/gflags/gflags/archive/v2.2.2.zip
URL_HASH SHA256=19713a36c9f32b33df59d1c79b4958434cb005b5b47dc5400a7a4b078111d9b5
DOWNLOAD_NO_PROGRESS 1
DOWNLOAD_DIR "${CMAKE_CURRENT_SOURCE_DIR}/download"
DOWNLOAD_NAME "gflags-2.2.2.zip"
SOURCE_DIR ${GFLAGS_SOURCES_DIR}
CMAKE_ARGS
${EXTERNAL_GENERATOR}
${EXTERNAL_PROJECT_C}
${EXTERNAL_PROJECT_CXX}
${EXTERNAL_PROJECT_CXX_FLAGS}
Expand All @@ -39,10 +38,7 @@ ExternalProject_Add(
-DGFLAGS_NAMESPACE=gflags
-DGFLAGS_BUILD_TESTING=OFF
-DCMAKE_INSTALL_PREFIX=${LIB_INSTALL_PREFIX}
BUILD_COMMAND make -j${CPU_CORE}
BUILD_COMMAND ${EXTERNAL_BUILD} -j${CPU_CORE}
UPDATE_COMMAND ""
BUILD_BYPRODUCTS ${GFLAGS_LIBRARY}
)

ADD_LIBRARY(gflags STATIC IMPORTED GLOBAL)
SET_PROPERTY(TARGET gflags PROPERTY IMPORTED_LOCATION ${GFLAGS_LIBRARIES})
ADD_DEPENDENCIES(gflags extern_gflags)
14 changes: 5 additions & 9 deletions cmake/gtest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,27 @@
# LICENSE file in the root directory of this source tree. An additional grant
# of patent rights can be found in the PATENTS file in the same directory.

SET(GTEST_SOURCES_DIR "${LIB_SOURCE_DIR}/extern_gtest" CACHE PATH "Path to gtest sources")
SET(GTEST_SOURCES_DIR "${LIB_SOURCE_DIR}/gtest" CACHE PATH "Path to gtest sources")
SET(GTEST_INCLUDE_DIR "${LIB_INCLUDE_DIR}" CACHE PATH "gtest include directory." FORCE)
SET(GTEST_LIBRARIES "${LIB_INSTALL_DIR}/libgtest.a" CACHE FILEPATH "gtest lib directory." FORCE)
SET(GTEST_MAIN_LIBRARIES "${LIB_INSTALL_DIR}/libgtest_main.a" CACHE FILEPATH "gtest main include directory." FORCE)
SET(GMOCK_LIBRARIES "${LIB_INSTALL_DIR}/libgmock.a" CACHE FILEPATH "gmock directory." FORCE)

ExternalProject_Add(
extern_gtest
gtest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG v1.14.0
GIT_SHALLOW true
SOURCE_DIR ${GTEST_SOURCES_DIR}
CMAKE_ARGS
${EXTERNAL_GENERATOR}
-DCMAKE_INSTALL_PREFIX=${LIB_INSTALL_PREFIX}
-DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
${EXTERNAL_PROJECT_C}
${EXTERNAL_PROJECT_CXX}
${EXTERNAL_PROJECT_CXX_FLAGS}
${EXTERNAL_PROJECT_CXX_LINK_FLAGS}
BUILD_COMMAND ${EXTERNAL_BUILD} -j${CPU_CORE}
BUILD_BYPRODUCTS ${GTEST_LIBRARIES}
)

ADD_DEPENDENCIES(extern_gtest snappy gflags zlib)
ADD_LIBRARY(gtest STATIC IMPORTED GLOBAL)
ADD_LIBRARY(gtest_main STATIC IMPORTED GLOBAL)
SET_PROPERTY(TARGET gtest PROPERTY IMPORTED_LOCATION ${GTEST_LIBRARIES})
SET_PROPERTY(TARGET gtest_main PROPERTY IMPORTED_LOCATION ${GTEST_MAIN_LIBRARIES})
ADD_DEPENDENCIES(gtest extern_gtest)
Loading
Loading