Please consider adding more comments to the following bug, which seems close to what you are discussing: https://forge.ocamlcore.org/tracker/index.php?func=detail&aid=1473&group_id=54&atid=291 I must admit that I totally miss the whole point of the discussion, probably if you can make a summary of what you precisely need in the BTS, I will be able to understand the problem better. Regards Sylvain Le mer. 23 sept. 2015 à 11:44, Magnus Therning a écrit : > On Wed, Sep 23, 2015 at 11:19:57AM +0200, Gabriel Scherer wrote: > > > Indeed, the goal is to not contaminate the source directory *at all*. > > > > You could, in the "external build" command passed to CMake, wrap the > > build invocation with code to create the symlinks before the build, > > and remove them after the build. > > Yes, CMake lets me do pretty much anything, but it does make the build a > little more complex and I'm already sneaking in OCaml without telling ;) > > > That said, If I understand oasis' philosophy correctly (but I'm far > > from an expert), the file that are generated by the oasis setup are > > not to be understood as "generated files never to be looked at", but > > rather *source* files that you may want to modify and customize > > yourself, and just contain some snippets produced by oasis. I would > > understand this as a kind of "we created the basic boilerplate > > structure of your project for you", rather than "those are hidden > > files only used during the build". In particular, you may be expected > > to include these files in your version-control repository (something I > > have been a bit reluctant to do myself; I think that the newish > > "dynamic" setup mode of oasis avoids versioning any cruft). > > Yes, I am aware of that, and with "dynamic" mode `oasis` seems to > generate little enough that I wouldn't mind putting it in VCS. > > > > Since the steps work on "simple" > > > code, but doesn't on code using `camlp4` I'm leaning towards calling > > > this a bug. > > > > I'll let oasis developers triage this issue, but it is not as clear as > > you describe. It's not that this oasis setup works in simple cases and > > breaks in other, but rather than oasis does not support this setup at > > all, yet sometimes ocamlbuild can do what it needs without any help > > whatsoever. > > I tend to land in the camp of "if the behaviour is surprising (without > delighting) to a user, then it's a bug". I'm fully aware that what I'm > trying to do might not have been a scenario the `oasis` devs ever > considered. > > > ). But I like the idea and created a feature request to track > > it: > > http://caml.inria.fr/mantis/view.php?id=6997 > > Thanks, I'll keep an eye on that request. > > > But if you go this route, it means that you would have to wait for the > > next ocamlbuild release, so an oasis-level solution or workaround > > would currently be more helpful for you. > > For the time being I get by with using `ocamlbuild` (via `corebuild`) > and its `-build-dir` option. Hopefully there'll be more support for > out-of-source building when I get to the point of replacing all C code > with OCaml ;) > > /M > > -- > Magnus Therning OpenPGP: 0xAB4DFBA4 > email: magnus@therning.org jabber: magnus@therning.org > twitter: magthe http://therning.org/magnus > > You do not examine legislation in the light of the benefits it will > convey if properly administered, but in the light of the wrongs it > would do and the harms it would cause if improperly administered. > -- Lyndon Johnson >