<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/CMakeLists.txt, branch peff/binary-search-do-while</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/'/>
<entry>
<title>cmake: consistently use TARGET_INCLUDE_DIRECTORIES if available</title>
<updated>2017-06-28T10:11:44+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2017-06-28T10:11:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=56893bb9a1c759d2b1670a1e15d0f45ae35b51db'/>
<id>56893bb9a1c759d2b1670a1e15d0f45ae35b51db</id>
<content type='text'>
Instead of using INCLUDE_DIRECTORIES again for the libgit2_clar test
suite, we should just be using TARGET_INCLUDE_DIRECTORIES again if the
CMake version is greater than 2.8.11.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of using INCLUDE_DIRECTORIES again for the libgit2_clar test
suite, we should just be using TARGET_INCLUDE_DIRECTORIES again if the
CMake version is greater than 2.8.11.
</pre>
</div>
</content>
</entry>
<entry>
<title>cmake: use `target_include_directories` for modern cmake</title>
<updated>2017-06-28T10:06:41+00:00</updated>
<author>
<name>Andrey Davydov</name>
<email>andrey.a.davydov@gmail.com</email>
</author>
<published>2017-06-21T05:25:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=22de81e6ccc68772ef6ba6a76268669a443d8e96'/>
<id>22de81e6ccc68772ef6ba6a76268669a443d8e96</id>
<content type='text'>
Apply `target_include_directories` when CMAKE_VERSION &gt;= 2.8.12
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apply `target_include_directories` when CMAKE_VERSION &gt;= 2.8.12
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #4235 from pks-t/pks/out-of-tree-builds</title>
<updated>2017-06-27T10:46:15+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2017-06-27T10:46:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=6b2133b4e9f7f17844254d333428e7367c71fe37'/>
<id>6b2133b4e9f7f17844254d333428e7367c71fe37</id>
<content type='text'>
Out of tree builds</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Out of tree builds</pre>
</div>
</content>
</entry>
<entry>
<title>cmake: generate clar.suite in binary directory</title>
<updated>2017-06-23T13:17:44+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2017-05-10T10:14:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=4305fcca1bbc8ee9f84df898c1124ac1db0a5e97'/>
<id>4305fcca1bbc8ee9f84df898c1124ac1db0a5e97</id>
<content type='text'>
Change the output path of generate.py to generate the clar.suite file
inside of the binary directory. This fixes out of tree builds with
read-only source trees as we now refrain from writing anything into the
source tree.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change the output path of generate.py to generate the clar.suite file
inside of the binary directory. This fixes out of tree builds with
read-only source trees as we now refrain from writing anything into the
source tree.
</pre>
</div>
</content>
</entry>
<entry>
<title>cmake: Permit disabling external http-parser</title>
<updated>2017-06-22T10:04:20+00:00</updated>
<author>
<name>Jason Cooper</name>
<email>jason@lakedaemon.net</email>
</author>
<published>2017-06-21T20:02:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=845f661df4492bc2bc2f4e7ed541ee098659a3d1'/>
<id>845f661df4492bc2bc2f4e7ed541ee098659a3d1</id>
<content type='text'>
When attempting to build libgit2 as an isolated static lib, CMake
gleefully attempts to use the system http-parser.  This is typically
seen on Linux systems which install header files with every package,
such as Gentoo.

Allow developers to forcibly disable using the system http-parser with
the config switch USE_EXT_HTTP_PARSER.  Defaults to ON to maintain
previous behavior.

Signed-off-by: Jason Cooper &lt;jason@lakedaemon.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When attempting to build libgit2 as an isolated static lib, CMake
gleefully attempts to use the system http-parser.  This is typically
seen on Linux systems which install header files with every package,
such as Gentoo.

Allow developers to forcibly disable using the system http-parser with
the config switch USE_EXT_HTTP_PARSER.  Defaults to ON to maintain
previous behavior.

Signed-off-by: Jason Cooper &lt;jason@lakedaemon.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cmake: disable optimization on debug builds</title>
<updated>2017-06-13T09:27:01+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2017-06-13T09:05:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=a64532e107b40202d2cdd602c8c821f402bad429'/>
<id>a64532e107b40202d2cdd602c8c821f402bad429</id>
<content type='text'>
While our debug builds on MSVC platforms already tune the code optimizer
to aid debugging code, all the other platforms still use the default
optimization level. This makes it hard for developers on these platforms
to actually debug code while maintaining his sanity due to optimizations
like inlined code, elided variables etc.

To help this common use case, we can simply follow the MSVC example and
turn off code optimization with "-O0" for debug builds. While it would
be preferable to instead use "-Og" supported by more modern compilers,
we cannot guarantee that this level is available on all supported
platforms.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While our debug builds on MSVC platforms already tune the code optimizer
to aid debugging code, all the other platforms still use the default
optimization level. This makes it hard for developers on these platforms
to actually debug code while maintaining his sanity due to optimizations
like inlined code, elided variables etc.

