Commit 7b435271 authored by Kevin.Liu's avatar Kevin.Liu
Browse files

Merge pull request #32 from dgsb/master

Build support for centos6/GCC4.4
parents 015085a5 8445ad53
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -39,3 +39,5 @@ doxygen_warnings.log
*.pb.cc
*.pb.h
tmp

build/
+20 −8
Original line number Diff line number Diff line
cmake_minimum_required(VERSION 2.8.6)
project(kinetic_cpp_client CXX C)

#
# Add a coverage mode build type
#
set(CMAKE_CXX_FLAGS_COVERAGE "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage")
set(CMAKE_C_FLAGS_COVERAGE "${CMAKE_C_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage")
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE string
    "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel Coverage"
    FORCE)

find_package (Threads)

set(CMAKE_POSITION_INDEPENDENT_CODE ON)
@@ -45,7 +54,7 @@ set(TEST_LIBRARIES
    openssl
)

set(GENERATED_SOURCES_PATH ${kinetic_cpp_client_SOURCE_DIR}/src/main/generated)
set(GENERATED_SOURCES_PATH ${kinetic_cpp_client_BINARY_DIR}/src/main/generated)

set(PREFIX "${CMAKE_BINARY_DIR}/vendor")
set(EXTERNAL_PREFIX "${kinetic_cpp_client_BINARY_DIR}/vendor")
@@ -58,7 +67,8 @@ set(KINETIC_PROTO_MD5 "85ca027b870811a297c1f6d792498934")
ExternalProject_add(
    kinetic-proto
    PREFIX ${PREFIX}
    DOWNLOAD_COMMAND curl -L https://github.com/Seagate/kinetic-protocol/archive/${KINETIC_PROTO_VERSION}.tar.gz -o kinetic-proto.tar.gz && openssl md5 kinetic-proto.tar.gz | grep -q ${KINETIC_PROTO_MD5} && rm -rf kinetic-proto && mkdir -p kinetic-proto && tar -xz --strip-components 1 -C kinetic-proto -f kinetic-proto.tar.gz
    URL "${kinetic_cpp_client_SOURCE_DIR}/tarballs/kinetic-protocol-${KINETIC_PROTO_VERSION}.tar.gz"
    URL_MD5 ${KINETIC_PROTO_MD5}
    BUILD_IN_SOURCE 1
    CONFIGURE_COMMAND ""
    BUILD_COMMAND ""
@@ -152,12 +162,12 @@ set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${GENERATED_SOUR

include_directories(
    include
    src/main/generated
    src/main

    src/test/mock
    src/test

    ${GENERATED_SOURCES_PATH}
    ${EXTERNAL_PREFIX}/include
    ${EXTERNAL_PREFIX}/src/gmock/include
    ${EXTERNAL_PREFIX}/src/gtest/include
@@ -187,7 +197,7 @@ if(LIBUNWIND)
endif()

add_library(kinetic_client
    src/main/generated/kinetic_client.pb.cc
    ${GENERATED_SOURCES_PATH}/kinetic_client.pb.cc
    src/main/hmac_provider.cc
    src/main/kinetic_connection_factory.cc
    src/main/nonblocking_kinetic_connection.cc
@@ -258,16 +268,18 @@ add_custom_target(integration_test_valgrind
)

# Rule for generating docs
configure_file(${kinetic_cpp_client_SOURCE_DIR}/Doxyfile ${kinetic_cpp_client_BINARY_DIR}/Doxyfile)
add_custom_target(doc
    doxygen ${kinetic_cpp_client_SOURCE_DIR}/Doxyfile
    WORKING_DIRECTORY ${kinetic_cpp_client_SOURCE_DIR}
    doxygen ${kinetic_cpp_client_BINARY_DIR}/Doxyfile
    WORKING_DIRECTORY ${kinetic_cpp_client_BINARY_DIR}
    COMMENT "Generating API documentation with Doxygen" VERBATIM
)
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES docs)

# Rule for linting
configure_file(${kinetic_cpp_client_SOURCE_DIR}/bin/lint.sh ${kinetic_cpp_client_BINARY_DIR}/bin/lint.sh @ONLY)
add_custom_target(lint
    ./bin/lint.sh
    WORKING_DIRECTORY ${kinetic_cpp_client_SOURCE_DIR}
    ${kinetic_cpp_client_BINARY_DIR}/bin/lint.sh
    WORKING_DIRECTORY ${kinetic_cpp_client_BINARY_DIR}
    COMMENT "Running style checker" VERBATIM
)
+1 −1
Original line number Diff line number Diff line
@@ -733,7 +733,7 @@ WARN_LOGFILE = doxygen_warnings.log
# spaces.
# Note: If this tag is empty the current directory is searched.

INPUT                  = ./src ./include DoxygenMainPage.md
INPUT                  = @kinetic_cpp_client_SOURCE_DIR@/include @kinetic_cpp_client_SOURCE_DIR@/src @kinetic_cpp_client_BINARY_DIR@/src @kinetic_cpp_client_SOURCE_DIR@/DoxygenMainPage.md

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+2 −2
Original line number Diff line number Diff line
#!/bin/bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
DIR="@kinetic_cpp_client_SOURCE_DIR@/bin"

echo "Linting files"
find ./{src,include} \( -name "*.h" -o -name "*.cc" \) -type f | grep -v pb | xargs python $DIR/cpplint.py --root=src --header-guard-prefix=KINETIC_CPP_CLIENT --filter=-build/include,-whitespace/comments,-readability/streams,-runtime/references,-readability/casting,-runtime/arrays,-runtime/printf
find @kinetic_cpp_client_SOURCE_DIR@/{src,include} \( -name "*.h" -o -name "*.cc" \) -type f | grep -v pb | xargs python $DIR/cpplint.py --root=src --header-guard-prefix=KINETIC_CPP_CLIENT --filter=-legal/copyright,-build/include,-whitespace/comments,-readability/streams,-runtime/references,-readability/casting,-runtime/arrays,-runtime/printf
+2 −2
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ TEST_F(IntegrationTest, BlockingSmoketest) {
    EXPECT_EQ("t2", *(result_record->tag()));
    EXPECT_EQ(Command_Algorithm_SHA1, result_record->algorithm());

    unique_ptr<string> result_key(nullptr);
    unique_ptr<string> result_key;
    ASSERT_TRUE(blocking_connection_->GetNext("key1", result_key, result_record).ok());
    EXPECT_EQ("key2", *result_key);
    EXPECT_EQ("value2", *(result_record->value()));
@@ -80,7 +80,7 @@ TEST_F(IntegrationTest, BlockingSmoketest) {
    EXPECT_EQ("t2", *(result_record->tag()));
    EXPECT_EQ(Command_Algorithm_SHA1, result_record->algorithm());

    unique_ptr<string> result_version(nullptr);
    unique_ptr<string> result_version;
    ASSERT_TRUE(blocking_connection_->GetVersion("key3", result_version).ok());
    EXPECT_EQ("v3", *result_version);

Loading