@@ -102,6 +102,7 @@ OPTION(ENABLE_INTEGRATION_TEST "Enable integration tests" OFF)
102
102
MESSAGE (STATUS "🔧 Enable integration tests: ${ENABLE_INTEGRATION_TEST} " )
103
103
OPTION (ENABLE_INTEGRATION_TEST "Creates json_reader target and enable integration tests" OFF )
104
104
OPTION (CREATE_JSON_READER_TARGET "Create json_reader target, automatically set when ENABLE_INTEGRATION_TEST is ON" OFF )
105
+ OPTION (TRACK_COPIES, "Track copies in tests" OFF )
105
106
106
107
if (ENABLE_INTEGRATION_TEST)
107
108
set (CREATE_JSON_READER_TARGET ON )
@@ -181,6 +182,11 @@ if(SPARROW_CONTRACTS_THROW_ON_FAILURE)
181
182
list (APPEND SPARROW_COMPILE_DEFINITIONS SPARROW_CONTRACTS_THROW_ON_FAILURE=1)
182
183
endif ()
183
184
185
+ if (TRACK_COPIES)
186
+ message (STATUS "Tracking copies in tests" )
187
+ list (APPEND SPARROW_COMPILE_DEFINITIONS SPARROW_TRACK_COPIES)
188
+ endif ()
189
+
184
190
# Build
185
191
# =====
186
192
set (BINARY_BUILD_DIR "${CMAKE_BINARY_DIR} /bin/${CMAKE_BUILD_TYPE} " )
@@ -227,6 +233,9 @@ set(SPARROW_HEADERS
227
233
${SPARROW_INCLUDE_DIR} /sparrow/config/config.hpp
228
234
${SPARROW_INCLUDE_DIR} /sparrow/config/sparrow_version.hpp
229
235
236
+ # debug
237
+ ${SPARROW_INCLUDE_DIR} /sparrow/debug/copy_tracker.hpp
238
+
230
239
# detail
231
240
${SPARROW_INCLUDE_DIR} /sparrow/details/3rdparty/float16_t.hpp
232
241
@@ -323,6 +332,7 @@ set(SPARROW_SRC
323
332
${SPARROW_SOURCE_DIR} /arrow_interface/arrow_array_schema_proxy.cpp
324
333
${SPARROW_SOURCE_DIR} /arrow_interface/arrow_schema.cpp
325
334
${SPARROW_SOURCE_DIR} /arrow_interface/private_data_ownership.cpp
335
+ ${SPARROW_SOURCE_DIR} /debug/copy_tracker.cpp
326
336
${SPARROW_SOURCE_DIR} /layout/array_factory.cpp
327
337
${SPARROW_SOURCE_DIR} /layout/array_helper.cpp
328
338
${SPARROW_SOURCE_DIR} /layout/fixed_width_binary_array_utils.cpp
0 commit comments