Bonsoir,

Question sans doute déjà posée mais j'aimerais savoir comment construire un fichier CMake pour compiler à la fois du C++ et du Ocaml sachant que le second a besoin des fichiers .o générés par le premier lors de l'édition de liens

tout cela inspiré par cet article

donc 2 modes de compilation :

ocamlc :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
//Une compilation C++ standard (en précisant tout de même le chemin pour //les entête ocaml) : 
 
g++ -o cmds.o -I/usr/local/lib/ocaml/caml/ -c cmds.c
 
//La compilation ocaml pour fabriquer lescmds.cmi et lescmds.cmo :
 
ocamlc -c lescmds.ml
 
//et enfin, l'édition de liens :
 
ocamlmktop -custom -cc "g++" -o test lescmds.cmo cmds.o
et ocamlopt (natif) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
//Pour changer, on décide d'utiliser ocamlopt (compilateur en code natif) //plutôt que ocamlc qui produit du bytecode. On va donc construire //lescmds.cmx
 
ocamlopt -cc "g++" -c lescmds.ml
 
//On utilise le même fichier C/C++ que précédemment
 
ocamlopt -cc "g++" -o test2 lescmds.cmx cmds.o
si j'ai bien compris, CMake ne propos rien pour Ocaml donc tout se fait par add_custom_command ?