<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Oct 14, 2014 at 10:37 PM, Jeremy Whiting <span dir="ltr"><<a href="mailto:jpwhiting@kde.org" target="_blank">jpwhiting@kde.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hello,<br>
<br>
In KNewStuff autotests there are two disabled tests that build and<br>
work if I export the Author and EntryInternal classes, but these two<br>
classes are private (declared in _p.h files) so I'd rather not export<br>
them, since they aren't public api. Is there a way to have them<br>
exported when BUILD_TESTING is set only? I didn't see anything obvious<br>
in the knewstuff_export.h generated header. I guess I could have the<br>
class declarations wrapped in #ifdef BUILD_TESTING but that seems like<br>
a hack. Is there a proper way to only export private classes when<br>
building and running tests?<br>
<br>
thanks,<br>
Jeremy<br></blockquote><div><br></div><div>You can do things like that with cmake library objects. See documentation for add_library(... OBJECT ...).</div><div><br></div><div>It will make it possible for you to have objects in different targets so they are compiled once but in different places. I used it here as a test [1]. It's not magic, but it saves some compilation time and possible complexity.</div><div><br></div><div>Cheers!</div><div>Aleix</div><div><br></div><div>[1] kde:scratch/apol/kanboardclient</div></div></div></div>