Commits

Wes McKinney authored 804502f941f
ARROW-3184: [C++] Enable modular builds and installs with ARROW_OPTIONAL_INSTALL option. Remove ARROW_GANDIVA_BUILD_TESTS Apparently CMake really does not want you to do `make $TARGET install` out of the box; I searched various threads about this and there's no great solutions. For expert users, this provides that option of installing only targets that have been built, while others will be ignored. Because the possibility of users shooting themselves in the foot is so high with this, it doesn't make sense to enable by default. In the hands of an expert though, this can significantly reduce build times and make it possible to build libraries and unit tests for only a part of the project, then only install those libraries. This will install all header files regardless of what libraries are built; I didn't see any easy way to work that out since you have to have knowledge of what headers are used by what library. Resolves ARROW-3994 Author: Wes McKinney <wesm+git@apache.org> Closes #3172 from wesm/ARROW-3184 and squashes the following commits: 583a916e0 <Wes McKinney> plasma_store_server requires static libraries 3c2a21ea1 <Wes McKinney> Add plasma_store_server to 'plasma' target 85fda6419 <Wes McKinney> Build plasma again in Python build for now 1b3ac57dc <Wes McKinney> Fix multiline comment in CMake d3ce84c4e <Wes McKinney> More option reorg b6630605c <Wes McKinney> Reorganize CMake options a bit more logically. Add more explicit warning about ARROW_OPTIONAL_INSTALL 262058b2f <Wes McKinney> Do not build Gandiva JNI bindings by default 918fdb371 <Wes McKinney> Fix ARROW_TEST_INCLUDE_LABELS option to actually work 578bc58f5 <Wes McKinney> Use GLOB instead of GLOB_RECURSE daaafa214 <Wes McKinney> Misc fixes a84643d6e <Wes McKinney> Fix header install option f899bdd99 <Wes McKinney> Work around ARROW-4026 via environment variable for now 001a3ad57 <Wes McKinney> Pass in ARROW_TEST_INCLUDE_LABELS via environment variable a1df9ab3d <Wes McKinney> Clarify documentation 2eca8a740 <Wes McKinney> Enable modular builds and install with ARROW_OPTIONAL_INSTALL option. Remove ARROW_GANDIVA_BUILD_TESTS. Add helper function for installing header files. Build fewer targets using these options in some Travis CI jobs