<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 22:01:14 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CXX-1049] Install target fails to install headers when source absolute path contains the substring &quot;test&quot;</title>
                <link>https://jira.mongodb.org/browse/CXX-1049</link>
                <project id="11980" key="CXX">C++ Driver</project>
                    <description>&lt;p&gt;I noticed something very odd when installing the driver and the install location path had the word in all lower case &quot;test&quot; at the beginning of any of the parent directories of the install location.  The only headers that get installed are export.hpp, version.hpp, and config.hpp even though when it goes to install it says &quot;Install configuration: &quot;Release&quot;&quot;. I&apos;ve noticed this on both Ubuntu and Mac and with different compilers so it doesn&apos;t seem to be a OS or compiler problem.  If I use the same exact cmake commands and just change the install location so that it doesn&apos;t contain the word &quot;test&quot; at the beginning of the parent directories it works. &lt;/p&gt;

&lt;p&gt;And so it fails when the path is one of the following &lt;br/&gt;
/Users/nick/testing/mongoExp/mongo-cxx-install&lt;br/&gt;
/home/hathawan/mongoExp/test/mongo-cxx-install&lt;br/&gt;
/home/hathawan/mongoExp/testHold/mongo-cxx-install&lt;/p&gt;

&lt;p&gt;And it works with the following paths&lt;br/&gt;
/home/hathawan/mongoExp/Test/mongo-cxx-install&lt;br/&gt;
/home/hathawan/mongoExp/holdtestHold/mongo-cxx-install&lt;/p&gt;

&lt;p&gt;So I&apos;m not sure what&apos;s happening but I&apos;m guessing it&apos;s a cmake issue but I don&apos;t know cmake very well so I couldn&apos;t tell. &lt;/p&gt;

&lt;p&gt;Of course the work around is to not install to location that contains the word &quot;test&quot; but I thought it was odd and probably not intended behavior so I thought I would bring it up.  &lt;/p&gt;


&lt;p&gt;NIck&lt;/p&gt;


</description>
                <environment></environment>
        <key id="318830">CXX-1049</key>
            <summary>Install target fails to install headers when source absolute path contains the substring &quot;test&quot;</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="david.golden@mongodb.com">David Golden</assignee>
                                    <reporter username="nickjhathaway">Nicholas J Hathaway</reporter>
                        <labels>
                    </labels>
                <created>Mon, 26 Sep 2016 15:08:29 +0000</created>
                <updated>Tue, 15 Nov 2016 21:54:25 +0000</updated>
                            <resolved>Fri, 7 Oct 2016 16:19:47 +0000</resolved>
                                    <version>3.0.1</version>
                                    <fixVersion>3.0.3</fixVersion>
                                    <component>Build</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="1403643" author="xgen-internal-githook" created="Sat, 8 Oct 2016 19:15:49 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;jrassi&apos;, u&apos;name&apos;: u&apos;J. Rassi&apos;, u&apos;email&apos;: u&apos;rassi@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CXX-1049&quot; title=&quot;Install target fails to install headers when source absolute path contains the substring &amp;quot;test&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CXX-1049&quot;&gt;&lt;del&gt;CXX-1049&lt;/del&gt;&lt;/a&gt; Update clang_format.py to handle new file extension&lt;br/&gt;
Branch: 3.1-dev&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-cxx-driver/commit/d0bc9a1a44ee4ca5a202fb790ceeb5c06393c601&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-cxx-driver/commit/d0bc9a1a44ee4ca5a202fb790ceeb5c06393c601&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1403605" author="xgen-internal-githook" created="Sat, 8 Oct 2016 15:47:43 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;jrassi&apos;, u&apos;name&apos;: u&apos;J. Rassi&apos;, u&apos;email&apos;: u&apos;rassi@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CXX-1049&quot; title=&quot;Install target fails to install headers when source absolute path contains the substring &amp;quot;test&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CXX-1049&quot;&gt;&lt;del&gt;CXX-1049&lt;/del&gt;&lt;/a&gt; Update clang_format.py to handle new file extension&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-cxx-driver/commit/d0bc9a1a44ee4ca5a202fb790ceeb5c06393c601&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-cxx-driver/commit/d0bc9a1a44ee4ca5a202fb790ceeb5c06393c601&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1403470" author="xgen-internal-githook" created="Fri, 7 Oct 2016 22:15:33 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;xdg&apos;, u&apos;name&apos;: u&apos;David Golden&apos;, u&apos;email&apos;: u&apos;xdg@xdg.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CXX-1049&quot; title=&quot;Install target fails to install headers when source absolute path contains the substring &amp;quot;test&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CXX-1049&quot;&gt;&lt;del&gt;CXX-1049&lt;/del&gt;&lt;/a&gt; Rename private headers to .hh and exclude them&lt;/p&gt;

