Commit e18a8c97 authored by zhujiashun's avatar zhujiashun

Merge branch 'cmake_support' of github.com:brpc/brpc into cmake_support

parents e3bd4a0c c90162a1
...@@ -27,13 +27,13 @@ set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) ...@@ -27,13 +27,13 @@ set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
find_package(GFLAGS REQUIRED) find_package(GFLAGS REQUIRED)
execute_process( execute_process(
COMMAND bash -c "grep \"namespace [_A-Za-z0-9]\\+ {\" ${GFLAGS_INCLUDE_PATH}/gflags/gflags_declare.h | head -1 | awk '{print $2}'" COMMAND bash -c "grep \"namespace [_A-Za-z0-9]\\+ {\" ${GFLAGS_INCLUDE_PATH}/gflags/gflags_declare.h | head -1 | awk '{print $2}' | tr -d '\n'"
OUTPUT_VARIABLE GFLAGS_NS OUTPUT_VARIABLE GFLAGS_NS
) )
# STREQUAL not works. Use MATCHES as workaround # STREQUAL not works. Use MATCHES as workaround
if(${GFLAGS_NS} MATCHES ".*GFLAGS_NAMESPACE.*") if(${GFLAGS_NS} MATCHES ".*GFLAGS_NAMESPACE.*")
execute_process( execute_process(
COMMAND bash -c "grep \"#define GFLAGS_NAMESPACE [_A-Za-z0-9]\\+\" ${GFLAGS_INCLUDE_PATH}/gflags/gflags_declare.h | head -1 | awk '{print $3}' | tr -d \"\\n\"" COMMAND bash -c "grep \"#define GFLAGS_NAMESPACE [_A-Za-z0-9]\\+\" ${GFLAGS_INCLUDE_PATH}/gflags/gflags_declare.h | head -1 | awk '{print $3}' | tr -d '\n'"
OUTPUT_VARIABLE GFLAGS_NS OUTPUT_VARIABLE GFLAGS_NS
) )
endif() endif()
...@@ -44,14 +44,14 @@ include_directories( ...@@ -44,14 +44,14 @@ include_directories(
${CMAKE_CURRENT_BINARY_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src
) )
#set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD 11)
#set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CPP_FLAGS "-DBRPC_WITH_GLOG=${WITH_GLOG_VAL} -DGFLAGS_NS=${GFLAGS_NS}") set(CMAKE_CPP_FLAGS "-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") 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")
set(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} ${DEBUG_SYMBOL}") set(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} ${DEBUG_SYMBOL}")
set(CMAKE_CXX_FLAGS "${CMAKE_CPP_FLAGS} -std=c++0x -O2 -pipe -Wall -W -fPIC -fstrict-aliasing -Wno-invalid-offsetof -Wno-unused-parameter -fno-omit-frame-pointer") set(CMAKE_CXX_FLAGS "${CMAKE_CPP_FLAGS} -O2 -pipe -Wall -W -fPIC -fstrict-aliasing -Wno-invalid-offsetof -Wno-unused-parameter -fno-omit-frame-pointer")
set(CMAKE_C_FLAGS "${CMAKE_CPP_FLAGS} -O2 -pipe -Wall -W -fPIC -fstrict-aliasing -Wno-unused-parameter -fno-omit-frame-pointer -std=c++0x") set(CMAKE_C_FLAGS "${CMAKE_CPP_FLAGS} -O2 -pipe -Wall -W -fPIC -fstrict-aliasing -Wno-unused-parameter -fno-omit-frame-pointer")
SET(CMAKE_EXE_LINKER_FLAGS "-pthread") SET(CMAKE_EXE_LINKER_FLAGS "-pthread")
#required by butil/crc32.cc to boost performance for 10x #required by butil/crc32.cc to boost performance for 10x
...@@ -78,8 +78,6 @@ find_library(PROTOBUF_LIB NAMES protobuf) ...@@ -78,8 +78,6 @@ find_library(PROTOBUF_LIB NAMES protobuf)
find_path(LEVELDB_HEADER NAMES leveldb/db.h) find_path(LEVELDB_HEADER NAMES leveldb/db.h)
find_library(LEVELDB_LIB NAMES leveldb) find_library(LEVELDB_LIB NAMES leveldb)
message("CMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}")
if(WITH_GLOG) if(WITH_GLOG)
find_path(GLOG_HEADER NAMES glog/logging.h) find_path(GLOG_HEADER NAMES glog/logging.h)
find_library(GLOG_LIB NAMES glog) find_library(GLOG_LIB NAMES glog)
......
...@@ -17,11 +17,9 @@ if ! sh config_brpc.sh --headers=/usr/include --libs=/usr/lib --nodebugsymbols - ...@@ -17,11 +17,9 @@ if ! sh config_brpc.sh --headers=/usr/include --libs=/usr/lib --nodebugsymbols -
exit 1 exit 1
fi fi
if [ "$PURPOSE" = "compile" ]; then if [ "$PURPOSE" = "compile" ]; then
#make -j4 && sh tools/make_all_examples make -j4 && sh tools/make_all_examples
echo "1"
elif [ "$PURPOSE" = "unittest" ]; then elif [ "$PURPOSE" = "unittest" ]; then
#cd test && sh ./run_tests.sh && cd ../ cd test && sh ./run_tests.sh && cd ../
echo "2"
else else
echo "Unknown purpose=\"$PURPOSE\"" echo "Unknown purpose=\"$PURPOSE\""
fi fi
......
...@@ -34,7 +34,6 @@ foreach(PROTO ${brpc_policy_PROTOS}) ...@@ -34,7 +34,6 @@ foreach(PROTO ${brpc_policy_PROTOS})
) )
endforeach() endforeach()
message("CMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}")
include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR})
include_directories(${CMAKE_SOURCE_DIR}/src) include_directories(${CMAKE_SOURCE_DIR}/src)
...@@ -216,17 +215,32 @@ set(protoc_gen_mcpack_SOURCES ...@@ -216,17 +215,32 @@ set(protoc_gen_mcpack_SOURCES
add_executable(protoc-gen-mcpack ${protoc_gen_mcpack_SOURCES}) add_executable(protoc-gen-mcpack ${protoc_gen_mcpack_SOURCES})
target_link_libraries(protoc-gen-mcpack brpc) target_link_libraries(protoc-gen-mcpack brpc)
get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
if ("${LIB64}" STREQUAL "TRUE")
set(LIBSUFFIX 64)
else()
set(LIBSUFFIX "")
endif()
#install directory #install directory
# cmake -DCMAKE_INSTALL_PREFIX=/usr # cmake -DCMAKE_INSTALL_PREFIX=/usr
install(TARGETS brpc install(TARGETS brpc
RUNTIME DESTINATION bin RUNTIME DESTINATION bin
LIBRARY DESTINATION lib LIBRARY DESTINATION lib${LIBSUFFIX}
ARCHIVE DESTINATION lib ARCHIVE DESTINATION lib${LIBSUFFIX}
)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/src/
DESTINATION include
FILES_MATCHING
PATTERN "*.h"
PATTERN "*.hpp"
) )
install(DIRECTORY src/ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/
DESTINATION include DESTINATION include
FILES_MATCHING FILES_MATCHING
PATTERN "*.h*" PATTERN "*.h"
PATTERN "*.proto" PATTERN "*.hpp"
) )
...@@ -11,7 +11,6 @@ foreach(PROTO ${PROTOS}) ...@@ -11,7 +11,6 @@ foreach(PROTO ${PROTOS})
COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} ${PROTO_FLAGS} --cpp_out=${CMAKE_CURRENT_BINARY_DIR} --proto_path=${PROTOBUF_INCLUDE_DIR} --proto_path=${CMAKE_SOURCE_DIR}/src --proto_path=${CMAKE_SOURCE_DIR}/test ${PROTO} COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} ${PROTO_FLAGS} --cpp_out=${CMAKE_CURRENT_BINARY_DIR} --proto_path=${PROTOBUF_INCLUDE_DIR} --proto_path=${CMAKE_SOURCE_DIR}/src --proto_path=${CMAKE_SOURCE_DIR}/test ${PROTO}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
) )
message("command=${PROTOBUF_PROTOC_EXECUTABLE} ${PROTO_FLAGS} --cpp_out=${CMAKE_CURRENT_BINARY_DIR} --proto_path=${PROTOBUF_INCLUDE_DIR} --proto_path=${CMAKE_SOURCE_DIR}/src --proto_path=${CMAKE_CURRENT_BINARY_DIR} ${PROTO}")
endforeach() endforeach()
find_path(GTEST_HEADER NAMES gtest/gtest.h) find_path(GTEST_HEADER NAMES gtest/gtest.h)
......
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