This is an automated email from the ASF dual-hosted git repository.

kou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new 40f9c2616b GH-42109: [C++][CMake] Add preset for Valgrind (#42110)
40f9c2616b is described below

commit 40f9c2616b6fb7868cdd6a26ddd4a59b80ce52ac
Author: Sutou Kouhei <[email protected]>
AuthorDate: Thu Jun 13 18:04:31 2024 +0900

    GH-42109: [C++][CMake] Add preset for Valgrind (#42110)
    
    ### Rationale for this change
    
    If we want to use Valgrind for our tests, we need to specify at least the 
following CMake options:
    
    * `ARROW_RUNTIME_SIMD_LEVEL=AVX2`
    * `ARROW_TEST_MEMCHECK=ON`
    
    If we have a CMake preset for Valgrind, we don't need to remember them.
    
    ### What changes are included in this PR?
    
    Add `features-valgrind` and `ninja-debug-valgrind` preset. 
`features-valgrind` is a hidden preset.
    
    ### Are these changes tested?
    
    Yes. I used this to reproduce #42107 on local.
    
    ### Are there any user-facing changes?
    
    No.
    * GitHub Issue: #42109
    
    Authored-by: Sutou Kouhei <[email protected]>
    Signed-off-by: Sutou Kouhei <[email protected]>
---
 cpp/CMakePresets.json | 50 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 49 insertions(+), 1 deletion(-)

diff --git a/cpp/CMakePresets.json b/cpp/CMakePresets.json
index 13d1241990..cb4cdfc03a 100644
--- a/cpp/CMakePresets.json
+++ b/cpp/CMakePresets.json
@@ -220,6 +220,14 @@
         "PARQUET_REQUIRE_ENCRYPTION": "ON"
       }
     },
+    {
+      "name": "features-valgrind",
+      "hidden": true,
+      "cacheVariables": {
+        "ARROW_RUNTIME_SIMD_LEVEL": "AVX2",
+        "ARROW_TEST_MEMCHECK": "ON"
+      }
+    },
     {
       "name": "ninja-debug-minimal",
       "inherits": [
@@ -331,6 +339,46 @@
       "displayName": "Debug build with everything enabled (except benchmarks)",
       "cacheVariables": {}
     },
+    {
+      "name": "ninja-debug-valgrind-basic",
+      "inherits": [
+        "base-debug",
+        "features-basic",
+        "features-valgrind"
+      ],
+      "displayName": "Debug build for Valgrind with reduced dependencies",
+      "cacheVariables": {}
+    },
+    {
+      "name": "ninja-debug-valgrind",
+      "inherits": [
+        "base-debug",
+        "features-main",
+        "features-valgrind"
+      ],
+      "displayName": "Debug build for Valgrind with more optional components",
+      "cacheVariables": {}
+    },
+    {
+      "name": "ninja-debug-valgrind-minimal",
+      "inherits": [
+        "base-debug",
+        "features-minimal",
+        "features-valgrind"
+      ],
+      "displayName": "Debug build for Valgrind without anything enabled",
+      "cacheVariables": {}
+    },
+    {
+      "name": "ninja-debug-valgrind-maximal",
+      "inherits": [
+        "base-debug",
+        "features-maximal",
+        "features-valgrind"
+      ],
+      "displayName": "Debug build for Valgrind with everything enabled",
+      "cacheVariables": {}
+    },
     {
       "name": "ninja-release-minimal",
       "inherits": [
@@ -491,4 +539,4 @@
       }
     }
   ]
-}
\ No newline at end of file
+}

Reply via email to