Commit Graph

50 Commits

Author SHA1 Message Date
Martchus 3a6bbb0115 Allow enabling GUI config even when no specific sources present
Useful when GUI specific code is only wrapped using #ifdef so
there are no extra files.
2018-06-24 20:47:19 +02:00
Martchus b77607f3e0 Rename META_REQUIRED_FEATURES
Because those features are actually not required.
2018-06-03 22:15:20 +02:00
Martchus 4a69db787d Allow to create header for feature detection
The header will only contain some preprocessor conditions.
CMake will *not* do checks with the current compiler.
2018-06-03 21:49:01 +02:00
Martchus 52bf075317 Move creation of srcdirref and testfiles dir to BasicConfig
Those make testing more convenient and are also useful when
there's no test target, eg. when testing syncthingtray with
mocked configuration.
2018-05-01 23:59:28 +02:00
Martchus 19332033ec Format all GUI-only files 2018-03-11 18:58:26 +01:00
Martchus 8a83870ac7 Allow variable number of digits in license versions 2018-02-28 18:01:17 +01:00
Martchus e57e79f9c9 Stringify meta data in template 2018-02-21 22:07:05 +01:00
Martchus 486c99f7fd Determine project license automatically 2018-02-21 21:58:27 +01:00
Martchus 486a09c1c5 Add basic template for meta info 2018-02-18 20:18:00 +01:00
Martchus 2203e0a335 Set dependencies of tidy target correctly 2017-10-24 01:01:29 +02:00
Martchus 05605a1b25 Filter files for tidy 2017-09-09 21:35:55 +02:00
Martchus b7381eb55c Do not use -static under MacOS 2017-08-05 18:38:02 +02:00
Martchus e4709099d2 Prevent error in coverage target when building only static libs 2017-07-28 17:34:28 +02:00
Martchus 36b2498dd6 Allow disabling install targets
Might be useful if install targets cause
problems, eg. under MacOS
2017-07-20 01:43:10 +02:00
Martchus 28f76db46e Add install target for 'extra-files'
So additional files like tests/calculateoverallcoverage.awk
and coding-style.clang-format are installed and can be used
by other projects, too.
2017-07-11 19:34:38 +02:00
Martchus a4fc4024b5 Make tidy and coverage optional and disabled by default
* Prevent warnings about required tools being unavailable
  when tidy/coverage targets aren't desired anyways (eg.
  when packaging)
* Do not automatically execute tidy check when packaging
  in unclean environment
2017-06-20 23:38:45 +02:00
Martchus 6807d899d2 Enable source code based coverage analysis 2017-06-18 16:17:44 +02:00
Martchus 5e67a9b691 Make check target depend on .clang-format file 2017-06-01 18:24:14 +02:00
Martchus 04c1f98361 Format test code, too 2017-05-02 23:31:12 +02:00
Martchus 7e49d3994f Allow skipping creation of tidy target 2017-05-01 03:03:20 +02:00
Martchus 2ef55c439c Add tidy test 2017-05-01 02:57:58 +02:00
Martchus 7e0f65ed78 Call clang-format with all src files 2017-05-01 02:57:58 +02:00
Martchus b74327d961 Move creation of check target to BasicConfig.cmake
* So other tests like tidy check can be added
* Even if there are no tests after all, the
  check target shoudn't cause any problems
2017-05-01 02:57:58 +02:00
Martchus d76ead0483 Add tidy target using clang-format 2017-05-01 02:57:58 +02:00
Martchus 412e725309 Append Git revision to version
* Append Git revision and ID of latest commit
  to version displayed via --help
* Can be turned off via option
* Has no effect if the source dir is not
  a Git checkout or Git is not installed
* Implements
  https://github.com/Martchus/tageditor/issues/13
2017-04-15 01:45:03 +02:00
Martchus 88196b8076 Allow creation of plugins via LibraryTarget 2017-02-20 20:03:16 +01:00
Martchus 64cc931555 Improve CMake modules 2017-02-11 02:30:46 +01:00
Martchus 96c4e24b6c Require C++14 2017-02-05 19:19:59 +01:00
Martchus cb3b50c28c Allow overriding default CXX_STANDARD
to ease using newer C++ features in further
projects without setting the standard manually
for each target
2017-02-04 17:44:46 +01:00
Martchus b903adccdb Provide an imported target for libs 2016-11-12 02:06:52 +01:00
Martchus e09386f6ed Allow adding 'GenericName' in *.desktop file 2016-11-04 14:02:23 +01:00
Martchus e8b3f72f50 Log currently processed project 2016-11-04 10:41:16 +01:00
Martchus 4d0807de9b Fix minor issues in build scripts 2016-09-30 23:52:00 +02:00
Martchus 34cd505bf7 Remove dependencies of install targets
Dependencies were preventing installing
static-only builds
2016-09-11 23:10:29 +02:00
Martchus 909b5c2b57 Rename variables for enabling/disabling shared/static libs
Avoids conflicts when using mingw-w64-cmake wrapper
2016-09-06 22:51:00 +02:00
Martchus d6b08b8ed9 Fix decoration for static builds
- Also add improvemnts a few other things in the build system
2016-08-29 15:35:48 +02:00
Martchus fe4e4b2ef5 Fix issues concerning building/using static libraries
- Ensure static versions of 3rd party libs are
  found correctly
- Link tests against statically if only static
  libraries have been built
- Ensure standard lib is linked statically when
  static linkage is enabled
2016-08-19 16:14:55 +02:00
Martchus 9f68a95920 Add pkg-config file 2016-08-14 16:49:40 +02:00
Martchus 2f1f20c8c3 Generate config header in extra module 2016-07-27 21:38:40 +02:00
Martchus 189a6fe6ba Approach to enable static linkage
Linking statically might be useful, especially
when linking Windows applications since MinGW
is less buggy then.
2016-07-22 01:35:32 +02:00
Martchus 8efe38dadf Improve details in the build system
- add target to run cross compiled Windows binaries with wine
- quit tests if --help has been specified
2016-07-16 23:04:22 +02:00
Martchus 18845b3ce0 Use option for CMake options 2016-07-10 00:16:43 +02:00
Martchus 209b953754 Add CMake variable to control logging 2016-07-03 22:13:04 +02:00
Martchus 46edfccc8f Set TARGET_EXECUTABLE in CMake pro 2016-07-02 02:04:32 +02:00
Martchus 980794066b Provide workaround for GCC Bug 66145 2016-06-14 22:53:19 +02:00
Martchus 4d1c874b56 Add target for API doc 2016-06-10 10:24:54 +02:00
Martchus 2a58a83c3c Fix template paths 2016-05-23 00:04:06 +02:00
Martchus 176b81b431 set META_PROJECT_VARNAME and META_PROJECT_VARNAME_UPPER if not specified
explicitely
2016-04-21 23:57:45 +02:00
Martchus d27520af68 fixed some issues caused the build system changeings 2016-04-16 18:32:22 +02:00
Martchus bd0cbd5802 reduce code duplication in build system
- get rid of qmake project file
- provide CMake modules for common tasks
- provide templates for *.desktop files
2016-04-16 02:11:05 +02:00