Commit Graph

761 Commits

Author SHA1 Message Date
Martchus e71d54d93f Make run the default arg of TestApplication 2019-06-17 21:04:13 +02:00
Martchus 66bb3e5253 Rename TestApplication::m_instance to TestApplication::s_instance 2019-06-17 21:03:37 +02:00
Martchus 5efb1b4710 Install the version template 2019-06-16 18:23:42 +02:00
Martchus 76b24ceae8 Enable NativeFileStream by default under Windows and Android
* Under Windows is is required to open files which path contains
  non-ASCII characters.
* Under Android it is useful to use open "content://" URLs with
  standard streams.
2019-06-16 18:11:30 +02:00
Martchus 7249751d30 Apply clang-format and cmake-format 2019-06-16 16:54:26 +02:00
Martchus 869a3b2ae2 Don't try to install Qt plugins outside of the install prefix
Even if QMake tells us that would be the right location because
it breaks development setups which use a custom install prefix
and set QT_PLUGIN_PATH accordingly.
2019-06-16 16:54:00 +02:00
Martchus fc9e1ff703 Add version header to libraries 2019-06-16 15:33:10 +02:00
Martchus 5607691251 Deal with "bundled" dependencies
* Allow exporting targets from 3rd party projects which are
  built within my own projects. This is required if the build
  scripts of these 3rd party projects don't have an export on
  their own but are used in the public interface or as a dependency
  of a static library.
* Add those libraries to the pkg-config file as well.
2019-06-15 15:30:56 +02:00
Martchus 428a67d68b Improve test application for cppunit
* Allow to list available tests
* Fail the test if at least one explicitely specified unit
  is not available
2019-06-14 18:07:45 +02:00
Martchus fd531bdd6a Prefix most of the macros in global.h 2019-06-12 20:34:25 +02:00
Martchus 4e2539548d Remove FALLTHROUGH macro
Since this is requiring C++17 anyways there's no need for
it anymore.
2019-06-12 20:33:43 +02:00
Martchus 6c9a956a4f Apply cmake-format 2019-06-10 22:43:42 +02:00
Martchus b48b2f5c06 Have everything in one top-level namespace 2019-06-10 21:56:46 +02:00
Martchus d9e498ba79 Remove DECLARE_ENUM and DECLARE_ENUM_CLASS
lupdate seems to be fixed since quite a while now.
2019-06-10 16:20:56 +02:00
Martchus e18731d438 Remove polyfill for std::make_unique 2019-06-10 16:15:48 +02:00
Martchus 4c1b733290 Rework ArgumentParser::parseArgs()
* Remove "ext()" and "orExit()" versions
* Exit by default (might be intrusive but it is the most
  common use)
* Rename Failure to ParseError
2019-06-10 16:03:27 +02:00
Martchus 93bdf5b4f1 Do not error-out if file system lib not found 2019-06-07 16:45:06 +02:00
Martchus d9b4ca5381 Fix build when not file system library required 2019-06-06 15:20:42 +02:00
Martchus c701fc25ee Remove directoryEntries() 2019-06-05 23:50:38 +02:00
Martchus 83b7658b04 Add test for Bash completion of directory names 2019-06-05 23:49:53 +02:00
Martchus 1ad90eb770 Use std::filesystem in argumentparser.cpp 2019-06-05 23:49:35 +02:00
Martchus 579199fa73 Fix missing std:: in BinaryWriter::writeByte 2019-06-05 23:48:33 +02:00
Martchus aebd324cf4 Add CMake function to use std::filesystem 2019-06-05 23:48:01 +02:00
Martchus 96dda1b862 Prevent use of extra buffer in BinaryReader::readTerminatedString() 2019-06-04 19:40:12 +02:00
Martchus 0f2f98393f Allow inlining more BinaryReader/BinaryWriter functions 2019-06-04 19:27:49 +02:00
Martchus d8a70bb795 Fix implicit signedness conversion 2019-06-04 19:12:08 +02:00
Martchus f95e16bc80 Remove readMultibyteTerminatedString*() functions 2019-06-04 19:10:52 +02:00
Martchus 6d2544b908 Return argument parents by reference 2019-06-04 19:08:46 +02:00
Martchus bfdd6ada2b Disable mingw-w64 packaging specific code by default 2019-06-01 16:32:21 +02:00
Martchus 5a8029692b Fix some Doxygen warnings 2019-06-01 15:07:08 +02:00
Martchus bc0d7af67f Apply cmake-format 0.5.1
* Disable autosort as it messes with add_library and
  add_executable calls
2019-06-01 12:14:30 +02:00
Martchus 1179160fb9 Cover NativeFileStream in README.md 2019-05-30 14:05:03 +02:00
Martchus e120a897c5 Add use_package to 3rdParty 2019-05-30 14:04:04 +02:00
Martchus 9a2679e57d Fix compile error with GCC 7.2.1
Prevents "error: uninitialized variable 'tmp' in 'constexpr' function"
2019-05-29 14:07:50 +02:00
Martchus a865522e67 Use existing TARGET_INCLUDE_DIRECTORY_BUILD_INTERFACE 2019-05-28 17:55:28 +02:00
Martchus 8729fb1e87 Update documentation 2019-05-28 17:55:18 +02:00
Martchus 01f21e63c9 Fix appdata.xml.in 2019-05-19 14:14:25 +02:00
Martchus 6489cae19e Apply cmake-format 2019-05-15 15:52:29 +02:00
Martchus 9a66824739 Add read-only accessors to TestApplication 2019-05-15 15:52:06 +02:00
Martchus c904014794 Make math functions templates and move to misc 2019-05-13 22:42:17 +02:00
Martchus 6e75a293a8 Use override in Failure 2019-05-13 22:41:43 +02:00
Martchus 54aaad49a3 Use std::forward in argsToString() 2019-05-11 19:19:59 +02:00
Martchus eef6cd2f9e Use constexpr or inline in stringbuilder where possible 2019-05-11 19:10:36 +02:00
Martchus f16703ffc0 Remove workingCopyPathMode() 2019-05-11 19:02:32 +02:00
Martchus f0c6035609 Simplify dealing with multiple testfile paths 2019-05-11 18:47:14 +02:00
Martchus 1a478411d6 Default to C++17 2019-05-11 18:42:38 +02:00
Martchus e114b24d3c Add helper to use pkg-config modules
This basically creates imported targets from those
pkg-config modules. It also supports static linkage.

The main effort here is that those imported targets
are also exported appropriately. This is implemented
by letting the config script re-run pkg-config as
required.
2019-05-09 19:27:10 +02:00
Martchus b4cf641cfd Fix setting library version 2019-05-07 16:49:19 +02:00
Martchus a1267f2015 Fix handling undefined INTERFACE_REQUIRED_PACKAGES 2019-05-06 16:22:35 +02:00
Martchus 0443905986 Fix creation of desktop files 2019-05-05 23:19:05 +02:00