Repository: arrow Updated Branches: refs/heads/master 49f666e74 -> 1c101ffe0
ARROW-636: [C++] Update README about Boost system requirement Author: Wes McKinney <[email protected]> Closes #386 from wesm/ARROW-636 and squashes the following commits: 2dd3052 [Wes McKinney] Update README about Boost system requirement Project: http://git-wip-us.apache.org/repos/asf/arrow/repo Commit: http://git-wip-us.apache.org/repos/asf/arrow/commit/1c101ffe Tree: http://git-wip-us.apache.org/repos/asf/arrow/tree/1c101ffe Diff: http://git-wip-us.apache.org/repos/asf/arrow/diff/1c101ffe Branch: refs/heads/master Commit: 1c101ffe0e7a92e1fc251f9335081e64aada8b26 Parents: 49f666e Author: Wes McKinney <[email protected]> Authored: Thu Mar 16 14:17:50 2017 -0400 Committer: Wes McKinney <[email protected]> Committed: Thu Mar 16 14:17:50 2017 -0400 ---------------------------------------------------------------------- cpp/README.md | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/arrow/blob/1c101ffe/cpp/README.md ---------------------------------------------------------------------- diff --git a/cpp/README.md b/cpp/README.md index 542a854..51f1f06 100644 --- a/cpp/README.md +++ b/cpp/README.md @@ -14,13 +14,33 @@ # Arrow C++ -## Setup Build Environment +## System setup Arrow uses CMake as a build configuration system. Currently, it supports in-source and out-of-source builds with the latter one being preferred. -Arrow requires a C++11-enabled compiler. On Linux, gcc 4.8 and higher should be -sufficient. +Build Arrow requires: + +* A C++11-enabled compiler. On Linux, gcc 4.8 and higher should be sufficient. +* CMake +* Boost + +On Ubuntu/Debian you can install the requirements with: + +```shell +sudo apt-get install cmake \ + libboost-dev \ + libboost-filesystem-dev \ + libboost-system-dev +``` + +On OS X, you can use [Homebrew][1]: + +```shell +brew install boost cmake +``` + +## Building Arrow Simple debug build: @@ -50,7 +70,6 @@ and benchmarks or `make runbenchmark` to run only the benchmark tests. Benchmark logs will be placed in the build directory under `build/benchmark-logs`. - ### Third-party environment variables To set up your own specific build toolchain, here are the relevant environment @@ -86,10 +105,12 @@ build failures by running the following checks before submitting your pull reque Note that the clang-tidy target may take a while to run. You might consider running clang-tidy separately on the files you have added/changed before invoking the make target to reduce iteration time. Also, it might generate warnings -that aren't valid. To avoid these you can use add a line comment `// NOLINT`. If -NOLINT doesn't suppress the warnings, you add the file in question to -the .clang-tidy-ignore file. This will allow `make check-clang-tidy` to pass in +that aren't valid. To avoid these you can use add a line comment `// NOLINT`. If +NOLINT doesn't suppress the warnings, you add the file in question to +the .clang-tidy-ignore file. This will allow `make check-clang-tidy` to pass in travis-CI (but still surface the potential warnings in `make clang-tidy`). Ideally, both of these options would be used rarely. Current known uses-cases whent hey are required: * Parameterized tests in google test. + +[1]: https://brew.sh/ \ No newline at end of file
