aboutsummaryrefslogtreecommitdiffstats
path: root/bindings/ocaml/backends/CMakeLists.txt
blob: a98063895d7c4556801c3adae871b45d5e24411d (plain)
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
foreach(TARGET ${LLVM_TARGETS_TO_BUILD})
  set(OCAML_LLVM_TARGET ${TARGET})

  foreach( ext ml mli )
    configure_file(
        "${CMAKE_CURRENT_SOURCE_DIR}/llvm_backend.${ext}.in"
        "${CMAKE_CURRENT_BINARY_DIR}/llvm_${TARGET}.${ext}")
  endforeach()

  configure_file(
    "${CMAKE_CURRENT_SOURCE_DIR}/backend_ocaml.c"
    "${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_ocaml.c")

  add_ocaml_library(llvm_${TARGET}
    OCAML    llvm_${TARGET}
    C        ${TARGET}_ocaml
    CFLAGS   -DTARGET=${TARGET}
    LLVM     ${TARGET}
    NOCOPY)

  configure_file(
    "${CMAKE_CURRENT_SOURCE_DIR}/META.llvm_backend.in"
    "${LLVM_LIBRARY_DIR}/ocaml/META.llvm_${TARGET}")

  install(FILES "${LLVM_LIBRARY_DIR}/ocaml/META.llvm_${TARGET}"
          DESTINATION lib/ocaml)
endforeach()