Commit 4b50e03c authored by David Bariod's avatar David Bariod
Browse files

Support for out of source build

parent 87785c82
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -45,7 +45,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")
@@ -152,12 +152,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 +187,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 +258,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