<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 19-09-17 16:24, Satya Prakash Prasad
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CACX5wcip0G57ud4oGJMsWn=i4DcGy+cxQG4YPEMVL6+HK88F5w@mail.gmail.com">
<div dir="ltr">
<p style="margin:0px 0px
1em;padding:0px;border:0px;font-variant-numeric:inherit;font-stretch:inherit;font-size:15px;line-height:inherit;font-family:Arial,"Helvetica
Neue",Helvetica,sans-serif;vertical-align:baseline;clear:both;color:rgb(36,39,41)">We
have a project which we compile it thru CMAKE utility. Our
projects has submodules and recently it was found that
developers where introducing code dependency across sub
modules.</p>
<p style="margin:0px 0px
1em;padding:0px;border:0px;font-variant-numeric:inherit;font-stretch:inherit;font-size:15px;line-height:inherit;font-family:Arial,"Helvetica
Neue",Helvetica,sans-serif;vertical-align:baseline;clear:both;color:rgb(36,39,41)">Say
we have submodule A and submodule B while main module C
compiles both A and B and generates all the executable. As per
the issue submodule B code is being used in submodule A.
Though the code is compiling fine but this is highly dangerous
of the dependency across sub modules.</p>
<p style="margin:0px 0px
1em;padding:0px;border:0px;font-variant-numeric:inherit;font-stretch:inherit;font-size:15px;line-height:inherit;font-family:Arial,"Helvetica
Neue",Helvetica,sans-serif;vertical-align:baseline;clear:both;color:rgb(36,39,41)">Now
how can I know via CMAKE (logs / report / traces / build etc
anyway) utility which includes path / link paths are involved
in which binaries. The over all objective is to break the
dependency if any.</p>
<p style="margin:0px 0px
1em;padding:0px;border:0px;font-variant-numeric:inherit;font-stretch:inherit;font-size:15px;line-height:inherit;font-family:Arial,"Helvetica
Neue",Helvetica,sans-serif;vertical-align:baseline;clear:both;color:rgb(36,39,41)">Is
there a way to get any kind of details via CMAKE build process
- the include / linking path level used for each binary (to
trace libs across submodules being used for binaries)?</p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
</blockquote>
Hello Satya,<br>
<br>
Unfortunately you didn't say what language & buildsystem you are
using? In my answer I am assuming c or c++: as far as I'm aware this
list cannot (easily) be obtained from CMake. However, I suggest a
tool such as 'include-what-you-use' from the Clang toolchain.<br>
One of the issues with using CMake in this case is that it is
possible to get a working build without adding a dependency for all
the necessary files to the cmake files (e.g. by just assuming the
needed files are in a certain location and including them directly
in the source files).<br>
<br>
Hth,<br>
Micha<br>
</body>
</html>