Commit Graph

66 Commits

Author SHA1 Message Date
Moritz Bunkus
5430290cf1
configure: query pkg-config for flags & libraries for gtest
See #3696
2024-05-04 21:50:01 +02:00
Moritz Bunkus
8a2da1a252
all: switch back to requiring & using Boost's file system library
gcc's implementation of the C++17 file system library doesn't support
UNC paths of style `\\?\…` on Windows. There doesn't seem to be any
progress towards implementing support for it.

Fixes #3058. See also #2916.
2023-01-14 17:49:45 +01:00
Moritz Bunkus
a8b1eab3dc
remove remaining occurrences of PCRE2 & JPCRE2 2021-06-27 12:53:38 +02:00
Moritz Bunkus
80cbad698d
remove usage of the magic library
Part of the fix of #3137.
2021-06-16 16:42:01 +02:00
Moritz Bunkus
3caf7deabf
build system: link command line applications against Qt's core library
This is in preparation of fixing #3137. The plan is not to use
libfile's MIME type detection but Qt's. As both mkvmerge and the GUI
need to auto-detect the MIME type, this means that the command line
applications will have to be linked against Qt's core library (but not
the GUI libraries).
2021-06-15 22:39:40 +02:00
Moritz Bunkus
79bcf14c8f
only link against libstdc++fs if it's actually available
It's neither available nor required on macOS.
2021-02-20 00:43:48 +01:00
Moritz Bunkus
752f66db45
switch from boost::filesystem to std::filesystem 2021-02-19 21:28:23 +01:00
Moritz Bunkus
941e47d97c
build system: look for & require the PCRE2 library 2020-08-20 13:29:29 +02:00
Moritz Bunkus
a8139750c5
build system: look for and use libdvdread if found
This library is required for reading chapters from DVDs.

Part of the implementation of #2808.
2020-05-03 11:53:20 +02:00
Moritz Bunkus
080dfeda57
source: use std::regex instead of boost::regex 2019-12-31 15:53:03 +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
9c50085e3f
all: macOS: normalize file & path names to NFD
Fixes #2620.
2019-09-27 17:27:16 +02:00
Moritz Bunkus
0830be34db
build sys: include globally-required modules from single place 2019-02-05 13:45:34 +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
5f5ae9542e Windows build: build libmtxcommon as DLL on shared builds 2018-04-08 12:53:57 +02:00
Moritz Bunkus
92e67523bd build system: add direct dependency for .moc → .h 2018-01-06 10:09:20 +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
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
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
d7b691b6f5 all: remove --check-for-updates command line option & dependency on CURL 2016-12-30 15:01:30 +01:00
KonaBlend
cee1debeaf add explicit pch support
- convert gcc to use -include
- add clang support for -include
- new target namespace: pch (invoke rake -T or pch:overview for details)
- move pch logic into rake.d/pch.rb
- convert a few troublesome source files from ISO-8859-1 -> UTF-8
- add persistent config: config.pch.json
- add TTY support for running commands with filters (keeps pretty
  color diagnostics even when filtering compiler stdout/stderr)
- for fun try:

        drake "pch[pretty]"
        drake -j4
        drake pch:status
2016-03-26 03:52:21 -04:00
Moritz Bunkus
01e6695b8c build system: remove superfluous bin2h functions
This function and the associated rules are leftovers from the
mmg/wxWidgets days.
2016-01-18 21:12:49 +01:00
Moritz Bunkus
d867a79d97 build system: use {EBML,MATROSKA}_{CFLAGS,LIBS} from pkg-config if not internal 2015-11-21 11:56:27 +01:00
Moritz Bunkus
64465ce72b all: remove support for wxWidgets; remove mmg 2015-08-15 20:33:46 +02:00
Moritz Bunkus
afb6472d6d build system: use correct order for linker flags for internal libEBML/libMatroska
Should fix #1177.
2015-04-28 13:55:10 +02:00
Moritz Bunkus
728fb0a307 GUI, mkvinfo GUI: link against Cocoa platform plugin on Mac OS 2015-04-19 19:53:12 +02:00
Moritz Bunkus
577cc0f7cc build system: build pre-compiled headers before MKVToolNix GUI sources 2015-03-31 21:47:11 +02:00
Florent Thiéry
b00eeac099 rename STATIC_LIBS by LINK_STATICALLY because it was misleading 2015-02-19 13:36:40 +01:00
Anthony Violo
1e6b546cd1 Added option to compile static binaries 2015-02-18 11:44:45 +01:00
Moritz Bunkus
3310e6b486 mkvinfo, mkvtoolnix-gui: don't link QtAccessiblePlugin for Windows
It seems not to be needed for 5.3.x, and in 5.4.x it doesn't even exist
as a separate plugin anymore.
2015-02-03 10:53:57 +01:00
Moritz Bunkus
b47ae1ee4b build system: use libEBML/libMatroska via pkg-config 2014-12-21 10:50:26 +01:00
Moritz Bunkus
61e9e36592 build sys: use system version of pugixml if present
Fixes #1090.
2014-12-05 12:35:39 +01:00
Moritz Bunkus
265049a45b GUI: load QtAccessibleWidgets plugin 2014-09-09 14:28:35 +02:00
Moritz Bunkus
4a610ce9c1 Build system: Qt: link against and load platform plugin on Windows 2014-09-07 21:30:50 +02:00
Moritz Bunkus
2d3be2275f build system: use tighter dependencies for Qt files 2014-02-01 23:43:57 +01:00
Moritz Bunkus
afd81c7bb6 build system: only depend on .png header for files actually using them 2014-01-01 22:37:28 +01:00
Moritz Bunkus
2670e2e168 build system: use gtest system installation if present 2013-12-25 13:00:28 +01:00
Moritz Bunkus
2daf658edc All: remove support for BZ2 and LZO compression 2013-03-03 21:04:19 +01:00
Moritz Bunkus
1cd37eb212 Common init code for test cases; start of unit tests for propedit 2012-08-15 09:16:52 +02:00
Moritz Bunkus
dc225ba8d6 Build static library for each executable (except mmg)
Helps unit tests for those
2012-08-13 21:20:50 +02:00
Moritz Bunkus
79421eaa6f Build framework for unit tests based on Google's test framework 2012-08-07 23:08:40 +02:00
Moritz Bunkus
abcc50f2b4 Fix linking if configure --cache-file is used twice 2012-04-24 19:55:43 +02:00
Moritz Bunkus
bb155cc1dd Implement/fix build system for mmg-qt 2012-04-09 17:48:38 +02:00
Moritz Bunkus
f39cbdd042 Add the pugixml library 2012-03-17 01:10:46 +01:00
Moritz Bunkus
5f8795c2e2 Simplify library link list 2012-03-17 01:07:45 +01:00