From a6f3f1287a3bd8b919407452bb6f4539d42bf672 Mon Sep 17 00:00:00 2001 From: SanmuWangZJU Date: Sat, 9 Oct 2021 15:02:02 +0800 Subject: [PATCH] [liboblog-ce] won't compile liboblog unless compile with -DOB_BUILD_LIBOBLOG=ON --- CMakeLists.txt | 1 - build.sh | 2 +- cmake/Env.cmake | 3 ++- src/liboblog/CMakeLists.txt | 21 ++++++++++++++++++--- src/liboblog/src/CMakeLists.txt | 2 +- unittest/CMakeLists.txt | 4 +++- 6 files changed, 25 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 56e636044..dd314aed4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,7 +33,6 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) add_subdirectory(deps/easy) add_subdirectory(deps/oblib) -add_subdirectory(deps/logmessage) add_subdirectory(src) include(CMakeDependentOption) diff --git a/build.sh b/build.sh index 3b7563314..6d1485fd9 100755 --- a/build.sh +++ b/build.sh @@ -86,7 +86,7 @@ function prepare_build_dir # dep_create function do_init { - (cd $TOPDIR/deps/3rd && bash dep_create.sh && cd $TOPDIR && git submodule update --init) + (cd $TOPDIR/deps/3rd && bash dep_create.sh) } # make build directory && cmake && make (if need) diff --git a/cmake/Env.cmake b/cmake/Env.cmake index 9792a94fa..3e597365f 100644 --- a/cmake/Env.cmake +++ b/cmake/Env.cmake @@ -12,6 +12,7 @@ ob_define(OB_ENABLE_LIB_PCH ${OB_ENABLE_PCH}) ob_define(OB_ENABLE_SERVER_PCH ${OB_ENABLE_PCH}) ob_define(OB_ENALBE_UNITY ON) ob_define(OB_MAX_UNITY_BATCH_SIZE 30) +ob_define(OB_BUILD_LIBOBLOG OFF) ob_define(OB_RELEASEID 1) @@ -25,7 +26,7 @@ set(LD_OPT "-Wl,--build-id=uuid") set(BUILD_OPT "${DEBUG_PREFIX}") if (OB_USE_LLVM_LIBTOOLS) - # use llvm-ar llvm-ranlib llvm-objcopy ld.lld... + # use llvm-ar llvm-ranlib llvm-objcopy ld.lld... set(_CMAKE_TOOLCHAIN_PREFIX llvm-) set(_CMAKE_TOOLCHAIN_LOCATION "${DEVTOOLS_DIR}/bin") set(LD_BIN "${DEVTOOLS_DIR}/bin/ld.lld") diff --git a/src/liboblog/CMakeLists.txt b/src/liboblog/CMakeLists.txt index be67ad5c8..5c1296de7 100644 --- a/src/liboblog/CMakeLists.txt +++ b/src/liboblog/CMakeLists.txt @@ -1,3 +1,18 @@ -add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0) -add_subdirectory(src) -add_subdirectory(tests) +message(STATUS "OB_BUILD_LIBOBLOG ${OB_BUILD_LIBOBLOG}") +if (OB_BUILD_LIBOBLOG) + find_package(Git QUIET) + if (GIT_FOUND) + execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + RESULT_VARIABLE GIT_SUBMOD_RESULT) + if (NOT GIT_SUBMOD_RESULT EQUAL "0") + message(FATAL_ERROR "git submodule update --init failed with ${GIT_SUBMOD_RESULT}, please checkout submodules") + endif() + add_subdirectory(${PROJECT_SOURCE_DIR}/deps/logmessage ${PROJECT_BINARY_DIR}/deps/logmessage EXCLUDE_FROM_ALL) + add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0) + add_subdirectory(src) + add_subdirectory(tests) + else() + message("cannot find executable git") + endif() +endif() diff --git a/src/liboblog/src/CMakeLists.txt b/src/liboblog/src/CMakeLists.txt index d77c1d331..991f91134 100644 --- a/src/liboblog/src/CMakeLists.txt +++ b/src/liboblog/src/CMakeLists.txt @@ -1,7 +1,7 @@ add_library(oblog_base INTERFACE) target_include_directories(oblog_base INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries(oblog_base - INTERFACE ob_base oblogmsg + INTERFACE ob_base oblogmsg_static ) add_library(oblog_miner INTERFACE) diff --git a/unittest/CMakeLists.txt b/unittest/CMakeLists.txt index 337ae8e48..3433f2e51 100644 --- a/unittest/CMakeLists.txt +++ b/unittest/CMakeLists.txt @@ -29,4 +29,6 @@ add_subdirectory(observer) add_subdirectory(share) add_subdirectory(rootserver) add_subdirectory(tools) -add_subdirectory(liboblog) +if (OB_BUILD_LIBOBLOG) + add_subdirectory(liboblog) +endif() -- GitLab