@@ -27,6 +27,8 @@ set(NANOARROW_VERSION_MAJOR "${nanoarrow_VERSION_MAJOR}")
27
27
set (NANOARROW_VERSION_MINOR "${nanoarrow_VERSION_MINOR} " )
28
28
set (NANOARROW_VERSION_PATCH "${nanoarrow_VERSION_PATCH} " )
29
29
30
+ include (GNUInstallDirs)
31
+
30
32
# General options
31
33
option (NANOARROW_NAMESPACE "A prefix for exported symbols" OFF )
32
34
@@ -77,8 +79,10 @@ endif()
77
79
78
80
add_library (nanoarrow_coverage_config INTERFACE )
79
81
install (TARGETS nanoarrow_coverage_config
80
- DESTINATION lib
81
- EXPORT nanoarrow-exports)
82
+ EXPORT nanoarrow-exports
83
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
84
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
85
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
82
86
83
87
if (NANOARROW_CODE_COVERAGE)
84
88
target_compile_options (nanoarrow_coverage_config INTERFACE -O0 -g --coverage)
@@ -186,8 +190,10 @@ if(NANOARROW_IPC)
186
190
PUBLIC $<BUILD_INTERFACE:${NANOARROW_FLATCC_INCLUDE_DIR} >
187
191
$<INSTALL_INTERFACE:include >)
188
192
install (TARGETS flatccrt
189
- DESTINATION lib
190
- EXPORT nanoarrow-exports)
193
+ EXPORT nanoarrow-exports
194
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
195
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
196
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
191
197
192
198
elseif (NOT NANOARROW_FLATCC_ROOT_DIR)
193
199
add_library (flatccrt STATIC IMPORTED )
@@ -240,7 +246,10 @@ if(NANOARROW_IPC)
240
246
$<BUILD_INTERFACE:${NANOARROW_IPC_FLATCC_INCLUDE_DIR} >
241
247
$<INSTALL_INTERFACE:include >)
242
248
243
- install (TARGETS nanoarrow_ipc DESTINATION lib)
249
+ install (TARGETS nanoarrow_ipc
250
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
251
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
252
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
244
253
install (FILES src/nanoarrow/nanoarrow_ipc.h src/nanoarrow/nanoarrow_ipc.hpp
245
254
src/nanoarrow/ipc/flatcc_generated.h DESTINATION include /nanoarrow)
246
255
install (FILES src/nanoarrow/hpp/array_stream.hpp
@@ -303,8 +312,10 @@ if(NANOARROW_DEVICE)
303
312
target_include_directories (nanoarrow_metal_impl
304
313
PRIVATE ${NANOARROW_DEVICE_INCLUDE_METAL} )
305
314
install (TARGETS nanoarrow_metal_impl
306
- DESTINATION lib
307
- EXPORT nanoarrow-exports)
315
+ EXPORT nanoarrow-exports
316
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
317
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
318
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
308
319
309
320
set (NANOARROW_DEVICE_SOURCES_METAL src/nanoarrow/device/metal.cc)
310
321
set (NANOARROW_DEVICE_DEFS_METAL "NANOARROW_DEVICE_WITH_METAL" )
@@ -359,8 +370,10 @@ if(NANOARROW_TESTING
359
370
360
371
add_subdirectory ("thirdparty/nlohmann_json" )
361
372
install (TARGETS nlohmann_json
362
- DESTINATION lib
363
- EXPORT nanoarrow-exports)
373
+ EXPORT nanoarrow-exports
374
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
375
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
376
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
364
377
365
378
add_library (nanoarrow_testing src/nanoarrow/testing/testing.cc)
366
379
target_include_directories (nanoarrow_testing
@@ -405,8 +418,10 @@ foreach(target
405
418
406
419
# Ensure target is added to nanoarrow-exports
407
420
install (TARGETS ${target}
408
- DESTINATION lib
409
- EXPORT nanoarrow-exports)
421
+ EXPORT nanoarrow-exports
422
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
423
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
424
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
410
425
411
426
# For debug builds, ensure we aggressively set compiler warning flags and
412
427
# error for any compiler warnings
@@ -701,7 +716,6 @@ endif()
701
716
702
717
# Generate package files for the build and install trees.
703
718
include (CMakePackageConfigHelpers)
704
- include (GNUInstallDirs)
705
719
706
720
foreach (tree_type BUILD INSTALL )
707
721
if (tree_type STREQUAL "BUILD" )
0 commit comments