[CMake] Building a MS COM Dll with Cmake

Steven Velez sbv1976 at gmail.com
Thu Jun 30 16:58:48 EDT 2011


Since no one has yet replied, I will comment that this workflow is
much like what Qt does with the moc (meta-object-compiler) and uic
tools.  Looking at the FindQt4.cmake and the referenced
Qt4Macros.cmake  files, it seems like these could provide some
examples to follow...

... though its true they are not structured for instruction.

Steven

On Thu, Jun 30, 2011 at 5:17 AM, Gerhard Gappmeier
<gerhard.gappmeier at ascolab.com> wrote:
> Hi
>
> I'm working on a project which is completely portable,
> except of one COM wrapper Dll which should be built only on windows.
>
> To be consistent with the other parts I also want to build this COM Dll
> using CMake
> like I do we the rest of the project.
>
> However I don't know how to do this "MS magic" with CMake.
>
> 1.) How do I add a MIDL buildstep?
> VS normally creates a Typelibrary (TLB) from the IDL file
> and links this as resource into the DLL.
> This is necesarry later on for Dll registration.
>
> 2.) Also the <foo>_i.c and <foo>.h files are generated from <foo>.idl by the
> midl compiler
> which must be compiled with the project.
>
> 3.) There are additional rgs-files (registry resources) to add.
> How do I do that?
>
> 4.) Also the version info must be compiled into the dll. Based on a .rc file
> which includes all vendor info.
> So set_target_properties VERSION would not be sufficient.
>
> It would be great if somebody has an example for a simple COM Dll project.
> I hope this is possible.
>
> --
> mit freundlichen Grüßen / best regards
>
> Gerhard Gappmeier
> ascolab GmbH - automation systems communication laboratory
> Tel.: +49 9131 691 123
> Fax: +49 9131 691 128
> Web: http://www.ascolab.com
> GPG-KeyId: 5AAC50C4
> GPG-Fingerprint: 967A 15F1 2788 164D CCA3 6C46 07CD 6F82 5AAC 50C4
>
> --
> ascolab GmbH
> Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß
> Sitz der Gesellschaft: Am Weichselgarten 7 • 91058 Erlangen • Germany
> Registernummer: HRB 9360
> Registergericht: Amtsgericht Fürth
>
> _______________________________________________
> 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
>


More information about the CMake mailing list