Commit Graph

179 Commits

Author SHA1 Message Date
Moritz Bunkus
080dfeda57
source: use std::regex instead of boost::regex 2019-12-31 15:53:03 +01:00
Moritz Bunkus
e9d65b182b
build system: add dependencies for Qt resource files 2019-11-08 11:12:53 +01:00
Moritz Bunkus
64d2f5e112
GUI: Windows: add dark mode with help of QDarkStyleSheet project
The dark mode is only turned on if Windows 10's own dark mode is
enabled. This manual dark mode configuration is necessary as Qt itself
doesn't support Windows' dark mode yet; see the following bug:

https://bugreports.qt.io/browse/QTBUG-72028

This isn't a problem for other operating systems (Linux, macOS…) as Qt
uses the system colors there and will use dark colors when the
system's colors are set to dark colors, too.
2019-10-12 23:32:03 +02:00
Moritz Bunkus
95f7d12f48
Revert "build system: verify configured host type is same as current host type"
This reverts commit af744cea80.
2019-09-27 18:02:13 +02:00
Moritz Bunkus
9c50085e3f
all: macOS: normalize file & path names to NFD
Fixes #2620.
2019-09-27 17:27:16 +02:00
Moritz Bunkus
af744cea80
build system: verify configured host type is same as current host type 2019-09-27 17:01:22 +02:00
Moritz Bunkus
6a8246e7eb
build system: include git commit number since last release in version for dev builds 2019-09-11 20:27:47 +02:00
Moritz Bunkus
61b8dfd203
build system: create ebml_export.h if using internal libEBML 2019-05-25 12:24:38 +02:00
Moritz Bunkus
3cbd95b003
build system: move compiler flag determination to Rakefile
Logic's more straight forward to implement there instead of having to
check in `configure`, adding a variable to `build-local.in` and using
that variable later on. The logic's the same in both places anyway.
2019-02-23 21:11:19 +01:00
Moritz Bunkus
0830be34db
build sys: include globally-required modules from single place 2019-02-05 13:45:34 +01:00
Moritz Bunkus
2d7d27f504
build system: fix building with non-UTF-8 locales
Fixes #2474.
2019-01-05 15:10:14 +01:00
Moritz Bunkus
d6707da459
build system: protect digest calls from re-entry
The code for Ruby's Digest module seems to be racy
wrt. multi-threading. See e.g.
https://github.com/aws/aws-sdk-ruby/issues/525 for details.
2018-12-04 21:13:17 +01:00
Moritz Bunkus
cc7b32a6f4
build system: implement fmt::format & Qt verification in translation files 2018-12-04 17:18:50 +01:00
Moritz Bunkus
6e7f04a142
fmt conversion: integrate bundled fmt into build system 2018-11-20 21:30:27 +01:00
Moritz Bunkus
d1cd5f2ffe
build system: handle OS-specific source file names everywhere
…and not just in the src/mkvtoolnix-gui sub-directory.
2018-11-04 18:58:06 +01:00
Moritz Bunkus
c6ad3ba3cb
generate manifest.xml files from templates 2018-10-28 13:48:27 +01:00
Moritz Bunkus
64a52f7590
build system: fix dependency calculation with zapcc part 2
In revision 9f2038a8ef I tried to fix
dependency handling for zapcc which were output in a different
format. Unfortunately this broke with other compiler versions that
still put multiple source files on a single line separated by spaces.

So fix the fix.
2018-08-20 17:12:34 +02:00
Moritz Bunkus
9f2038a8ef
build system: fix dependency calculation with zapcc
zapcc (and probably newer clangs, too) will always output absolute
paths to source files in the dependency files they create. Therefore
the algorithm that removes any file not part of the MKVToolNix source
tree from the dependency list has to take that into account.
2018-08-20 14:49:16 +02:00
Moritz Bunkus
9e04c038f4
packaging: move all packaging files to packaging directory 2018-06-25 17:59:11 +02:00
Moritz Bunkus
5f5ae9542e Windows build: build libmtxcommon as DLL on shared builds 2018-04-08 12:53:57 +02:00
Moritz Bunkus
5f3f995fde build system: add accidentally ignored compilation_database.rb 2018-02-27 20:42:23 +01:00
Moritz Bunkus
0dc4ed132c Rakefile: read build-config.local if present and overlay over build-config 2018-01-22 23:41:32 +01:00
Moritz Bunkus
de37cf3418 build system: output error if command to execute isn't found 2018-01-21 12:48:15 +01:00
Moritz Bunkus
eebe77f6a3 build system: use FileUtils.mkdir_p instead of a mutex for creating directories
No need for a full-blown mutex as `mkdir_p` already handles the
directory existing correctly via catching the corresponding
exception.