&lt;p&gt;The prior approach to selecting headers was to include all headers, then&lt;br/&gt;
exclude ones matching a regex pattern.  This was too greedy, matching parent&lt;br/&gt;
directories as well.&lt;/p&gt;

&lt;p&gt;The new approach renames all private headers to .hh, which are excluded&lt;br/&gt;
from the list of headers to install.&lt;br/&gt;
Branch: 3.1-dev&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-cxx-driver/commit/d57f5de9e77e0792eaca5c88b6738bdfe7c71915&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-cxx-driver/commit/d57f5de9e77e0792eaca5c88b6738bdfe7c71915&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1403076" author="xgen-internal-githook" created="Fri, 7 Oct 2016 16:19:01 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;xdg&apos;, u&apos;name&apos;: u&apos;David Golden&apos;, u&apos;email&apos;: u&apos;xdg@xdg.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CXX-1049&quot; title=&quot;Install target fails to install headers when source absolute path contains the substring &amp;quot;test&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CXX-1049&quot;&gt;&lt;del&gt;CXX-1049&lt;/del&gt;&lt;/a&gt; Rename private headers to .hh and exclude them&lt;/p&gt;

&lt;p&gt;The prior approach to selecting headers was to include all headers, then&lt;br/&gt;
exclude ones matching a regex pattern.  This was too greedy, matching parent&lt;br/&gt;
directories as well.&lt;/p&gt;

&lt;p&gt;The new approach renames all private headers to .hh, which are excluded&lt;br/&gt;
from the list of headers to install.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-cxx-driver/commit/d57f5de9e77e0792eaca5c88b6738bdfe7c71915&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-cxx-driver/commit/d57f5de9e77e0792eaca5c88b6738bdfe7c71915&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1402085" author="david.golden" created="Thu, 6 Oct 2016 15:54:57 +0000"  >&lt;p&gt;The &lt;a href=&quot;https://google.github.io/styleguide/cppguide.html#Self_contained_Headers&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Google C++ Style Guide for headers&lt;/a&gt; suggests &lt;tt&gt;.inc&lt;/tt&gt; for files included that aren&apos;t headers.  Since private headers aren&apos;t available as headers to end-users, they are effectively just &quot;non header includes&quot; needed for compilation only.  How about renaming to &lt;tt&gt;.inc&lt;/tt&gt;?&lt;/p&gt;

&lt;p&gt;A different header suffix is going to be much cleaner in Cmake than other approaches, I think.&lt;/p&gt;</comment>
                            <comment id="1402074" author="acm" created="Thu, 6 Oct 2016 15:48:36 +0000"  >&lt;p&gt;I&apos;d be opposed to renaming the private header files to .h. The .h suffix is for C files, and many environments expect and act on the file suffix. We were quite deliberate in our use of .hpp everywhere for C++ files that we wrote.&lt;/p&gt;</comment>
                            <comment id="1401640" author="david.golden" created="Thu, 6 Oct 2016 03:10:51 +0000"  >&lt;p&gt;It looks like cmake doesn&apos;t give us full regular expressions, so we&apos;re a bit handicapped in how we do this.&lt;/p&gt;

&lt;p&gt;What if we changed all the private headers from &lt;tt&gt;.hpp&lt;/tt&gt; to &lt;tt&gt;.h&lt;/tt&gt; and then just excluded &lt;tt&gt;&amp;#42;.h&lt;/tt&gt; rather than trying to exclude directories with regular expression matches?  Then we&apos;re not doing directory path matching at all (which is notoriously hard to do correctly and portably).  We currently have only one &lt;tt&gt;.h&lt;/tt&gt; header and it&apos;s already private.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=acm&quot; class=&quot;user-hover&quot; rel=&quot;acm&quot;&gt;acm&lt;/a&gt;, any objections to this change?&lt;/p&gt;</comment>
                            <comment id="1399470" author="david.golden" created="Tue, 4 Oct 2016 03:42:04 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo-cxx-driver/pull/554&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-cxx-driver/pull/554&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1393461" author="david.golden" created="Mon, 26 Sep 2016 15:14:51 +0000"  >&lt;p&gt;Great catch.  Thanks.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hsq56f:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1287">Perl/CXX 2016-10-21</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>