https://github.com/apache/arrow/blob/apache-arrow-4.0.0/docs/source/developers/cpp/building.rst
Minimal debug build with unit tests:
git clone https://github.com/apache/arrow.git cd arrow/cpp mkdir debug cd debug cmake -DCMAKE_BUILD_TYPE=Debug -DARROW_BUILD_TESTS=ON .. make -j
# find ./ -name "*-test" ./debug/arrow-public-api-test ./debug/arrow-arrow-jniutil-test ./debug/arrow-io-compressed-test ./debug/arrow-extension-type-test ./debug/arrow-io-buffered-test ./debug/arrow-misc-test ./debug/arrow-stl-test ./debug/arrow-io-file-test ...Build Test with ORC
cmake -DCMAKE_BUILD_TYPE=Debug -DARROW_BUILD_TESTS=ON -DARROW_ORC=ON -DARROW_COMPUTE=ON -DARROW_DATASET=ON ..Build Test with Parquet
cmake -DCMAKE_BUILD_TYPE=Debug -DARROW_BUILD_TESTS=ON -DARROW_PARQUET=ON -DARROW_COMPUTE=ON -DARROW_DATASET=ON ..
# Adding unit tests part of the "dataset" portion of the test suite
function(ADD_ARROW_DATASET_TEST REL_TEST_NAME)
set(options)
set(one_value_args PREFIX)
set(multi_value_args LABELS)
cmake_parse_arguments(ARG
"${options}"
"${one_value_args}"
"${multi_value_args}"
${ARGN})
if(ARG_PREFIX)
set(PREFIX ${ARG_PREFIX})
else()
set(PREFIX "arrow-dataset")
endif()
if(ARG_LABELS)
set(LABELS ${ARG_LABELS})
else()
set(LABELS "arrow_dataset")
endif()
add_arrow_test(${REL_TEST_NAME}
EXTRA_LINK_LIBS
${ARROW_DATASET_TEST_LINK_LIBS}
PREFIX
${PREFIX}
LABELS
${LABELS}
${ARG_UNPARSED_ARGUMENTS})
endfunction()
if(ARROW_PARQUET) add_arrow_dataset_test(file_parquet_test) endif()
# ./debug/arrow-dataset-file-parquet-test Running main() from /home/shen/software/googletest/googletest/src/gtest_main.cc [==========] Running 19 tests from 2 test suites. [----------] Global test environment set-up. [----------] 15 tests from TestParquetFileFormat [ RUN ] TestParquetFileFormat.ScanRecordBatchReader [ OK ] TestParquetFileFormat.ScanRecordBatchReader (99 ms) [ RUN ] TestParquetFileFormat.ScanRecordBatchReaderDictEncoded [ OK ] TestParquetFileFormat.ScanRecordBatchReaderDictEncoded (611 ms) [ RUN ] TestParquetFileFormat.ScanRecordBatchReaderPreBuffer [ OK ] TestParquetFileFormat.ScanRecordBatchReaderPreBuffer (78 ms)Build Benchmark
cmake -DCMAKE_BUILD_TYPE=Debug -DARROW_BUILD_TESTS=ON -DARROW_BUILD_BENCHMARKS=ON -DARROW_JEMALLOC=OFF -DARROW_PARQUET=ON -DARROW_COMPUTE=ON -DARROW_DATASET=ON ..Build Type
# compiler flags for different build types (run 'cmake -DCMAKE_BUILD_TYPE=暑期编程PK赛 得CSDN机械键盘等精美礼品!.') # For all builds: # For CMAKE_BUILD_TYPE=Debug # -ggdb: Enable gdb debugging # For CMAKE_BUILD_TYPE=FastDebug # Same as DEBUG, except with some optimizations on. # For CMAKE_BUILD_TYPE=Release # -O3: Enable all compiler optimizations # Debug symbols are stripped for reduced binary size. Add # -DARROW_CXXFLAGS="-g" to add them



