Commit d42f3510 authored by Qihe Bian's avatar Qihe Bian Committed by Jiashun Zhu

Fix cmake build issue when use this project as a submodule. (#428)

* Fix cmake build issue when use this project as a submodule.
* Add ignore.
parent bda7a546
......@@ -32,3 +32,4 @@ cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
/cmake-build-debug/
......@@ -45,7 +45,7 @@ endif()
include(GNUInstallDirs)
configure_file(${CMAKE_SOURCE_DIR}/config.h.in ${CMAKE_SOURCE_DIR}/src/butil/config.h @ONLY)
configure_file(${PROJECT_SOURCE_DIR}/config.h.in ${PROJECT_SOURCE_DIR}/src/butil/config.h @ONLY)
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
......@@ -63,7 +63,7 @@ if(${GFLAGS_NS} STREQUAL "GFLAGS_NAMESPACE")
endif()
include_directories(
${CMAKE_SOURCE_DIR}/src
${PROJECT_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
......@@ -188,146 +188,146 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
endif()
# for *.so
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/output/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/output/lib)
# for *.a
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/output/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/output/lib)
# list all source files
set(BUTIL_SOURCES
${CMAKE_SOURCE_DIR}/src/butil/third_party/dmg_fp/g_fmt.cc
${CMAKE_SOURCE_DIR}/src/butil/third_party/dmg_fp/dtoa_wrapper.cc
${CMAKE_SOURCE_DIR}/src/butil/third_party/dynamic_annotations/dynamic_annotations.c
${CMAKE_SOURCE_DIR}/src/butil/third_party/icu/icu_utf.cc
${CMAKE_SOURCE_DIR}/src/butil/third_party/superfasthash/superfasthash.c
${CMAKE_SOURCE_DIR}/src/butil/third_party/modp_b64/modp_b64.cc
${CMAKE_SOURCE_DIR}/src/butil/third_party/nspr/prtime.cc
${CMAKE_SOURCE_DIR}/src/butil/third_party/symbolize/demangle.cc
${CMAKE_SOURCE_DIR}/src/butil/third_party/symbolize/symbolize.cc
${CMAKE_SOURCE_DIR}/src/butil/third_party/snappy/snappy-sinksource.cc
${CMAKE_SOURCE_DIR}/src/butil/third_party/snappy/snappy-stubs-internal.cc
${CMAKE_SOURCE_DIR}/src/butil/third_party/snappy/snappy.cc
${CMAKE_SOURCE_DIR}/src/butil/third_party/murmurhash3/murmurhash3.cpp
${CMAKE_SOURCE_DIR}/src/butil/arena.cpp
${CMAKE_SOURCE_DIR}/src/butil/at_exit.cc
${CMAKE_SOURCE_DIR}/src/butil/atomicops_internals_x86_gcc.cc
${CMAKE_SOURCE_DIR}/src/butil/base64.cc
${CMAKE_SOURCE_DIR}/src/butil/big_endian.cc
${CMAKE_SOURCE_DIR}/src/butil/cpu.cc
${CMAKE_SOURCE_DIR}/src/butil/debug/alias.cc
${CMAKE_SOURCE_DIR}/src/butil/debug/asan_invalid_access.cc
${CMAKE_SOURCE_DIR}/src/butil/debug/crash_logging.cc
${CMAKE_SOURCE_DIR}/src/butil/debug/debugger.cc
${CMAKE_SOURCE_DIR}/src/butil/debug/debugger_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/debug/dump_without_crashing.cc
${CMAKE_SOURCE_DIR}/src/butil/debug/proc_maps_linux.cc
${CMAKE_SOURCE_DIR}/src/butil/debug/stack_trace.cc
${CMAKE_SOURCE_DIR}/src/butil/debug/stack_trace_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/environment.cc
${CMAKE_SOURCE_DIR}/src/butil/files/file.cc
${CMAKE_SOURCE_DIR}/src/butil/files/file_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/files/file_enumerator.cc
${CMAKE_SOURCE_DIR}/src/butil/files/file_enumerator_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/files/file_path.cc
${CMAKE_SOURCE_DIR}/src/butil/files/file_path_constants.cc
${CMAKE_SOURCE_DIR}/src/butil/files/memory_mapped_file.cc
${CMAKE_SOURCE_DIR}/src/butil/files/memory_mapped_file_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/files/scoped_file.cc
${CMAKE_SOURCE_DIR}/src/butil/files/scoped_temp_dir.cc
${CMAKE_SOURCE_DIR}/src/butil/file_util.cc
${CMAKE_SOURCE_DIR}/src/butil/file_util_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/guid.cc
${CMAKE_SOURCE_DIR}/src/butil/guid_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/hash.cc
${CMAKE_SOURCE_DIR}/src/butil/lazy_instance.cc
${CMAKE_SOURCE_DIR}/src/butil/location.cc
${CMAKE_SOURCE_DIR}/src/butil/md5.cc
${CMAKE_SOURCE_DIR}/src/butil/memory/aligned_memory.cc
${CMAKE_SOURCE_DIR}/src/butil/memory/ref_counted.cc
${CMAKE_SOURCE_DIR}/src/butil/memory/ref_counted_memory.cc
${CMAKE_SOURCE_DIR}/src/butil/memory/singleton.cc
${CMAKE_SOURCE_DIR}/src/butil/memory/weak_ptr.cc
${CMAKE_SOURCE_DIR}/src/butil/posix/file_descriptor_shuffle.cc
${CMAKE_SOURCE_DIR}/src/butil/posix/global_descriptors.cc
${CMAKE_SOURCE_DIR}/src/butil/process_util.cc
${CMAKE_SOURCE_DIR}/src/butil/rand_util.cc
${CMAKE_SOURCE_DIR}/src/butil/rand_util_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/fast_rand.cpp
${CMAKE_SOURCE_DIR}/src/butil/safe_strerror_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/sha1_portable.cc
${CMAKE_SOURCE_DIR}/src/butil/strings/latin1_string_conversions.cc
${CMAKE_SOURCE_DIR}/src/butil/strings/nullable_string16.cc
${CMAKE_SOURCE_DIR}/src/butil/strings/safe_sprintf.cc
${CMAKE_SOURCE_DIR}/src/butil/strings/string16.cc
${CMAKE_SOURCE_DIR}/src/butil/strings/string_number_conversions.cc
${CMAKE_SOURCE_DIR}/src/butil/strings/string_split.cc
${CMAKE_SOURCE_DIR}/src/butil/strings/string_piece.cc
${CMAKE_SOURCE_DIR}/src/butil/strings/string_util.cc
${CMAKE_SOURCE_DIR}/src/butil/strings/string_util_constants.cc
${CMAKE_SOURCE_DIR}/src/butil/strings/stringprintf.cc
${CMAKE_SOURCE_DIR}/src/butil/strings/utf_offset_string_conversions.cc
${CMAKE_SOURCE_DIR}/src/butil/strings/utf_string_conversion_utils.cc
${CMAKE_SOURCE_DIR}/src/butil/strings/utf_string_conversions.cc
${CMAKE_SOURCE_DIR}/src/butil/synchronization/cancellation_flag.cc
${CMAKE_SOURCE_DIR}/src/butil/synchronization/condition_variable_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/synchronization/waitable_event_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/threading/non_thread_safe_impl.cc
${CMAKE_SOURCE_DIR}/src/butil/threading/platform_thread_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/threading/simple_thread.cc
${CMAKE_SOURCE_DIR}/src/butil/threading/thread_checker_impl.cc
${CMAKE_SOURCE_DIR}/src/butil/threading/thread_collision_warner.cc
${CMAKE_SOURCE_DIR}/src/butil/threading/thread_id_name_manager.cc
${CMAKE_SOURCE_DIR}/src/butil/threading/thread_local_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/threading/thread_local_storage.cc
${CMAKE_SOURCE_DIR}/src/butil/threading/thread_local_storage_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/threading/thread_restrictions.cc
${CMAKE_SOURCE_DIR}/src/butil/threading/watchdog.cc
${CMAKE_SOURCE_DIR}/src/butil/time/clock.cc
${CMAKE_SOURCE_DIR}/src/butil/time/default_clock.cc
${CMAKE_SOURCE_DIR}/src/butil/time/default_tick_clock.cc
${CMAKE_SOURCE_DIR}/src/butil/time/tick_clock.cc
${CMAKE_SOURCE_DIR}/src/butil/time/time.cc
${CMAKE_SOURCE_DIR}/src/butil/time/time_posix.cc
${CMAKE_SOURCE_DIR}/src/butil/version.cc
${CMAKE_SOURCE_DIR}/src/butil/logging.cc
${CMAKE_SOURCE_DIR}/src/butil/class_name.cpp
${CMAKE_SOURCE_DIR}/src/butil/errno.cpp
${CMAKE_SOURCE_DIR}/src/butil/find_cstr.cpp
${CMAKE_SOURCE_DIR}/src/butil/status.cpp
${CMAKE_SOURCE_DIR}/src/butil/string_printf.cpp
${CMAKE_SOURCE_DIR}/src/butil/thread_local.cpp
${CMAKE_SOURCE_DIR}/src/butil/unix_socket.cpp
${CMAKE_SOURCE_DIR}/src/butil/endpoint.cpp
${CMAKE_SOURCE_DIR}/src/butil/fd_utility.cpp
${CMAKE_SOURCE_DIR}/src/butil/files/temp_file.cpp
${CMAKE_SOURCE_DIR}/src/butil/files/file_watcher.cpp
${CMAKE_SOURCE_DIR}/src/butil/time.cpp
${CMAKE_SOURCE_DIR}/src/butil/zero_copy_stream_as_streambuf.cpp
${CMAKE_SOURCE_DIR}/src/butil/crc32c.cc
${CMAKE_SOURCE_DIR}/src/butil/containers/case_ignored_flat_map.cpp
${CMAKE_SOURCE_DIR}/src/butil/iobuf.cpp
${CMAKE_SOURCE_DIR}/src/butil/popen.cpp
${PROJECT_SOURCE_DIR}/src/butil/third_party/dmg_fp/g_fmt.cc
${PROJECT_SOURCE_DIR}/src/butil/third_party/dmg_fp/dtoa_wrapper.cc
${PROJECT_SOURCE_DIR}/src/butil/third_party/dynamic_annotations/dynamic_annotations.c
${PROJECT_SOURCE_DIR}/src/butil/third_party/icu/icu_utf.cc
${PROJECT_SOURCE_DIR}/src/butil/third_party/superfasthash/superfasthash.c
${PROJECT_SOURCE_DIR}/src/butil/third_party/modp_b64/modp_b64.cc
${PROJECT_SOURCE_DIR}/src/butil/third_party/nspr/prtime.cc
${PROJECT_SOURCE_DIR}/src/butil/third_party/symbolize/demangle.cc
${PROJECT_SOURCE_DIR}/src/butil/third_party/symbolize/symbolize.cc
${PROJECT_SOURCE_DIR}/src/butil/third_party/snappy/snappy-sinksource.cc
${PROJECT_SOURCE_DIR}/src/butil/third_party/snappy/snappy-stubs-internal.cc
${PROJECT_SOURCE_DIR}/src/butil/third_party/snappy/snappy.cc
${PROJECT_SOURCE_DIR}/src/butil/third_party/murmurhash3/murmurhash3.cpp
${PROJECT_SOURCE_DIR}/src/butil/arena.cpp
${PROJECT_SOURCE_DIR}/src/butil/at_exit.cc
${PROJECT_SOURCE_DIR}/src/butil/atomicops_internals_x86_gcc.cc
${PROJECT_SOURCE_DIR}/src/butil/base64.cc
${PROJECT_SOURCE_DIR}/src/butil/big_endian.cc
${PROJECT_SOURCE_DIR}/src/butil/cpu.cc
${PROJECT_SOURCE_DIR}/src/butil/debug/alias.cc
${PROJECT_SOURCE_DIR}/src/butil/debug/asan_invalid_access.cc
${PROJECT_SOURCE_DIR}/src/butil/debug/crash_logging.cc
${PROJECT_SOURCE_DIR}/src/butil/debug/debugger.cc
${PROJECT_SOURCE_DIR}/src/butil/debug/debugger_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/debug/dump_without_crashing.cc
${PROJECT_SOURCE_DIR}/src/butil/debug/proc_maps_linux.cc
${PROJECT_SOURCE_DIR}/src/butil/debug/stack_trace.cc
${PROJECT_SOURCE_DIR}/src/butil/debug/stack_trace_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/environment.cc
${PROJECT_SOURCE_DIR}/src/butil/files/file.cc
${PROJECT_SOURCE_DIR}/src/butil/files/file_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/files/file_enumerator.cc
${PROJECT_SOURCE_DIR}/src/butil/files/file_enumerator_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/files/file_path.cc
${PROJECT_SOURCE_DIR}/src/butil/files/file_path_constants.cc
${PROJECT_SOURCE_DIR}/src/butil/files/memory_mapped_file.cc
${PROJECT_SOURCE_DIR}/src/butil/files/memory_mapped_file_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/files/scoped_file.cc
${PROJECT_SOURCE_DIR}/src/butil/files/scoped_temp_dir.cc
${PROJECT_SOURCE_DIR}/src/butil/file_util.cc
${PROJECT_SOURCE_DIR}/src/butil/file_util_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/guid.cc
${PROJECT_SOURCE_DIR}/src/butil/guid_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/hash.cc
${PROJECT_SOURCE_DIR}/src/butil/lazy_instance.cc
${PROJECT_SOURCE_DIR}/src/butil/location.cc
${PROJECT_SOURCE_DIR}/src/butil/md5.cc
${PROJECT_SOURCE_DIR}/src/butil/memory/aligned_memory.cc
${PROJECT_SOURCE_DIR}/src/butil/memory/ref_counted.cc
${PROJECT_SOURCE_DIR}/src/butil/memory/ref_counted_memory.cc
${PROJECT_SOURCE_DIR}/src/butil/memory/singleton.cc
${PROJECT_SOURCE_DIR}/src/butil/memory/weak_ptr.cc
${PROJECT_SOURCE_DIR}/src/butil/posix/file_descriptor_shuffle.cc
${PROJECT_SOURCE_DIR}/src/butil/posix/global_descriptors.cc
${PROJECT_SOURCE_DIR}/src/butil/process_util.cc
${PROJECT_SOURCE_DIR}/src/butil/rand_util.cc
${PROJECT_SOURCE_DIR}/src/butil/rand_util_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/fast_rand.cpp
${PROJECT_SOURCE_DIR}/src/butil/safe_strerror_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/sha1_portable.cc
${PROJECT_SOURCE_DIR}/src/butil/strings/latin1_string_conversions.cc
${PROJECT_SOURCE_DIR}/src/butil/strings/nullable_string16.cc
${PROJECT_SOURCE_DIR}/src/butil/strings/safe_sprintf.cc
${PROJECT_SOURCE_DIR}/src/butil/strings/string16.cc
${PROJECT_SOURCE_DIR}/src/butil/strings/string_number_conversions.cc
${PROJECT_SOURCE_DIR}/src/butil/strings/string_split.cc
${PROJECT_SOURCE_DIR}/src/butil/strings/string_piece.cc
${PROJECT_SOURCE_DIR}/src/butil/strings/string_util.cc
${PROJECT_SOURCE_DIR}/src/butil/strings/string_util_constants.cc
${PROJECT_SOURCE_DIR}/src/butil/strings/stringprintf.cc
${PROJECT_SOURCE_DIR}/src/butil/strings/utf_offset_string_conversions.cc
${PROJECT_SOURCE_DIR}/src/butil/strings/utf_string_conversion_utils.cc
${PROJECT_SOURCE_DIR}/src/butil/strings/utf_string_conversions.cc
${PROJECT_SOURCE_DIR}/src/butil/synchronization/cancellation_flag.cc
${PROJECT_SOURCE_DIR}/src/butil/synchronization/condition_variable_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/synchronization/waitable_event_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/threading/non_thread_safe_impl.cc
${PROJECT_SOURCE_DIR}/src/butil/threading/platform_thread_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/threading/simple_thread.cc
${PROJECT_SOURCE_DIR}/src/butil/threading/thread_checker_impl.cc
${PROJECT_SOURCE_DIR}/src/butil/threading/thread_collision_warner.cc
${PROJECT_SOURCE_DIR}/src/butil/threading/thread_id_name_manager.cc
${PROJECT_SOURCE_DIR}/src/butil/threading/thread_local_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/threading/thread_local_storage.cc
${PROJECT_SOURCE_DIR}/src/butil/threading/thread_local_storage_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/threading/thread_restrictions.cc
${PROJECT_SOURCE_DIR}/src/butil/threading/watchdog.cc
${PROJECT_SOURCE_DIR}/src/butil/time/clock.cc
${PROJECT_SOURCE_DIR}/src/butil/time/default_clock.cc
${PROJECT_SOURCE_DIR}/src/butil/time/default_tick_clock.cc
${PROJECT_SOURCE_DIR}/src/butil/time/tick_clock.cc
${PROJECT_SOURCE_DIR}/src/butil/time/time.cc
${PROJECT_SOURCE_DIR}/src/butil/time/time_posix.cc
${PROJECT_SOURCE_DIR}/src/butil/version.cc
${PROJECT_SOURCE_DIR}/src/butil/logging.cc
${PROJECT_SOURCE_DIR}/src/butil/class_name.cpp
${PROJECT_SOURCE_DIR}/src/butil/errno.cpp
${PROJECT_SOURCE_DIR}/src/butil/find_cstr.cpp
${PROJECT_SOURCE_DIR}/src/butil/status.cpp
${PROJECT_SOURCE_DIR}/src/butil/string_printf.cpp
${PROJECT_SOURCE_DIR}/src/butil/thread_local.cpp
${PROJECT_SOURCE_DIR}/src/butil/unix_socket.cpp
${PROJECT_SOURCE_DIR}/src/butil/endpoint.cpp
${PROJECT_SOURCE_DIR}/src/butil/fd_utility.cpp
${PROJECT_SOURCE_DIR}/src/butil/files/temp_file.cpp
${PROJECT_SOURCE_DIR}/src/butil/files/file_watcher.cpp
${PROJECT_SOURCE_DIR}/src/butil/time.cpp
${PROJECT_SOURCE_DIR}/src/butil/zero_copy_stream_as_streambuf.cpp
${PROJECT_SOURCE_DIR}/src/butil/crc32c.cc
${PROJECT_SOURCE_DIR}/src/butil/containers/case_ignored_flat_map.cpp
${PROJECT_SOURCE_DIR}/src/butil/iobuf.cpp
${PROJECT_SOURCE_DIR}/src/butil/popen.cpp
)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(BUTIL_SOURCES ${BUTIL_SOURCES}
${CMAKE_SOURCE_DIR}/src/butil/file_util_linux.cc
${CMAKE_SOURCE_DIR}/src/butil/threading/platform_thread_linux.cc
${CMAKE_SOURCE_DIR}/src/butil/strings/sys_string_conversions_posix.cc)
${PROJECT_SOURCE_DIR}/src/butil/file_util_linux.cc
${PROJECT_SOURCE_DIR}/src/butil/threading/platform_thread_linux.cc
${PROJECT_SOURCE_DIR}/src/butil/strings/sys_string_conversions_posix.cc)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
set(BUTIL_SOURCES ${BUTIL_SOURCES}
${CMAKE_SOURCE_DIR}/src/butil/mac/bundle_locations.mm
${CMAKE_SOURCE_DIR}/src/butil/mac/foundation_util.mm
${CMAKE_SOURCE_DIR}/src/butil/file_util_mac.mm
${CMAKE_SOURCE_DIR}/src/butil/threading/platform_thread_mac.mm
${CMAKE_SOURCE_DIR}/src/butil/strings/sys_string_conversions_mac.mm
${CMAKE_SOURCE_DIR}/src/butil/time/time_mac.cc
${CMAKE_SOURCE_DIR}/src/butil/mac/scoped_mach_port.cc)
${PROJECT_SOURCE_DIR}/src/butil/mac/bundle_locations.mm
${PROJECT_SOURCE_DIR}/src/butil/mac/foundation_util.mm
${PROJECT_SOURCE_DIR}/src/butil/file_util_mac.mm
${PROJECT_SOURCE_DIR}/src/butil/threading/platform_thread_mac.mm
${PROJECT_SOURCE_DIR}/src/butil/strings/sys_string_conversions_mac.mm
${PROJECT_SOURCE_DIR}/src/butil/time/time_mac.cc
${PROJECT_SOURCE_DIR}/src/butil/mac/scoped_mach_port.cc)
endif()
file(GLOB_RECURSE BVAR_SOURCES "${CMAKE_SOURCE_DIR}/src/bvar/*.cpp")
file(GLOB_RECURSE BTHREAD_SOURCES "${CMAKE_SOURCE_DIR}/src/bthread/*.cpp")
file(GLOB_RECURSE JSON2PB_SOURCES "${CMAKE_SOURCE_DIR}/src/json2pb/*.cpp")
file(GLOB_RECURSE BRPC_SOURCES "${CMAKE_SOURCE_DIR}/src/brpc/*.cpp")
file(GLOB_RECURSE BVAR_SOURCES "${PROJECT_SOURCE_DIR}/src/bvar/*.cpp")
file(GLOB_RECURSE BTHREAD_SOURCES "${PROJECT_SOURCE_DIR}/src/bthread/*.cpp")
file(GLOB_RECURSE JSON2PB_SOURCES "${PROJECT_SOURCE_DIR}/src/json2pb/*.cpp")
file(GLOB_RECURSE BRPC_SOURCES "${PROJECT_SOURCE_DIR}/src/brpc/*.cpp")
file(GLOB_RECURSE THRIFT_SOURCES "thrift*.cpp")
if(WITH_THRIFT)
......@@ -341,10 +341,10 @@ else()
endif()
set(MCPACK2PB_SOURCES
${CMAKE_SOURCE_DIR}/src/mcpack2pb/field_type.cpp
${CMAKE_SOURCE_DIR}/src/mcpack2pb/mcpack2pb.cpp
${CMAKE_SOURCE_DIR}/src/mcpack2pb/parser.cpp
${CMAKE_SOURCE_DIR}/src/mcpack2pb/serializer.cpp
${PROJECT_SOURCE_DIR}/src/mcpack2pb/field_type.cpp
${PROJECT_SOURCE_DIR}/src/mcpack2pb/mcpack2pb.cpp
${PROJECT_SOURCE_DIR}/src/mcpack2pb/parser.cpp
${PROJECT_SOURCE_DIR}/src/mcpack2pb/serializer.cpp
)
include(CompileProto)
......@@ -365,11 +365,11 @@ set(PROTO_FILES idl_options.proto
brpc/policy/mongo.proto
brpc/trackme.proto
brpc/streaming_rpc_meta.proto)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/output/include/brpc)
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/output/include/brpc)
set(PROTOC_FLAGS ${PROTOC_FLAGS} -I${PROTOBUF_INCLUDE_DIR})
compile_proto(PROTO_HDRS PROTO_SRCS ${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/output/include
${CMAKE_SOURCE_DIR}/src
compile_proto(PROTO_HDRS PROTO_SRCS ${PROJECT_BINARY_DIR}
${PROJECT_BINARY_DIR}/output/include
${PROJECT_SOURCE_DIR}/src
"${PROTO_FILES}")
add_library(PROTO_LIB OBJECT ${PROTO_SRCS} ${PROTO_HDRS})
......@@ -394,7 +394,7 @@ file(COPY ${CMAKE_CURRENT_BINARY_DIR}/brpc/
PATTERN "*.h"
PATTERN "*.hpp"
)
file(COPY ${CMAKE_SOURCE_DIR}/src/
file(COPY ${PROJECT_SOURCE_DIR}/src/
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/output/include/
FILES_MATCHING
PATTERN "*.h"
......@@ -408,5 +408,5 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/output/include/
)
# Install pkgconfig
configure_file(cmake/brpc.pc.in ${CMAKE_BINARY_DIR}/brpc.pc @ONLY)
install(FILES ${CMAKE_BINARY_DIR}/brpc.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
configure_file(cmake/brpc.pc.in ${PROJECT_BINARY_DIR}/brpc.pc @ONLY)
install(FILES ${PROJECT_BINARY_DIR}/brpc.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
......@@ -6,8 +6,8 @@ include(ExternalProject)
ExternalProject_Add(googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG release-1.8.0
SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-src"
BINARY_DIR "${CMAKE_BINARY_DIR}/googletest-build"
SOURCE_DIR "${PROJECT_BINARY_DIR}/googletest-src"
BINARY_DIR "${PROJECT_BINARY_DIR}/googletest-build"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
......
# Setup googletest
configure_file("${CMAKE_SOURCE_DIR}/cmake/CMakeLists.download_gtest.in" ${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt)
configure_file("${PROJECT_SOURCE_DIR}/cmake/CMakeLists.download_gtest.in" ${PROJECT_BINARY_DIR}/googletest-download/CMakeLists.txt)
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/googletest-download
)
if(result)
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
......@@ -11,7 +11,7 @@ endif()
execute_process(COMMAND ${CMAKE_COMMAND} --build .
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/googletest-download
)
if(result)
message(FATAL_ERROR "Build step for googletest failed: ${result}")
......@@ -19,6 +19,6 @@ endif()
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
add_subdirectory(${CMAKE_BINARY_DIR}/googletest-src
${CMAKE_BINARY_DIR}/googletest-build
add_subdirectory(${PROJECT_BINARY_DIR}/googletest-src
${PROJECT_BINARY_DIR}/googletest-build
EXCLUDE_FROM_ALL)
......@@ -4,7 +4,7 @@ project(asynchronous_echo_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(backup_request_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(cancel_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(cascade_echo_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(dynamic_partition_echo_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......@@ -132,5 +132,5 @@ add_executable(dynamic_partition_echo_server server.cpp ${PROTO_SRC} ${PROTO_HEA
target_link_libraries(dynamic_partition_echo_client ${BRPC_LIB} ${DYNAMIC_LIB} ${GPERFTOOLS_LIBRARIES})
target_link_libraries(dynamic_partition_echo_server ${BRPC_LIB} ${DYNAMIC_LIB} ${GPERFTOOLS_LIBRARIES})
file(COPY ${CMAKE_SOURCE_DIR}/server_list
file(COPY ${PROJECT_SOURCE_DIR}/server_list
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
......@@ -4,7 +4,7 @@ project(echo_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(echo_c++_hulu_pbrpc C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(echo_c++_sofa_pbrpc C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(echo_c++_ubrpc_compack C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......@@ -122,7 +122,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
endif()
execute_process(
COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} ${PROTO_FLAGS} --cpp_out=${CMAKE_CURRENT_BINARY_DIR} --proto_path=${PROTOBUF_INCLUDE_DIR} --proto_path=${CMAKE_SOURCE_DIR} --plugin=protoc-gen-mcpack=${OUTPUT_PATH}/bin/protoc-gen-mcpack --mcpack_out=${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/echo.proto
COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} ${PROTO_FLAGS} --cpp_out=${CMAKE_CURRENT_BINARY_DIR} --proto_path=${PROTOBUF_INCLUDE_DIR} --proto_path=${PROJECT_SOURCE_DIR} --plugin=protoc-gen-mcpack=${OUTPUT_PATH}/bin/protoc-gen-mcpack --mcpack_out=${CMAKE_CURRENT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/echo.proto
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
......
......@@ -4,7 +4,7 @@ project(http_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......@@ -135,7 +135,7 @@ target_link_libraries(http_server ${BRPC_LIB} ${DYNAMIC_LIB} ${GPERFTOOLS_LIBRAR
target_link_libraries(http_client ${BRPC_LIB} ${DYNAMIC_LIB} ${GPERFTOOLS_LIBRARIES})
target_link_libraries(benchmark_http ${BRPC_LIB} ${DYNAMIC_LIB} ${GPERFTOOLS_LIBRARIES})
file(COPY ${CMAKE_SOURCE_DIR}/key.pem
file(COPY ${PROJECT_SOURCE_DIR}/key.pem
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${CMAKE_SOURCE_DIR}/cert.pem
file(COPY ${PROJECT_SOURCE_DIR}/cert.pem
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
......@@ -4,7 +4,7 @@ project(memcache_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(multi_threaded_echo_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(multi_threaded_echo_fns_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(multi_threaded_mcpack_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......@@ -127,7 +127,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
endif()
execute_process(
COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} ${PROTO_FLAGS} --cpp_out=${CMAKE_CURRENT_BINARY_DIR} --proto_path=${PROTOBUF_INCLUDE_DIR} --proto_path=${CMAKE_SOURCE_DIR} --plugin=protoc-gen-mcpack=${OUTPUT_PATH}/bin/protoc-gen-mcpack --mcpack_out=${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/echo.proto
COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} ${PROTO_FLAGS} --cpp_out=${CMAKE_CURRENT_BINARY_DIR} --proto_path=${PROTOBUF_INCLUDE_DIR} --proto_path=${PROJECT_SOURCE_DIR} --plugin=protoc-gen-mcpack=${OUTPUT_PATH}/bin/protoc-gen-mcpack --mcpack_out=${CMAKE_CURRENT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/echo.proto
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
......
......@@ -4,7 +4,7 @@ project(nshead_extension_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(nshead_pb_extension_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(parallel_echo_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(partition_echo_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......@@ -132,5 +132,5 @@ add_executable(server server.cpp ${PROTO_SRC} ${PROTO_HEADER})
target_link_libraries(client ${BRPC_LIB} ${DYNAMIC_LIB} ${GPERFTOOLS_LIBRARIES})
target_link_libraries(server ${BRPC_LIB} ${DYNAMIC_LIB} ${GPERFTOOLS_LIBRARIES})
file(COPY ${CMAKE_SOURCE_DIR}/server_list
file(COPY ${PROJECT_SOURCE_DIR}/server_list
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
......@@ -12,7 +12,7 @@ project(redis_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(selective_echo_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(session_data_and_thread_local C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -4,7 +4,7 @@ project(streaming_echo_c++ C CXX)
option(EXAMPLE_LINK_SO "Whether examples are linked dynamically" OFF)
execute_process(
COMMAND bash -c "find ${CMAKE_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
COMMAND bash -c "find ${PROJECT_SOURCE_DIR}/../.. -type d -regex \".*output/include$\" | head -n1 | xargs dirname | tr -d '\n'"
OUTPUT_VARIABLE OUTPUT_PATH
)
......
......@@ -7,7 +7,7 @@ elseif(NOT DEBUG)
endif()
include_directories(${CMAKE_CURRENT_BINARY_DIR})
include_directories(${CMAKE_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/src)
add_library(BUTIL_LIB OBJECT ${BUTIL_SOURCES})
add_library(OBJ_LIB OBJECT ${SOURCES})
......@@ -38,10 +38,10 @@ SET_TARGET_PROPERTIES(brpc-static PROPERTIES OUTPUT_NAME brpc CLEAN_DIRECT_OUTPU
SET_TARGET_PROPERTIES(brpc-shared PROPERTIES OUTPUT_NAME brpc CLEAN_DIRECT_OUTPUT 1)
# for protoc-gen-mcpack
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/output/bin)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/output/bin)
set(protoc_gen_mcpack_SOURCES
${CMAKE_SOURCE_DIR}/src/mcpack2pb/generator.cpp
${PROJECT_SOURCE_DIR}/src/mcpack2pb/generator.cpp
)
add_executable(protoc-gen-mcpack ${protoc_gen_mcpack_SOURCES})
target_link_libraries(protoc-gen-mcpack brpc-shared)
......
......@@ -333,7 +333,8 @@ static void GlobalInitializeOrDieImpl() {
#endif
NamingServiceExtension()->RegisterOrDie("file", &g_ext->fns);
NamingServiceExtension()->RegisterOrDie("list", &g_ext->lns);
NamingServiceExtension()->RegisterOrDie("http", &g_ext->dns);
NamingServiceExtension()->RegisterOrDie("http", &g_ext->dns);
NamingServiceExtension()->RegisterOrDie("redis", &g_ext->dns);
NamingServiceExtension()->RegisterOrDie("remotefile", &g_ext->rfns);
NamingServiceExtension()->RegisterOrDie("consul", &g_ext->cns);
......
......@@ -14,11 +14,11 @@ set(TEST_PROTO_FILES addressbook1.proto
snappy_message.proto
v1.proto
v2.proto)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/test/hdrs)
set(PROTOC_FLAGS ${PROTOC_FLAGS} -I${CMAKE_SOURCE_DIR}/src)
compile_proto(PROTO_HDRS PROTO_SRCS ${CMAKE_BINARY_DIR}/test
${CMAKE_BINARY_DIR}/test/hdrs
${CMAKE_SOURCE_DIR}/test
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/test/hdrs)
set(PROTOC_FLAGS ${PROTOC_FLAGS} -I${PROJECT_SOURCE_DIR}/src)
compile_proto(PROTO_HDRS PROTO_SRCS ${PROJECT_BINARY_DIR}/test
${PROJECT_BINARY_DIR}/test/hdrs
${PROJECT_SOURCE_DIR}/test
"${TEST_PROTO_FILES}")
add_library(TEST_PROTO_LIB OBJECT ${PROTO_SRCS} ${PROTO_HDRS})
......@@ -28,13 +28,13 @@ set(BRPC_SYSTEM_GTEST_SOURCE_DIR "" CACHE PATH "System googletest source directo
if(BRPC_DOWNLOAD_GTEST)
include(SetupGtest)
elseif(BRPC_SYSTEM_GTEST_SOURCE_DIR)
add_subdirectory("${BRPC_SYSTEM_GTEST_SOURCE_DIR}" "${CMAKE_BINARY_DIR}/system-googletest-build")
add_subdirectory("${BRPC_SYSTEM_GTEST_SOURCE_DIR}" "${PROJECT_BINARY_DIR}/system-googletest-build")
else()
message(FATAL_ERROR "Googletest is not available")
endif()
set(CMAKE_CPP_FLAGS "${DEFINE_CLOCK_GETTIME} -DBRPC_WITH_GLOG=${WITH_GLOG_VAL} -DGFLAGS_NS=${GFLAGS_NS}")
set(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} -DBTHREAD_USE_FAST_PTHREAD_MUTEX -D__const__= -D_GNU_SOURCE -DUSE_SYMBOLIZE -DNO_TCMALLOC -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DUNIT_TEST -Dprivate=public -Dprotected=public -DBVAR_NOT_LINK_DEFAULT_VARIABLES -D__STRICT_ANSI__ -include ${CMAKE_SOURCE_DIR}/test/sstream_workaround.h")
set(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} -DBTHREAD_USE_FAST_PTHREAD_MUTEX -D__const__= -D_GNU_SOURCE -DUSE_SYMBOLIZE -DNO_TCMALLOC -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DUNIT_TEST -Dprivate=public -Dprotected=public -DBVAR_NOT_LINK_DEFAULT_VARIABLES -D__STRICT_ANSI__ -include ${PROJECT_SOURCE_DIR}/test/sstream_workaround.h")
set(CMAKE_CXX_FLAGS "${CMAKE_CPP_FLAGS} -O2 -pipe -Wall -W -fPIC -fstrict-aliasing -Wno-invalid-offsetof -Wno-unused-parameter -fno-omit-frame-pointer")
use_cxx11()
......@@ -48,116 +48,116 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
endif()
endif()
file(COPY ${CMAKE_SOURCE_DIR}/test/cert1.key DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${CMAKE_SOURCE_DIR}/test/cert2.key DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${CMAKE_SOURCE_DIR}/test/cert1.crt DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${CMAKE_SOURCE_DIR}/test/cert2.crt DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${CMAKE_SOURCE_DIR}/test/jsonout DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${CMAKE_SOURCE_DIR}/test/run_tests.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${PROJECT_SOURCE_DIR}/test/cert1.key DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${PROJECT_SOURCE_DIR}/test/cert2.key DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${PROJECT_SOURCE_DIR}/test/cert1.crt DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${PROJECT_SOURCE_DIR}/test/cert2.crt DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${PROJECT_SOURCE_DIR}/test/jsonout DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY ${PROJECT_SOURCE_DIR}/test/run_tests.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
SET(TEST_BUTIL_SOURCES
${CMAKE_SOURCE_DIR}/test/popen_unittest.cpp
${CMAKE_SOURCE_DIR}/test/at_exit_unittest.cc
${CMAKE_SOURCE_DIR}/test/atomicops_unittest.cc
${CMAKE_SOURCE_DIR}/test/base64_unittest.cc
${CMAKE_SOURCE_DIR}/test/big_endian_unittest.cc
${CMAKE_SOURCE_DIR}/test/bits_unittest.cc
${CMAKE_SOURCE_DIR}/test/hash_tables_unittest.cc
${CMAKE_SOURCE_DIR}/test/linked_list_unittest.cc
${CMAKE_SOURCE_DIR}/test/mru_cache_unittest.cc
${CMAKE_SOURCE_DIR}/test/small_map_unittest.cc
${CMAKE_SOURCE_DIR}/test/stack_container_unittest.cc
${CMAKE_SOURCE_DIR}/test/cpu_unittest.cc
${CMAKE_SOURCE_DIR}/test/crash_logging_unittest.cc
${CMAKE_SOURCE_DIR}/test/leak_tracker_unittest.cc
${CMAKE_SOURCE_DIR}/test/stack_trace_unittest.cc
${CMAKE_SOURCE_DIR}/test/environment_unittest.cc
${CMAKE_SOURCE_DIR}/test/file_util_unittest.cc
${CMAKE_SOURCE_DIR}/test/dir_reader_posix_unittest.cc
${CMAKE_SOURCE_DIR}/test/file_path_unittest.cc
${CMAKE_SOURCE_DIR}/test/file_unittest.cc
${CMAKE_SOURCE_DIR}/test/scoped_temp_dir_unittest.cc
${CMAKE_SOURCE_DIR}/test/guid_unittest.cc
${CMAKE_SOURCE_DIR}/test/hash_unittest.cc
${CMAKE_SOURCE_DIR}/test/lazy_instance_unittest.cc
${CMAKE_SOURCE_DIR}/test/md5_unittest.cc
${CMAKE_SOURCE_DIR}/test/aligned_memory_unittest.cc
${CMAKE_SOURCE_DIR}/test/linked_ptr_unittest.cc
${CMAKE_SOURCE_DIR}/test/ref_counted_memory_unittest.cc
${CMAKE_SOURCE_DIR}/test/ref_counted_unittest.cc
${CMAKE_SOURCE_DIR}/test/scoped_ptr_unittest.cc
${CMAKE_SOURCE_DIR}/test/scoped_vector_unittest.cc
${CMAKE_SOURCE_DIR}/test/singleton_unittest.cc
${CMAKE_SOURCE_DIR}/test/weak_ptr_unittest.cc
${CMAKE_SOURCE_DIR}/test/observer_list_unittest.cc
${CMAKE_SOURCE_DIR}/test/file_descriptor_shuffle_unittest.cc
${CMAKE_SOURCE_DIR}/test/rand_util_unittest.cc
${CMAKE_SOURCE_DIR}/test/safe_numerics_unittest.cc
${CMAKE_SOURCE_DIR}/test/scoped_clear_errno_unittest.cc
${CMAKE_SOURCE_DIR}/test/scoped_generic_unittest.cc
${CMAKE_SOURCE_DIR}/test/security_unittest.cc
${CMAKE_SOURCE_DIR}/test/sha1_unittest.cc
${CMAKE_SOURCE_DIR}/test/stl_util_unittest.cc
${CMAKE_SOURCE_DIR}/test/nullable_string16_unittest.cc
${CMAKE_SOURCE_DIR}/test/safe_sprintf_unittest.cc
${CMAKE_SOURCE_DIR}/test/string16_unittest.cc
${CMAKE_SOURCE_DIR}/test/stringprintf_unittest.cc
${CMAKE_SOURCE_DIR}/test/string_number_conversions_unittest.cc
${CMAKE_SOURCE_DIR}/test/string_piece_unittest.cc
${CMAKE_SOURCE_DIR}/test/string_split_unittest.cc
${CMAKE_SOURCE_DIR}/test/string_tokenizer_unittest.cc
${CMAKE_SOURCE_DIR}/test/string_util_unittest.cc
${CMAKE_SOURCE_DIR}/test/stringize_macros_unittest.cc
${CMAKE_SOURCE_DIR}/test/sys_string_conversions_unittest.cc
${CMAKE_SOURCE_DIR}/test/utf_offset_string_conversions_unittest.cc
${CMAKE_SOURCE_DIR}/test/utf_string_conversions_unittest.cc
${CMAKE_SOURCE_DIR}/test/cancellation_flag_unittest.cc
${CMAKE_SOURCE_DIR}/test/condition_variable_unittest.cc
${CMAKE_SOURCE_DIR}/test/lock_unittest.cc
${CMAKE_SOURCE_DIR}/test/waitable_event_unittest.cc
${CMAKE_SOURCE_DIR}/test/type_traits_unittest.cc
${CMAKE_SOURCE_DIR}/test/non_thread_safe_unittest.cc
${CMAKE_SOURCE_DIR}/test/platform_thread_unittest.cc
${CMAKE_SOURCE_DIR}/test/simple_thread_unittest.cc
${CMAKE_SOURCE_DIR}/test/thread_checker_unittest.cc
${CMAKE_SOURCE_DIR}/test/thread_collision_warner_unittest.cc
${CMAKE_SOURCE_DIR}/test/thread_id_name_manager_unittest.cc
${CMAKE_SOURCE_DIR}/test/thread_local_storage_unittest.cc
${CMAKE_SOURCE_DIR}/test/thread_local_unittest.cc
${CMAKE_SOURCE_DIR}/test/watchdog_unittest.cc
${CMAKE_SOURCE_DIR}/test/pr_time_unittest.cc
${CMAKE_SOURCE_DIR}/test/time_unittest.cc
${CMAKE_SOURCE_DIR}/test/version_unittest.cc
${CMAKE_SOURCE_DIR}/test/logging_unittest.cc
${CMAKE_SOURCE_DIR}/test/cacheline_unittest.cpp
${CMAKE_SOURCE_DIR}/test/class_name_unittest.cpp
${CMAKE_SOURCE_DIR}/test/endpoint_unittest.cpp
${CMAKE_SOURCE_DIR}/test/unique_ptr_unittest.cpp
${CMAKE_SOURCE_DIR}/test/errno_unittest.cpp
${CMAKE_SOURCE_DIR}/test/fd_guard_unittest.cpp
${CMAKE_SOURCE_DIR}/test/file_watcher_unittest.cpp
${CMAKE_SOURCE_DIR}/test/find_cstr_unittest.cpp
${CMAKE_SOURCE_DIR}/test/scoped_lock_unittest.cpp
${CMAKE_SOURCE_DIR}/test/status_unittest.cpp
${CMAKE_SOURCE_DIR}/test/string_printf_unittest.cpp
${CMAKE_SOURCE_DIR}/test/string_splitter_unittest.cpp
${CMAKE_SOURCE_DIR}/test/synchronous_event_unittest.cpp
${CMAKE_SOURCE_DIR}/test/temp_file_unittest.cpp
${CMAKE_SOURCE_DIR}/test/baidu_thread_local_unittest.cpp
${CMAKE_SOURCE_DIR}/test/baidu_time_unittest.cpp
${CMAKE_SOURCE_DIR}/test/flat_map_unittest.cpp
${CMAKE_SOURCE_DIR}/test/crc32c_unittest.cc
${CMAKE_SOURCE_DIR}/test/iobuf_unittest.cpp
${CMAKE_SOURCE_DIR}/test/test_switches.cc
${CMAKE_SOURCE_DIR}/test/scoped_locale.cc
${CMAKE_SOURCE_DIR}/test/butil_unittest_main.cpp
${CMAKE_SOURCE_DIR}/test/butil_unittest_main.cpp
${PROJECT_SOURCE_DIR}/test/popen_unittest.cpp
${PROJECT_SOURCE_DIR}/test/at_exit_unittest.cc
${PROJECT_SOURCE_DIR}/test/atomicops_unittest.cc
${PROJECT_SOURCE_DIR}/test/base64_unittest.cc
${PROJECT_SOURCE_DIR}/test/big_endian_unittest.cc
${PROJECT_SOURCE_DIR}/test/bits_unittest.cc
${PROJECT_SOURCE_DIR}/test/hash_tables_unittest.cc
${PROJECT_SOURCE_DIR}/test/linked_list_unittest.cc
${PROJECT_SOURCE_DIR}/test/mru_cache_unittest.cc
${PROJECT_SOURCE_DIR}/test/small_map_unittest.cc
${PROJECT_SOURCE_DIR}/test/stack_container_unittest.cc
${PROJECT_SOURCE_DIR}/test/cpu_unittest.cc
${PROJECT_SOURCE_DIR}/test/crash_logging_unittest.cc
${PROJECT_SOURCE_DIR}/test/leak_tracker_unittest.cc
${PROJECT_SOURCE_DIR}/test/stack_trace_unittest.cc
${PROJECT_SOURCE_DIR}/test/environment_unittest.cc
${PROJECT_SOURCE_DIR}/test/file_util_unittest.cc
${PROJECT_SOURCE_DIR}/test/dir_reader_posix_unittest.cc
${PROJECT_SOURCE_DIR}/test/file_path_unittest.cc
${PROJECT_SOURCE_DIR}/test/file_unittest.cc
${PROJECT_SOURCE_DIR}/test/scoped_temp_dir_unittest.cc
${PROJECT_SOURCE_DIR}/test/guid_unittest.cc
${PROJECT_SOURCE_DIR}/test/hash_unittest.cc
${PROJECT_SOURCE_DIR}/test/lazy_instance_unittest.cc
${PROJECT_SOURCE_DIR}/test/md5_unittest.cc
${PROJECT_SOURCE_DIR}/test/aligned_memory_unittest.cc
${PROJECT_SOURCE_DIR}/test/linked_ptr_unittest.cc
${PROJECT_SOURCE_DIR}/test/ref_counted_memory_unittest.cc
${PROJECT_SOURCE_DIR}/test/ref_counted_unittest.cc
${PROJECT_SOURCE_DIR}/test/scoped_ptr_unittest.cc
${PROJECT_SOURCE_DIR}/test/scoped_vector_unittest.cc
${PROJECT_SOURCE_DIR}/test/singleton_unittest.cc
${PROJECT_SOURCE_DIR}/test/weak_ptr_unittest.cc
${PROJECT_SOURCE_DIR}/test/observer_list_unittest.cc
${PROJECT_SOURCE_DIR}/test/file_descriptor_shuffle_unittest.cc
${PROJECT_SOURCE_DIR}/test/rand_util_unittest.cc
${PROJECT_SOURCE_DIR}/test/safe_numerics_unittest.cc
${PROJECT_SOURCE_DIR}/test/scoped_clear_errno_unittest.cc
${PROJECT_SOURCE_DIR}/test/scoped_generic_unittest.cc
${PROJECT_SOURCE_DIR}/test/security_unittest.cc
${PROJECT_SOURCE_DIR}/test/sha1_unittest.cc
${PROJECT_SOURCE_DIR}/test/stl_util_unittest.cc
${PROJECT_SOURCE_DIR}/test/nullable_string16_unittest.cc
${PROJECT_SOURCE_DIR}/test/safe_sprintf_unittest.cc
${PROJECT_SOURCE_DIR}/test/string16_unittest.cc
${PROJECT_SOURCE_DIR}/test/stringprintf_unittest.cc
${PROJECT_SOURCE_DIR}/test/string_number_conversions_unittest.cc
${PROJECT_SOURCE_DIR}/test/string_piece_unittest.cc
${PROJECT_SOURCE_DIR}/test/string_split_unittest.cc
${PROJECT_SOURCE_DIR}/test/string_tokenizer_unittest.cc
${PROJECT_SOURCE_DIR}/test/string_util_unittest.cc
${PROJECT_SOURCE_DIR}/test/stringize_macros_unittest.cc
${PROJECT_SOURCE_DIR}/test/sys_string_conversions_unittest.cc
${PROJECT_SOURCE_DIR}/test/utf_offset_string_conversions_unittest.cc
${PROJECT_SOURCE_DIR}/test/utf_string_conversions_unittest.cc
${PROJECT_SOURCE_DIR}/test/cancellation_flag_unittest.cc
${PROJECT_SOURCE_DIR}/test/condition_variable_unittest.cc
${PROJECT_SOURCE_DIR}/test/lock_unittest.cc
${PROJECT_SOURCE_DIR}/test/waitable_event_unittest.cc
${PROJECT_SOURCE_DIR}/test/type_traits_unittest.cc
${PROJECT_SOURCE_DIR}/test/non_thread_safe_unittest.cc
${PROJECT_SOURCE_DIR}/test/platform_thread_unittest.cc
${PROJECT_SOURCE_DIR}/test/simple_thread_unittest.cc
${PROJECT_SOURCE_DIR}/test/thread_checker_unittest.cc
${PROJECT_SOURCE_DIR}/test/thread_collision_warner_unittest.cc
${PROJECT_SOURCE_DIR}/test/thread_id_name_manager_unittest.cc
${PROJECT_SOURCE_DIR}/test/thread_local_storage_unittest.cc
${PROJECT_SOURCE_DIR}/test/thread_local_unittest.cc
${PROJECT_SOURCE_DIR}/test/watchdog_unittest.cc
${PROJECT_SOURCE_DIR}/test/pr_time_unittest.cc
${PROJECT_SOURCE_DIR}/test/time_unittest.cc
${PROJECT_SOURCE_DIR}/test/version_unittest.cc
${PROJECT_SOURCE_DIR}/test/logging_unittest.cc
${PROJECT_SOURCE_DIR}/test/cacheline_unittest.cpp
${PROJECT_SOURCE_DIR}/test/class_name_unittest.cpp
${PROJECT_SOURCE_DIR}/test/endpoint_unittest.cpp
${PROJECT_SOURCE_DIR}/test/unique_ptr_unittest.cpp
${PROJECT_SOURCE_DIR}/test/errno_unittest.cpp
${PROJECT_SOURCE_DIR}/test/fd_guard_unittest.cpp
${PROJECT_SOURCE_DIR}/test/file_watcher_unittest.cpp
${PROJECT_SOURCE_DIR}/test/find_cstr_unittest.cpp
${PROJECT_SOURCE_DIR}/test/scoped_lock_unittest.cpp
${PROJECT_SOURCE_DIR}/test/status_unittest.cpp
${PROJECT_SOURCE_DIR}/test/string_printf_unittest.cpp
${PROJECT_SOURCE_DIR}/test/string_splitter_unittest.cpp
${PROJECT_SOURCE_DIR}/test/synchronous_event_unittest.cpp
${PROJECT_SOURCE_DIR}/test/temp_file_unittest.cpp
${PROJECT_SOURCE_DIR}/test/baidu_thread_local_unittest.cpp
${PROJECT_SOURCE_DIR}/test/baidu_time_unittest.cpp
${PROJECT_SOURCE_DIR}/test/flat_map_unittest.cpp
${PROJECT_SOURCE_DIR}/test/crc32c_unittest.cc
${PROJECT_SOURCE_DIR}/test/iobuf_unittest.cpp
${PROJECT_SOURCE_DIR}/test/test_switches.cc
${PROJECT_SOURCE_DIR}/test/scoped_locale.cc
${PROJECT_SOURCE_DIR}/test/butil_unittest_main.cpp
${PROJECT_SOURCE_DIR}/test/butil_unittest_main.cpp
)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
SET(TEST_BUTIL_SOURCES ${TEST_BUTIL_SOURCES}
${CMAKE_SOURCE_DIR}/test/proc_maps_linux_unittest.cc
${CMAKE_SOURCE_DIR}/test/test_file_util_linux.cc)
${PROJECT_SOURCE_DIR}/test/proc_maps_linux_unittest.cc
${PROJECT_SOURCE_DIR}/test/test_file_util_linux.cc)
endif()
# bthread_* functions are used in logging.cc, and they need to be marked as
......@@ -178,7 +178,7 @@ target_link_libraries(test_butil gtest
${DYNAMIC_LIB})
# -DBVAR_NOT_LINK_DEFAULT_VARIABLES not work for gcc >= 5.0, just remove the file to prevent linking into unit tests
list(REMOVE_ITEM BVAR_SOURCES ${CMAKE_SOURCE_DIR}/src/bvar/default_variables.cpp)
list(REMOVE_ITEM BVAR_SOURCES ${PROJECT_SOURCE_DIR}/src/bvar/default_variables.cpp)
add_library(BVAR_OBJ OBJECT ${BVAR_SOURCES})
file(GLOB TEST_BVAR_SRCS "bvar_*_unittest.cpp")
......
set(CMAKE_CPP_FLAGS "${DEFINE_CLOCK_GETTIME} -DBRPC_WITH_GLOG=${WITH_GLOG_VAL} -DGFLAGS_NS=${GFLAGS_NS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CPP_FLAGS} -DNDEBUG -O2 -D__const__= -D__STRICT_ANSI__ -pipe -W -Wall -Wno-unused-parameter -fPIC -fno-omit-frame-pointer")
use_cxx11()
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/output/bin)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/output/bin)
add_subdirectory(parallel_http)
add_subdirectory(rpc_press)
......
file(GLOB SOURCES "${CMAKE_SOURCE_DIR}/tools/rpc_press/*.cpp")
file(GLOB SOURCES "${PROJECT_SOURCE_DIR}/tools/rpc_press/*.cpp")
add_executable(rpc_press ${SOURCES})
target_link_libraries(rpc_press brpc-static ${DYNAMIC_LIB})
file(GLOB SOURCES "${CMAKE_SOURCE_DIR}/tools/rpc_replay/*.cpp")
file(GLOB SOURCES "${PROJECT_SOURCE_DIR}/tools/rpc_replay/*.cpp")
add_executable(rpc_replay ${SOURCES})
target_link_libraries(rpc_replay brpc-static ${DYNAMIC_LIB})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment