CMake dependencies

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7651.59">
<TITLE>CMake dependencies</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Hi,</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">I have a problem with cmake dependencies on some files.</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">For example CompletionProcessor.cxx:</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">C:/svn/MC21/trunk/orocos/corelib/events/current/src/CompletionProcessor.cxx</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/pkgconf/corelib_events.h</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/pkgconf/corelib_reporting.h</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/pkgconf/os.h</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/pkgconf/system.h</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/ActionInterface.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/ActivityInterface.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/AssignCommand.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/AtomicQueue.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/AttributeBase.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/BufferPolicy.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/CommandInterface.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/CompletionProcessor.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/DataObjectInterfaces.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/DataSource.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/DataSource.inl</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/DataSourceAdaptor.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/DataSourceBase.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/DataSourceTypeInfo.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/DataSourceTypeInfo.inl</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/EventProcessor.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/Handle.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/Logger.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/Logger.inl</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/NA.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/NonPeriodicActivity.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/RunnableInterface.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/Signal.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/Time.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/Types.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/impl/../ListLockFree.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/impl/../os/rt_list.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/impl/signal0.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/impl/signal1.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/impl/signal2.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/impl/signal3.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/impl/signal4.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/impl/</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"><FONT COLOR="#000000" SIZE=2 FACE="Courier New">signal_base.hpp</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/impl/signature0.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/impl/signature1.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/impl/signature2.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/impl/signature3.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/impl/signature4.hpp</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Courier New">&nbsp;orocos/inc/rtt/impl/signature_template.hpp</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">etc.</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Notice that signal_base.hpp is listed but not signal_template.hpp.</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"> <FONT SIZE=2 FACE="Arial">So when I mess around in signal_template.hpp nothing much gets compiled</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">&#8230;</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">I fixed this by adding a dependency of signal_base.hpp on signal_template.hpp</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"> <FONT SIZE=2 FACE="Arial">manually</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">.</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">I wonder if anyone else has t</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">his problem.</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"> </SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Sander.</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN></P>

</BODY>
</HTML>

CMake dependencies

On Tuesday 18 November 2008 12:00:34 Vandenbroucke Sander wrote:
> Hi,
>
> I have a problem with cmake dependencies on some files.
> For example CompletionProcessor.cxx:
>
> C:/svn/MC21/trunk/orocos/corelib/events/current/src/CompletionProcessor.
> cxx
> orocos/inc/pkgconf/corelib_events.h
> orocos/inc/pkgconf/corelib_reporting.h
> orocos/inc/pkgconf/os.h
> orocos/inc/pkgconf/system.h
> orocos/inc/rtt/ActionInterface.hpp
> orocos/inc/rtt/ActivityInterface.hpp
> orocos/inc/rtt/AssignCommand.hpp
> orocos/inc/rtt/AtomicQueue.hpp
> orocos/inc/rtt/AttributeBase.hpp
> orocos/inc/rtt/BufferPolicy.hpp
> orocos/inc/rtt/CommandInterface.hpp
> orocos/inc/rtt/CompletionProcessor.hpp
> orocos/inc/rtt/DataObjectInterfaces.hpp
> orocos/inc/rtt/DataSource.hpp
> orocos/inc/rtt/DataSource.inl
> orocos/inc/rtt/DataSourceAdaptor.hpp
> orocos/inc/rtt/DataSourceBase.hpp
> orocos/inc/rtt/DataSourceTypeInfo.hpp
> orocos/inc/rtt/DataSourceTypeInfo.inl
> orocos/inc/rtt/EventProcessor.hpp
> orocos/inc/rtt/Handle.hpp
> orocos/inc/rtt/Logger.hpp
> orocos/inc/rtt/Logger.inl
> orocos/inc/rtt/NA.hpp
> orocos/inc/rtt/NonPeriodicActivity.hpp
> orocos/inc/rtt/RunnableInterface.hpp
> orocos/inc/rtt/Signal.hpp
> orocos/inc/rtt/Time.hpp
> orocos/inc/rtt/Types.hpp
> orocos/inc/rtt/impl/../ListLockFree.hpp
> orocos/inc/rtt/impl/../os/rt_list.hpp
> orocos/inc/rtt/impl/signal0.hpp
> orocos/inc/rtt/impl/signal1.hpp
> orocos/inc/rtt/impl/signal2.hpp
> orocos/inc/rtt/impl/signal3.hpp
> orocos/inc/rtt/impl/signal4.hpp
> orocos/inc/rtt/impl/signal_base.hpp
> orocos/inc/rtt/impl/signature0.hpp
> orocos/inc/rtt/impl/signature1.hpp
> orocos/inc/rtt/impl/signature2.hpp
> orocos/inc/rtt/impl/signature3.hpp
> orocos/inc/rtt/impl/signature4.hpp
> orocos/inc/rtt/impl/signature_template.hpp
> etc.
>
> Notice that signal_base.hpp is listed but not signal_template.hpp. So
> when I mess around in signal_template.hpp nothing much gets compiled...
> I fixed this by adding a dependency of signal_base.hpp on
> signal_template.hpp manually.
>
> I wonder if anyone else has this problem.

CMake can't parse the boost macro include magic as it seems then... So adding
these special cases manually seems the only way to go.

Peter

RE: CMake dependencies

> CMake can't parse the boost macro include magic as it seems then... So
> adding
> these special cases manually seems the only way to go.
>
Apparently CMake makes two dependency rules, one for the .cxx and one
for the .o file. The rules for the .o file contain the boost headers.
But for some reason CMake can't handle the include magic for
signal_template.hpp. At least not on my build tree. You see I'm still on
an old version of Orocos and made my own build system with CMake. So I
can't tell if these dependencies are correct on Orocos-trunk.

Sander.