On 11/16/2011 04:13 AM, Stefan Monnier wrote: >>> I'd still like to know how to explain to cmake that the command produces >>> 2 files, but at least I can get rid of my hack. >> That (assuming just a simple object file is produced by compilation) >> is one of several general limitations with CMake language support. For >> example, my understanding is this issue has been taken care of for >> Fortran 95 (where compilation produces both object and module files) >> with Fortran-95 specific changes to the C++ cmake code. But I would far >> prefer to see a generic mechanism for this to not only to deal with >> the Fortran 95 module issue, but also the compilation-generated Ada >> library identification (*.ali) files, and also the similar issue for >> OCaml compiler generated files that you have described. > > Hmm... > >> Because of this and other struggles I had trying to implement Ada >> language support for CMake, I didn't even consider implementing CMake >> language support for OCaml for the PLplot OCaml bindings. Instead we >> currently use (many!) custom commands and targets for that case, but >> I would be happy to change to your CMake OCaml language support >> if/when that works. > > I'm trying to use CMake for a new project here. This project (a new > programming language, whose first implementation is in OCaml) is > currently in the very first stages (I have barely more than the lexer > written) and doesn't require anything sophisticated (there's only > 1 OCaml file for now ;-). So my "language support" is very primitive > and rather than fight CMake, I'll probably just switch to something > else :-(
In addition to custom commands/targets, as suggested meanwhile by Alan and Bill, you might also use the diverse RULE_LAUNCH properties. These allow to take arbitrary actions at build time, and you may grant them access to the placeholders used in rule variables, like <SOURCE> and <OBJECT>, so it should be well possible to address the OCaml-related issues you have reported on. Search the ML's archive for examples of these properties' usage. However, they are currently restricted to Makefiles, but your CMAKE_OCaml_COMPILE_OBJECT rule is too, AFAIK. Regards, Michael -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
