aboutsummaryrefslogtreecommitdiffstats
path: root/bindings/ocaml/backends/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/ocaml/backends/CMakeLists.txt')
-rw-r--r--bindings/ocaml/backends/CMakeLists.txt27
1 files changed, 27 insertions, 0 deletions
diff --git a/bindings/ocaml/backends/CMakeLists.txt b/bindings/ocaml/backends/CMakeLists.txt
new file mode 100644
index 0000000..a980638
--- /dev/null
+++ b/bindings/ocaml/backends/CMakeLists.txt
@@ -0,0 +1,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()