9 Commits

Author SHA1 Message Date
William Ayd
b9d014d30f GH-45589: [C++] Enable singular test in Meson configuration (#45596)
### Rationale for this change

Adding this singular test helps us make incremental progress on Meson as a build system generator

### What changes are included in this PR?

A single array-test for libarrow is being added

### Are these changes tested?

Yes - see CI

### Are there any user-facing changes?

No - this is only for developers
* GitHub Issue: #45589

Authored-by: Will Ayd <william.ayd@icloud.com>
Signed-off-by: Will Ayd <william.ayd@icloud.com>
2025-03-12 10:46:03 -04:00
Will Jones
34b860463d ARROW-11938: [R] Enable R build process to find locally built C++ library on Windows
## Changes

- [x] Allow Windows R build to detect ARROW_HOME variable and use those binaries
- [x] Get Windows R build working with static libraries and RTools 4.0
- [x] Get Windows R build working with dynamic libraries ~~and older RTools~~.
- [x] Update [R developer documentation](https://arrow.apache.org/docs/r/articles/developing.html) to include Windows instructions

Closes #11644 from wjones127/ARROW-11938-r-windows-local-build

Authored-by: Will Jones <willjones127@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
2021-11-17 11:25:24 -06:00
Pradeep Garigipati
21c514adee ARROW-14678: [C++] Add reasonable CMake presets for quick dev setup
Run the following command for cpp builds to see list of presets available.

```bash
cmake --list-presets ..
```

Run the following command to setup build folder.
```bash
cmake --preset <chosen-preset-name> ..
```

Note that, we can still pass the regular `-D<OPTION>=<VALUE` style arguments when using presets. Presets require a minimum CMake version of 3.19. One doesn't need to use presets, they just provide a convenience if the user feasible CMake version.

This is not a comprehensive list by any means, but only a starter based on what I have been building in arrow repository. If there are given list of most used combinations, please suggest and I can add accordingly. The reason I added `ninja` prefix to current presets is different any potential `make` or `msvc` generators we might add later.

Shown below is the first few lines of sample output of CMake command with presets, it shows the CMake options set by the chosen preset.
```bash
Preset CMake variables:

  ARROW_BUILD_BENCHMARKS:BOOL="OFF"
  ARROW_BUILD_TESTS:BOOL="ON"
  ARROW_COMPUTE:BOOL="ON"
  ARROW_CSV:BOOL="ON"
  ARROW_CUDA="ON"
  ARROW_DATASET:BOOL="OFF"
  ARROW_FILESYSTEM:BOOL="ON"
  ARROW_GANDIVA:BOOL="OFF"
  ARROW_GANDIVA_JAVA:BOOL="OFF"
  ARROW_GANDIVA_JNI:BOOL="OFF"
  ARROW_IPC:BOOL="ON"
  ARROW_PARQUET:BOOL="OFF"
  ARROW_PLASMA_JAVA_CLIENT:BOOL="OFF"
  ARROW_PYTHON:BOOL="ON"
  ARROW_SKYHOOK:BOOL="OFF"
  ARROW_WITH_RE2:BOOL="ON"
  CMAKE_BUILD_TYPE:STRING="Debug"
  CMAKE_INSTALL_PREFIX:PATH="/home/pradeep/arrow/cpp/build/ninja-debug-cuda/pkg"

-- Building using CMake version: 3.21.4

```

Closes #11689 from 9prady9/ARROW-14678-Add-reasonable-CMake-Presets-for-quick-a

Lead-authored-by: Pradeep Garigipati <pradeep.garigipati@gmail.com>
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
2021-11-15 14:55:54 +09:00
Neal Richardson
0a56512f67 ARROW-11612: [C++] Rebuild trimmed boost bundle for 1.75.0
The trimmed bundle has been uploaded to the GitHub release, and I have confirmed locally downloading and building with it. The resulting package is slightly larger than we had before, even though I removed boost::regex and some headers that Thrift depended on before, because I added boost/process.hpp, which some tests appear to use (cf. ARROW-8771).

Closes #9666 from nealrichardson/trim-boost-1.75

Authored-by: Neal Richardson <neal.p.richardson@gmail.com>
Signed-off-by: Neal Richardson <neal.p.richardson@gmail.com>
2021-03-09 18:40:49 -08:00
Hongze Zhang
d25660ed5f ARROW-7808: [Java][Dataset] Implement Dataset Java API by JNI to C++
Add following Datasets APIs to Java:

- DatasetFactory
- Dataset
- Scanner
- ScanTask
- ScanTask.BatchIterator

Add a native dataset path to bridge c++ Datasets components to Java:

- NativeDatasetFactory (c++ class : DatasetFactory)
- NativeDataset (c++ class: Dataset)
- NativeScanner (c++ class: DisposableScannerAdaptor)

Following c++ components are not JNI-mapped to keep the initial implementation simple:

- Fragment
- ScanTask
- (arrow::)RecordBatchIterator

Add following API to `FileSystemDatasetFactory` to avoid passing file system objects via JNI bridge:

- `FileSystemDatasetFactory::Make( std::string uri, std::shared_ptr<FileFormat> format, FileSystemFactoryOptions options)`

Unit tests are based on `FileSystemDatasetFactory`.

Closes #7030 from zhztheplayer/ARROW-7808

Authored-by: Hongze Zhang <hongze.zhang@intel.com>
Signed-off-by: Micah Kornfield <emkornfield@gmail.com>
2021-02-09 08:59:00 -08:00
Li, Jiajia
d6b81e0f6d ARROW-7590: [C++] Don't ignore managed files in thirdparty
Fix https://issues.apache.org/jira/browse/ARROW-7590

Closes #6211 from plusplusjiajia/fix-gitignore and squashes the following commits:

84d662ade <Li, Jiajia> Thridparty install to build dir.
92afad62d <Li, Jiajia> Update .gitignore for thirdparty.

Authored-by: Li, Jiajia <jiajia.li@intel.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
2020-01-17 14:35:51 +09:00
Wes McKinney
ed54dce64a ARROW-1253: [C++/Python] Speed up C++ / Python builds by using conda-forge toolchain for thirdparty libraries
@pcmoritz I removed the travis_script_plasma.sh and combined the common bits with travis_script_python.sh; it seemed like there was some redundant work and would be easier to test everything in a single build. Let me know if I messed something up

Author: Wes McKinney <wes.mckinney@twosigma.com>

Closes #884 from wesm/ARROW-1253 and squashes the following commits:

30a13ee3 [Wes McKinney] Formatting
28bc6be8 [Wes McKinney] Run unit tests from installed library
fcf7940d [Wes McKinney] Prevent existing LD_LIBRARY_PATH from being blown away
c67bb68b [Wes McKinney] Speed up C++ / Python builds by using conda-forge toolchain to avoid rebuilding EPs. Use ninja for builds when using toolchain
2017-07-25 13:13:56 -04:00
Dan Robinson
5843e6872f ARROW-103: Add files to gitignore
Patches [ARROW-103](https://issues.apache.org/jira/browse/ARROW-103), though perhaps it would make sense to leave that issue open to cover any future .gitignore-related pull requests.

Author: Dan Robinson <danrobinson010@gmail.com>

Closes #62 from danrobinson/ARROW-103 and squashes the following commits:

7c1c7d8 [Dan Robinson] ARROW-103: Added '*-build' to cpp/.gitignore
633bacf [Dan Robinson] ARROW-103: Added '.cache' to python/.gitignore
59f58ba [Dan Robinson] ARROW-103: Add '*.dylib to python/.gitignore'
52572ab [Dan Robinson] ARROW-103: Add 'dev-build/' to cpp/.gitignore
2016-04-17 15:25:39 +02:00
Wes McKinney
23c4b08d15 ARROW-4: This provides an partial C++11 implementation of the Apache Arrow data structures along with a cmake-based build system. The codebase generally follows Google C++ style guide, but more cleaning to be more conforming is needed. It uses googletest for unit testing.
Feature-wise, this patch includes:

* A small logical data type object model
* Immutable array accessor containers for fixed-width primitive and list types
* A String array container implemented as a List<byte>
* Builder classes for the primitive arrays and list types
* A simple memory management model using immutable and immutable buffers and
  C++ RAII idioms
* Modest unit test coverage for the above features.
2016-02-17 04:39:03 -08:00