Build multiple OCaml executables in one Dune Project
Create a dune project
Follow these steps to create a new dune project if you don't already have one.
First, initiate the project structure.
dune init project foo
It will create a project structure like this
-
The bin folder contains the source file for the main executable
main.ml
the
bin/dune
file has the build instruction for the executable, it'll look something like this.(executable (public_name foo) (name main) (libraries foo))
Adding Support to build multiple executables
Let's see how to add support to build another executable called bar, which we'll write in the file called
bar.ml
.First, create a file called
bar.ml
in thebin
directory.Then you can update the
bin/dune
file support multiple executables like below.(executables (public_names foo bar) (name main bar) (libraries foo))
Build and run the different executable
You can use the following commands to run the different executables.
dune exec ./bin/main.exe
dune exec ./bin/bar.exe
To build you can run following
dune build ./bin/main.exe
dune build ./bin/bar.exe
To run the built executables
./_build/default/bin/main.exe
./_build/default/bin/bar.exe
Subscribe to my newsletter
Read articles from Bhanuka Mallawaarachchi directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by