To help this common use case, we can simply follow the MSVC example and
turn off code optimization with "-O0" for debug builds. While it would
be preferable to instead use "-Og" supported by more modern compilers,
we cannot guarantee that this level is available on all supported
platforms.
</pre>
</div>
</content>
</entry>
<entry>
<title>cmake: set "-D_DEBUG" on non-Windows platforms</title>
<updated>2017-06-13T09:14:53+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2017-06-13T09:03:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=613999534ee01c3f85046479db0d62eece6f2332'/>
<id>613999534ee01c3f85046479db0d62eece6f2332</id>
<content type='text'>
In our code base, we have some occasions where we use the "_DEBUG"
preprocessor macro to enable additional code which should not be part of
release builds. While we define this flag on MSVC platforms, it is
guarded by the conditional `WIN32 AND NOT CYGWIN` on other platforms
since 19be3f9e6 (Improve MSVC compiler, linker flags, 2013-02-13). While
this condition can be fulfilled by the MSVC platform, it is never
encountered due to being part of the `ELSE` part of `IF (MSVC)`.

The intention of the conditional was most likely to avoid the
preprocessor macro on Cygwin platforms, but to include it on everthing
else. As such, the correct condition here would be `IF (NOT CYGWIN)`
instead. But digging a bit further, the condition is only ever used in
two places:

1. To skip the test in "core::structinit", which should also work on
   Cygwin.
2. In "src/win32/git2.rc", where it is used to set additional file
   flags. As this file is included in MSVC builds only, it cannot cause
   any harm to set "_DEBUG" on Cygwin here.

As such, we can simply drop the conditional and always set "-D_DEBUG" on
all platforms.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In our code base, we have some occasions where we use the "_DEBUG"
preprocessor macro to enable additional code which should not be part of
release builds. While we define this flag on MSVC platforms, it is
guarded by the conditional `WIN32 AND NOT CYGWIN` on other platforms
since 19be3f9e6 (Improve MSVC compiler, linker flags, 2013-02-13). While
this condition can be fulfilled by the MSVC platform, it is never
encountered due to being part of the `ELSE` part of `IF (MSVC)`.

The intention of the conditional was most likely to avoid the
preprocessor macro on Cygwin platforms, but to include it on everthing
else. As such, the correct condition here would be `IF (NOT CYGWIN)`
instead. But digging a bit further, the condition is only ever used in
two places:

1. To skip the test in "core::structinit", which should also work on
   Cygwin.
2. In "src/win32/git2.rc", where it is used to set additional file
   flags. As this file is included in MSVC builds only, it cannot cause
   any harm to set "_DEBUG" on Cygwin here.

As such, we can simply drop the conditional and always set "-D_DEBUG" on
all platforms.
</pre>
</div>
</content>
</entry>
<entry>
<title>cmake: remove stale comment on precompiled headers</title>
<updated>2017-06-13T09:11:34+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2017-06-13T09:08:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=e94be4c01c5b6b2cd849a9accf80f3f93d429a76'/>
<id>e94be4c01c5b6b2cd849a9accf80f3f93d429a76</id>
<content type='text'>
In commit 9f75a9ce7 (Turning on runtime checks when building debug under
MSVC., 2012-03-30), we introduced a comment "Precompiled headers", which
actually refers to no related commands. Seeing that the comment never
had anything to refer to, we can simply remove it here.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In commit 9f75a9ce7 (Turning on runtime checks when building debug under
MSVC., 2012-03-30), we introduced a comment "Precompiled headers", which
actually refers to no related commands. Seeing that the comment never
had anything to refer to, we can simply remove it here.
</pre>
</div>
</content>
</entry>
<entry>
<title>sha1dc: do not use standard includes</title>
<updated>2017-06-07T13:03:46+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2017-06-07T12:59:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=db1abffa50929b6a6298ab53143f90cc3003fe1a'/>
<id>db1abffa50929b6a6298ab53143f90cc3003fe1a</id>
<content type='text'>
The updated SHA1DC library allows us to use custom includes instead of
using standard includes. Due to requirements with cross-platform, we
provide some custom system includes files like for example the
"stdint.h" file on Win32. Because of this, we want to make sure to avoid
breaking cross-platform compatibility when SHA1DC is enabled.

To use the new mechanism, we can simply define
`SHA1DC_NO_STANDARD_INCLUDES`. Furthermore, we can specify custom
include files via two defines, which we now use to include our
"common.h" header.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The updated SHA1DC library allows us to use custom includes instead of
using standard includes. Due to requirements with cross-platform, we
provide some custom system includes files like for example the
"stdint.h" file on Win32. Because of this, we want to make sure to avoid
breaking cross-platform compatibility when SHA1DC is enabled.

To use the new mechanism, we can simply define
`SHA1DC_NO_STANDARD_INCLUDES`. Furthermore, we can specify custom
include files via two defines, which we now use to include our
"common.h" header.
</pre>
</div>
</content>
</entry>
<entry>
<title>ctest: temporarily disable UNC path tests</title>
<updated>2017-06-07T09:54:48+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2017-06-07T09:54:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=f218508f4a12b443e00d8d4c3b8a988033cf1872'/>
<id>f218508f4a12b443e00d8d4c3b8a988033cf1872</id>
<content type='text'>
(Temporarily) disable UNC path tests to work around AppVeyor issues.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(Temporarily) disable UNC path tests to work around AppVeyor issues.
</pre>
</div>
</content>
</entry>
</feed>
