<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/ccache.git/src/ProgressBar.cpp, branch master</title>
<subtitle>github.com: ccache/ccache
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/'/>
<entry>
<title>chore: Refine ProgressBar value calculation</title>
<updated>2022-12-13T19:38:37+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2022-11-26T15:26:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=d681473eb1bf934c714bc18f3888a733db7377cb'/>
<id>d681473eb1bf934c714bc18f3888a733db7377cb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove system.hpp, including what’s needed instead</title>
<updated>2021-07-07T07:13:05+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2021-07-06T19:19:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=ca9ec9cfa8af99eb1e5c39c9dffdc1c611ed235c'/>
<id>ca9ec9cfa8af99eb1e5c39c9dffdc1c611ed235c</id>
<content type='text'>
This is the next step after a57f70eda32e99221de56f5499079b4f00dc2bc5.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is the next step after a57f70eda32e99221de56f5499079b4f00dc2bc5.
</pre>
</div>
</content>
</entry>
<entry>
<title>Detect errors in fmt::print format strings at compile time</title>
<updated>2020-10-23T13:32:26+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2020-10-22T17:12:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=01929c5c0ba83e3544c6f81cfcb3e715663f0687'/>
<id>01929c5c0ba83e3544c6f81cfcb3e715663f0687</id>
<content type='text'>
See also 4413d842e23c6fa52ec411951a4ab442f42227de.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See also 4413d842e23c6fa52ec411951a4ab442f42227de.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support building on MSVC (#632)</title>
<updated>2020-08-27T19:23:26+00:00</updated>
<author>
<name>Rafael Kitover</name>
<email>rkitover@gmail.com</email>
</author>
<published>2020-08-27T19:23:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=96e06e2bb7441fd839e1467cb8204c9149d9bbff'/>
<id>96e06e2bb7441fd839e1467cb8204c9149d9bbff</id>
<content type='text'>
With these changes, the project builds with Visual Studio 2019, unit
tests pass and it works correctly with mingw gcc.

NOTE: The very latest version of Visual Studio 2019 is required, because
there was just a necessary fix for template arguments.

Tested building and running unit tests on Windows+MSVC, Windows+MinGW,
Linux and macOS.

- Enable `ZSTD_FROM_INTERNET` by default for MSVC when not using vcpkg
  or conan.

- Add include tests for some standard UNIX headers not available on
  MSVC.

- Add necessary MSVC compiler flags.

- In `Args::from_gcc_atfile()` iterate over the string via `c_str()`
  instead of `cbegin()`, the MSVC string character iterator does not
  include the ending null byte.

- Misc. minor cmake fix-ups.

- Add some headers that are not implicitly included from other headers
  like `&lt;algorithm&gt;`, `&lt;ios&gt;`, `&lt;cstdint&gt;` and `&lt;cstdarg&gt;` in some
  places, gcc does this but MSVC does not.

- Add `std::filesystem` version of `Util::traverse()` when dirent.h is
  not available, which is preferred for performance reasons.

- Add implementations of the following functions that are not available
  in MSVC in Win32Util.cpp: `gettimeofday()`, `localtime_r()`,
  `asprintf()`.

- Add Windows implementation of `getopt_long()` from
  https://www.codeproject.com/Articles/157001/Full-getopt-Port-for-Unicode-and-Multibyte-Microso
  to third_party/win32.

- Add some compatibility typedefs, constants and macros to the `_WIN32`
  section of system.hpp, as well as the prototypes for the functions
  added to Win32Util.cpp.

- Fix up unit tests expecting '/' separated paths to expect paths
  delimited by `DIR_DELIM_CH`.

- Invoke test/run with bash from cmake, necessary on msys2+mingw64, many
  fail, there is more work to do here.

- Set the warning level to `/W4` and silence all the uninteresting
  warning types. Compiles with no warnings now.

- Switch to using standard C++ attributes `[[nodiscard]]` and
  `[[maybe_unused]]` and define macros for gcc for their equivalents.

- `#define DOCTEST_CONFIG_USE_STD_HEADERS` for MSVC only, because it
  requires explicitly including `&lt;ostream&gt;`.

- Add vim files to .gitignore.

Signed-off-by: Rafael Kitover &lt;rkitover@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With these changes, the project builds with Visual Studio 2019, unit
tests pass and it works correctly with mingw gcc.

NOTE: The very latest version of Visual Studio 2019 is required, because
there was just a necessary fix for template arguments.

Tested building and running unit tests on Windows+MSVC, Windows+MinGW,
Linux and macOS.

- Enable `ZSTD_FROM_INTERNET` by default for MSVC when not using vcpkg
  or conan.

- Add include tests for some standard UNIX headers not available on
  MSVC.

- Add necessary MSVC compiler flags.

- In `Args::from_gcc_atfile()` iterate over the string via `c_str()`
  instead of `cbegin()`, the MSVC string character iterator does not
  include the ending null byte.

- Misc. minor cmake fix-ups.

- Add some headers that are not implicitly included from other headers
  like `&lt;algorithm&gt;`, `&lt;ios&gt;`, `&lt;cstdint&gt;` and `&lt;cstdarg&gt;` in some
  places, gcc does this but MSVC does not.

- Add `std::filesystem` version of `Util::traverse()` when dirent.h is
  not available, which is preferred for performance reasons.

- Add implementations of the following functions that are not available
  in MSVC in Win32Util.cpp: `gettimeofday()`, `localtime_r()`,
  `asprintf()`.

- Add Windows implementation of `getopt_long()` from
  https://www.codeproject.com/Articles/157001/Full-getopt-Port-for-Unicode-and-Multibyte-Microso
  to third_party/win32.

- Add some compatibility typedefs, constants and macros to the `_WIN32`
  section of system.hpp, as well as the prototypes for the functions
  added to Win32Util.cpp.

- Fix up unit tests expecting '/' separated paths to expect paths
  delimited by `DIR_DELIM_CH`.

- Invoke test/run with bash from cmake, necessary on msys2+mingw64, many
  fail, there is more work to do here.

- Set the warning level to `/W4` and silence all the uninteresting
  warning types. Compiles with no warnings now.

- Switch to using standard C++ attributes `[[nodiscard]]` and
  `[[maybe_unused]]` and define macros for gcc for their equivalents.

- `#define DOCTEST_CONFIG_USE_STD_HEADERS` for MSVC only, because it
  requires explicitly including `&lt;ostream&gt;`.

- Add vim files to .gitignore.

Signed-off-by: Rafael Kitover &lt;rkitover@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Reduce the set of included headers</title>
<updated>2020-06-23T19:44:45+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2020-06-19T17:46:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=52da8354807ca8a4fdc0dfa9db516302c7892e65'/>
<id>52da8354807ca8a4fdc0dfa9db516302c7892e65</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make ccache build on Solaris 11.4 (#572)</title>
<updated>2020-04-06T19:50:27+00:00</updated>
<author>
<name>Philipp Storz</name>
<email>philipp.storz@bareos.com</email>
</author>
<published>2020-04-06T19:50:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=058754ba3eb09ed474fbd234c4ef886ffa836e23'/>
<id>058754ba3eb09ed474fbd234c4ef886ffa836e23</id>
<content type='text'>
These changes enable building on Oracle Solaris 11.4 for both i386 and sparc.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These changes enable building on Oracle Solaris 11.4 for both i386 and sparc.</pre>
</div>
</content>
</entry>
<entry>
<title>Windows define and include restructuring (#492)</title>
<updated>2019-11-24T21:27:26+00:00</updated>
<author>
<name>Thomas Otto</name>
<email>thomas.otto@pdv-fs.de</email>
</author>
<published>2019-11-24T21:27:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=c846fcb40f4a415d67665932c6dc0b37b9e9b495'/>
<id>c846fcb40f4a415d67665932c6dc0b37b9e9b495</id>
<content type='text'>
Set the _WIN32_WINNT macro only once in the generated config.h.

Include &lt;windows.h&gt; only once in system.hpp, unless these includes
are in third party libs - however third party includes themselves
should always be behind internal includes. Therefore also make
system.hpp the first include everywhere.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Set the _WIN32_WINNT macro only once in the generated config.h.

Include &lt;windows.h&gt; only once in system.hpp, unless these includes
are in third party libs - however third party includes themselves
should always be behind internal includes. Therefore also make
system.hpp the first include everywhere.</pre>
</div>
</content>
</entry>
<entry>
<title>Use #include "third_party/..." consistently to include third party code</title>
<updated>2019-10-19T10:45:09+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2019-10-13T14:44:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=3578d20a95c2f7612da4ef84f0e8b6b8847914aa'/>
<id>3578d20a95c2f7612da4ef84f0e8b6b8847914aa</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add ProgressBar class</title>
<updated>2019-09-05T20:04:43+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2019-08-28T19:58:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=d74ca5da634dcb89ce6f5a772dd99032e7fae87c'/>
<id>d74ca5da634dcb89ce6f5a772dd99032e7fae87c</id>
<content type='text'>
The progress bar draws a simple progress bar with percentage to the
console.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The progress bar draws a simple progress bar with percentage to the
console.
</pre>
</div>
</content>
</entry>
</feed>
