<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">You can make two top-level projects, something like «my lib-standalone.qbs» which includes «mylib.qbs» and setups the properties to enable tests/whatever. All what you don’t want for users is disabled by default.<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">20 июля 2019 г., в 6:27, Vincent Hui <<a href="mailto:vincenthk007@gmail.com" class="">vincenthk007@gmail.com</a>> написал(а):</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="">Hi 
Christian,</div><div class=""><br class=""></div><div class="">Thank you very much for your reply.</div><div class=""><br class=""></div><div class="">I am sorry for not stating my question clearly. Perhaps I should use 
<span class="gmail-im">isStandalone instead of isSubProject, my motivation is to facilitate users of my libraries which are stored in individual git repository. The main product of my qbs project is a <span class="gmail-im">library, other products are examples and tests.</span></span></div><div class=""><span class="gmail-im"><span class="gmail-im"><br class=""></span></span></div><div class=""><span class="gmail-im"><span class="gmail-im">To reduce build time for whole source tree, I prefer
<span class="gmail-im"><span class="gmail-im">examples and tests</span></span> of my project are not built if <span class="gmail-im">my qbs project</span> is not a standalone project. That means <span class="gmail-im"><span class="gmail-im"><span class="gmail-im">my qbs project</span></span></span> is added 
<span class="gmail-im"><span class="gmail-im">by other projects</span></span> as a git module. To save time and code of users of my projects, <span class="gmail-im"><span class="gmail-im">I prefer</span></span> users of my projects do not need to override properties of my qbs project in order not to build <span class="gmail-im"><span class="gmail-im"><span class="gmail-im"><span class="gmail-im">examples</span></span></span></span> and tests. Therefore I need a property to know whether my qbs project is a <span class="gmail-im"><span class="gmail-im">standalone</span></span> project.</span></span></div><div class=""><span class="gmail-im"><span class="gmail-im"><br class=""></span></span></div><div class=""><span class="gmail-im"><span class="gmail-im">By the way, why path is undocumented? Is it because path is private? Why not make it public? Should 
<span class="gmail-im"><span class="gmail-im">path </span></span>be renamed? path being a property name (<a href="https://github.com/qbs/qbs/blob/master/src/lib/corelib/buildgraph/buildgraph.cpp#186" class="">https://github.com/qbs/qbs/blob/master/src/lib/corelib/buildgraph/buildgraph.cpp#186</a> line#186) and a type name is a bit confusing I think.</span></span></div><div class=""><span class="gmail-im"><span class="gmail-im"><br class=""></span></span></div><div class=""><span class="gmail-im"><span class="gmail-im">Thank you again,<br class=""></span></span></div><div class=""><span class="gmail-im"><span class="gmail-im">Vincent</span></span></div><div class=""><span class="gmail-im"><span class="gmail-im"><br class=""></span>

</span>

</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 18 Jul 2019 at 00:08, Christian Kandeler <<a href="mailto:Christian.Kandeler@qt.io" class="">Christian.Kandeler@qt.io</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Wed, 17 Jul 2019 23:25:49 +0800<br class="">
Vincent Hui <<a href="mailto:vincenthk007@gmail.com" target="_blank" class="">vincenthk007@gmail.com</a>> wrote:<br class="">
<br class="">
> I want to check whether a project is a subproject of another project. If a<br class="">
> project is not a subproject, its examples and tests are built. If a project<br class="">
> is a subproject, its examples and tests are not built.<br class="">
<br class="">
Declare a property in your project that controls this. Override this property from the containing project. Done.<br class="">
<br class="">
> It seems that the method for checking whether a project is a subproject is<br class="">
> undocumented.<br class="">
<br class="">
There is no such method, and I don't think it would be a good idea to have it.<br class="">
<br class="">
> I came up with a method to check whether a project is a subproject. It is<br class="">
> checking whether  sourceDirectory is equal to path. I tried a simple<br class="">
> project, my method works.<br class="">
> <br class="">
> "<br class="">
> Project {<br class="">
>     readonly property bool isSubProject: (sourceDirectory === path) ? false<br class="">
> : true;<br class="">
> ......<br class="">
> "<br class="">
> <br class="">
> Can my method work in complicated projects?<br class="">
<br class="">
No. The parent project could be in the same directory.<br class="">
<br class="">
<br class="">
Christian<br class="">
_______________________________________________<br class="">
Qbs mailing list<br class="">
<a href="mailto:Qbs@qt-project.org" target="_blank" class="">Qbs@qt-project.org</a><br class="">
<a href="https://lists.qt-project.org/listinfo/qbs" rel="noreferrer" target="_blank" class="">https://lists.qt-project.org/listinfo/qbs</a><br class="">
</blockquote></div>
_______________________________________________<br class="">Qbs mailing list<br class=""><a href="mailto:Qbs@qt-project.org" class="">Qbs@qt-project.org</a><br class="">https://lists.qt-project.org/listinfo/qbs<br class=""></div></blockquote></div><br class=""></body></html>