See #2194.
2018-01-13 21:30:56 +01:00
Moritz Bunkus
635e546a58 build system: avoid race condition when creating dependency directories 2018-01-08 21:10:52 +01:00
Moritz Bunkus
92e67523bd build system: add direct dependency for .moc → .h 2018-01-06 10:09:20 +01:00
Moritz Bunkus
c2f7fbb05a build system: extend RUN_SHOW_START_STOP to runq_git 2018-01-02 22:36:54 +01:00
Moritz Bunkus
80761260be build system: show start/stop messages including duration with RUN_SHOW_START_STOP 2018-01-02 15:40:24 +01:00
Moritz Bunkus
26f8fec50c Rakefile: fix Qt dependencies to .ui for .moc 2018-01-01 12:17:44 +01:00
Moritz Bunkus
740838f793 Rakefile: Qt: fix building the qt_resources.qrc file 2018-01-01 12:01:04 +01:00
Moritz Bunkus
8b073325ea Rakefile: Qt: handle #includes in .h for .ui-based .h, too 2018-01-01 11:25:28 +01:00
Moritz Bunkus
17eb6205e0 Rakefile: add task for dumping a task's dependencies 2018-01-01 11:02:38 +01:00
Moritz Bunkus
8d4ed87ca7 Rakefile: fix building mkvinfo-gui, mkvinfo 2017-12-31 12:22:39 +01:00
Moritz Bunkus
e2c4b169b6 build system: fix Qt dependencies for mkvinfo's GUI 2017-12-31 11:05:09 +01:00
Moritz Bunkus
0fc23cd7bd build system: option for running unit tests with valgrind 2017-12-18 22:02:50 +01:00
Moritz Bunkus
cd155df59b configure rework compiler type & version check 2017-11-18 10:46:36 +01:00
Moritz Bunkus
88a2dc55af macOS: ensure MACOSX_DEPLOYMENT_TARGET is set during compilation 2017-08-20 19:46:57 +02:00
Moritz Bunkus
6710d27554 build: add tests for header/include guard syntax 2017-07-15 11:57:45 +02:00
Moritz Bunkus
5886f4cf75 build system: run test suite with LC_ALL=C
Otherwise the translations of an existing installation of MKVToolNix
might be used causing tests such as the file size formatting functions
to fail as translated unit names are used.

See #2011.
2017-06-18 11:50:18 +02:00
Moritz Bunkus
4772eaa20a Rakefile: method for updating Windows installer translation files from English 2017-05-20 19:00:31 +02:00
Moritz Bunkus
485030bcc0 build system: only build files intended for target 2017-04-04 19:26:54 +02:00
Moritz Bunkus
8b295e1332 build system: fix pugixml again
Another part of the implementation of #1891.
2017-02-13 21:37:29 +01:00
Moritz Bunkus
c1213feac3 build system: try detecting pugixml via pkg-config with fallback
Implements #1891.
2017-02-13 20:47:45 +01:00
Moritz Bunkus
040c0fccf4 build system: remove included drake 2017-01-08 21:00:55 +01:00
Moritz Bunkus
d7b691b6f5 all: remove --check-for-updates command line option & dependency on CURL 2016-12-30 15:01:30 +01:00
Moritz Bunkus
c7e004efa1 PCH #include scanner: force string encoding to be UTF-8
If the locale is set to non-UTF-8 when (d)rake is invoked then Ruby will
set the encoding of all strings read from files to US-ASCII. As several
source files do use non-ASCII characters this results in warnings from
Ruby about "invalid byte sequence in US-ASCII".

As all of my source code files are encoded in UTF-8 we can simply
enforce this.

This happens when building the RPMs which sets the locale to C.
2016-12-10 11:32:50 +01:00
Moritz Bunkus
9c2ecc392a build system: update Project-Id-Version PO header on manual updates, too 2016-11-20 17:27:08 +01:00
Moritz Bunkus
d2e4b377d6 build system: normalize-po: constrict msgstr entries to number of plurals in header 2016-11-02 15:28:26 +01:00
Moritz Bunkus
1bf229372e po helpers: don't remove fuzzy flag in orig item if present in updated item, too 2016-07-23 14:20:05 +02:00
Moritz Bunkus
e0c97ab528 format string verification: ignore fuzzy entries 2016-07-11 21:53:14 +02:00