File: CMakeLists.txt

package info (click to toggle)
rdma-core 61.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,124 kB
  • sloc: ansic: 176,798; python: 15,496; sh: 2,742; perl: 1,465; makefile: 73
file content (90 lines) | stat: -rw-r--r-- 2,106 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
publish_internal_headers(rdma
  rdma/bnxt_re-abi.h
  rdma/cxgb4-abi.h
  rdma/efa-abi.h
  rdma/erdma-abi.h
  rdma/hns-abi.h
  rdma/ib_user_ioctl_cmds.h
  rdma/ib_user_ioctl_verbs.h
  rdma/ib_user_mad.h
  rdma/ib_user_sa.h
  rdma/ib_user_verbs.h
  rdma/ionic-abi.h
  rdma/irdma-abi.h
  rdma/mana-abi.h
  rdma/mlx4-abi.h
  rdma/mlx5-abi.h
  rdma/mlx5_user_ioctl_cmds.h
  rdma/mlx5_user_ioctl_verbs.h
  rdma/mthca-abi.h
  rdma/ocrdma-abi.h
  rdma/qedr-abi.h
  rdma/rdma_netlink.h
  rdma/rdma_user_cm.h
  rdma/rdma_user_ioctl.h
  rdma/rdma_user_ioctl_cmds.h
  rdma/rdma_user_rxe.h
  rdma/rvt-abi.h
  rdma/siw-abi.h
  rdma/vmw_pvrdma-abi.h
  )

publish_internal_headers(rdma/hfi
  rdma/hfi/hfi1_ioctl.h
  rdma/hfi/hfi1_user.h
  )

publish_internal_headers(linux
  linux/stddef.h
  linux/vfio.h
  )

function(rdma_kernel_provider_abi)
  # Older versions of cmake do not create the output directory automatically
  set(DDIR "${BUILD_INCLUDE}/kernel-abi")
  rdma_make_dir("${DDIR}")

  set(HDRS "")
  foreach(IHDR ${ARGN})
    get_filename_component(FIL ${IHDR} NAME)
    set(OHDR "${DDIR}/${FIL}")
    set(HDRS ${HDRS} ${OHDR})
    add_custom_command(
      OUTPUT "${OHDR}"
      COMMAND "${PYTHON_EXECUTABLE}" "${PROJECT_SOURCE_DIR}/buildlib/make_abi_structs.py" "${IHDR}" "${OHDR}"
      MAIN_DEPENDENCY "${IHDR}"
      DEPENDS "${PROJECT_SOURCE_DIR}/buildlib/make_abi_structs.py"
      WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
      COMMENT "Creating ABI wrapper ${OHDR}"
      )
  endforeach()

  # This weird construction is needed to ensure ordering of the build.
  add_library(kern-abi STATIC kern-abi.c ${HDRS})
endfunction()

# Transform the kernel ABIs used by the providers
rdma_kernel_provider_abi(
  rdma/bnxt_re-abi.h
  rdma/cxgb4-abi.h
  rdma/efa-abi.h
  rdma/erdma-abi.h
  rdma/hns-abi.h
  rdma/ib_user_verbs.h
  rdma/ionic-abi.h
  rdma/irdma-abi.h
  rdma/mana-abi.h
  rdma/mlx4-abi.h
  rdma/mlx5-abi.h
  rdma/mthca-abi.h
  rdma/ocrdma-abi.h
  rdma/qedr-abi.h
  rdma/rdma_user_rxe.h
  rdma/siw-abi.h
  rdma/vmw_pvrdma-abi.h
  )

publish_headers(infiniband
  rdma/ib_user_ioctl_verbs.h
  )