Build error for Ninja Generator

masaru tsuchiyama <[email protected]> Wed, 02 May 2018 13:09:26 +0000
Newsgroups gmane.text.doxygen.devel
Message-ID <CAKQP9ee+fbppOzjXA_bsdf8BDqegegUaNoq13DH0T9+b3jo+jw@mail.gmail.com>
--===============1557358417755738355==
Content-Type: multipart/alternative; boundary="000000000000885a60056b38cc28"

--000000000000885a60056b38cc28
Content-Type: text/plain; charset="UTF-8"

Hi

I found a bug that doxygen can't compile for Ninja generator.
It works for 'Unix Makefiles' generator

This is the error message.

ninja: warning: multiple rules generate generated_src/configvalues.h.
builds involving this target will not be correct; continuing anyway [-w
dupbuild=warn]
ninja: error: build.ninja:2384: bad $-escape (literal $ must be written as
$$)

This is the diff of build.ninja between good revision (
ok_b6f01ff09b17e5c2288f2418ef0a8f074456c357)
and bad revision (c78c338fffbdbb9b2379b1896e647f7cc697da57)

$ diff build/build.ninja ok_b6f01ff09b17e5c2288f2418ef0a8f074456c357
2384c2384
<   COMMAND = cd /home/user/gitwork/doxygen/build/testing &&
/usr/bin/python /home/user/gitwork/doxygen/testing/runtests.py
$(TEST_FLAGS) --doxygen /home/user/gitwork/doxygen/build/bin/doxygen
--inputdir /home/user/gitwork/doxygen/testing --outputdir
/home/user/gitwork/doxygen/build/testing
---
>   COMMAND = cd /home/user/gitwork/doxygen/build/testing &&
/usr/bin/python /home/user/gitwork/doxygen/testing/runtests.py --all
--doxygen /home/user/gitwork/doxygen/build/bin/doxygen --inputdir
/home/user/gitwork/doxygen/testing --outputdir
/home/user/gitwork/doxygen/build/testing

By tweaking  $(TEST_FLAGS) to  --all, the build succeeded.

This is a script to reproduce.
-------------------------------------------------------------------------------
#!/bin/sh

if [ -e build ]; then
  rm -rf build
fi
mkdir build
cd build

cmake -G Ninja -D CMAKE_BUILD_TYPE=Release ..
cmake --build . -- -j 3 -v || echo error && cd .. && exit 1

cd ..
-------------------------------------------------------------------------------

--000000000000885a60056b38cc28
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi<div><br></div><div>I found a bug that doxygen can&#39;t=
 compile for Ninja generator.</div><div>It works for &#39;Unix Makefiles&#3=
9; generator</div><div><br></div><div>This is the error message.</div><div>=
<br></div><div><div>ninja: warning: multiple rules generate generated_src/c=
onfigvalues.h. builds involving this target will not be correct; continuing=
 anyway [-w dupbuild=3Dwarn]</div><div>ninja: error: build.ninja:2384: bad =
$-escape (literal $ must be written as $$)</div><div><br></div><div>This is=
 the diff of=20

<span style=3D"color:rgb(34,34,34);font-family:sans-serif;font-size:14px;fo=
nt-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font=
-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-tra=
nsform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,25=
5,255);text-decoration-style:initial;text-decoration-color:initial;float:no=
ne;display:inline">build.ninja</span>=C2=A0between good revision (

<span style=3D"color:rgb(34,34,34);font-family:sans-serif;font-size:14px;fo=
nt-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font=
-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-tra=
nsform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,25=
5,255);text-decoration-style:initial;text-decoration-color:initial;float:no=
ne;display:inline">ok_b6f01ff09b17e5c2288f2418ef0a8f074456c357)</span></div=
><div>and bad revision (c78c338fffbdbb9b2379b1896e647f7cc697da57)</div><div=
><br></div><div><div>$ diff build/build.ninja ok_b6f01ff09b17e5c2288f2418ef=
0a8f074456c357</div><div>2384c2384</div><div>&lt;=C2=A0 =C2=A0COMMAND =3D c=
d /home/user/gitwork/doxygen/build/testing &amp;&amp; /usr/bin/python /home=
/user/gitwork/doxygen/testing/runtests.py $(TEST_FLAGS) --doxygen /home/use=
r/gitwork/doxygen/build/bin/doxygen --inputdir /home/user/gitwork/doxygen/t=
esting --outputdir /home/user/gitwork/doxygen/build/testing</div><div>---</=
div><div>&gt;=C2=A0 =C2=A0COMMAND =3D cd /home/user/gitwork/doxygen/build/t=
esting &amp;&amp; /usr/bin/python /home/user/gitwork/doxygen/testing/runtes=
ts.py --all --doxygen /home/user/gitwork/doxygen/build/bin/doxygen --inputd=
ir /home/user/gitwork/doxygen/testing --outputdir /home/user/gitwork/doxyge=
n/build/testing</div></div><div><br></div><div>By tweaking=C2=A0

<span style=3D"color:rgb(34,34,34);font-family:sans-serif;font-size:14px;fo=
nt-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font=
-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-tra=
nsform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,25=
5,255);text-decoration-style:initial;text-decoration-color:initial;float:no=
ne;display:inline">$(TEST_FLAGS) to=C2=A0

<span style=3D"color:rgb(34,34,34);font-family:sans-serif;font-size:14px;fo=
nt-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font=
-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-tra=
nsform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,25=
5,255);text-decoration-style:initial;text-decoration-color:initial;float:no=
ne;display:inline">--all, the build succeeded.</span></span></div><div><br>=
</div><div>This is a script to reproduce.</div><div>-----------------------=
--------------------------------------------------------</div><div><div>#!/=
bin/sh</div><div><br></div><div>if [ -e build ]; then</div><div>=C2=A0 rm -=
rf build</div><div>fi</div><div>mkdir build</div><div>cd build</div><div><b=
r></div><div>cmake -G Ninja -D CMAKE_BUILD_TYPE=3DRelease ..</div><div>cmak=
e --build . -- -j 3 -v || echo error &amp;&amp; cd .. &amp;&amp; exit 1</di=
v><div><br></div><div>cd ..</div></div><div>

<span style=3D"color:rgb(34,34,34);font-family:sans-serif;font-size:14px;fo=
nt-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font=
-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-tra=
nsform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,25=
5,255);text-decoration-style:initial;text-decoration-color:initial;float:no=
ne;display:inline">--------------------------------------------------------=
-----------------------</span>

<br></div><div><br></div><div><br></div></div></div>

--000000000000885a60056b38cc28--


--===============1557358417755738355==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
--===============1557358417755738355==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Doxygen-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/doxygen-develop

--===============1557358417755738355==--