Martchus
dcb1d896c2
Apply cmake-format
2020-02-04 15:24:13 +01:00
Martchus
c97dfbfd4c
Use GNUInstallDirs
...
See https://github.com/Martchus/cpp-utilities/issues/17
2020-02-01 00:01:26 +01:00
Martchus
0b56ecfb04
Run cmake-format individually for each file
...
Seems like cmake-format 0.6.7 only applies CLI options
to the first file anymore. So in order to have the options
applied to all files and not just the first one just
invoke it for each file individually.
2020-01-26 19:23:18 +01:00
Martchus
9d8135bfd7
Require CMake 3.3.0 in all modules
2020-01-10 18:01:13 +01:00
Martchus
3fb40baebc
Reformat CMake scripts against cmake-format 0.6.3
2019-12-15 18:58:42 +01:00
Martchus
6376819c07
Apply cmake-format v0.6.0
2019-11-30 17:58:01 +01:00
Martchus
7cdfca9407
Apply cmake-format
2019-09-14 20:52:57 +02:00
Martchus
ea2804f147
Allow user to append custom libs to linker line
...
Use-case is explained in the documentation. This implementation
takes care that the additional libs actually occur at the end
of the linker line despite the use of imported targets with
INTERFACE_LINK_LIBRARIES. It might still not be perfect but
sufficient for current use-cases.
2019-08-24 13:00:32 +02:00
Martchus
c483dcc7bf
Remove obsolete code for handling static targets
2019-08-06 17:43:12 +02:00
Martchus
99bc257755
Apply cmake-format
2019-08-06 00:02:38 +02:00
Martchus
d168717023
Configure install destinations already in BasicConfig.cmake
...
It might be already useful before the library config is applied.
2019-08-05 23:46:09 +02:00
Martchus
d184370fea
Add note about project()
...
So I don't get the bright idea to revert recent
changes again in some future refactoring.
2019-07-20 18:04:10 +02:00
Martchus
d318585fb2
Add EXCLUDED_FILES variable
...
When adding source files to the _FILES variables conditionally
those are so far not being formatted or translated. Adding
these files at least to the EXCLUDED_FILES will fix this.
Replaces DOC_ONLY_FILES which served the same purpose but was
limited to documentation.
2019-07-13 14:01:25 +02:00
Chih-Hsuan Yen
ee31e5c1d1
Fix building with Xcode
2019-07-13 10:22:21 +08:00
Martchus
fd531bdd6a
Prefix most of the macros in global.h
2019-06-12 20:34:25 +02:00
Martchus
6c9a956a4f
Apply cmake-format
2019-06-10 22:43:42 +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
1a478411d6
Default to C++17
2019-05-11 18:42:38 +02:00
Martchus
a17f322f3c
Apply cmake-format
2019-05-04 20:57:56 +02:00
Martchus
1480d9ab63
Support installing multiple configurations within the same prefix
2019-05-04 01:59:45 +02:00
Martchus
8ffe0e6a51
Polish CMake code
2019-04-22 22:19:08 +02:00
Martchus
e9cc26478b
Don't mix building static and shared libraries
2019-04-22 20:42:48 +02:00
Martchus
86f3bf8b3b
Apply cmake-format
2019-02-06 17:30:52 +01:00
Martchus
42dd86a16e
Support cmake-format via tidy target
2019-02-05 22:51:07 +01:00
Martchus
8ed1a03f92
Consider *.c and *.hpp files formattable as well
2018-12-08 19:06:01 +01:00
Martchus
2f0a7050ac
Auto-detect bugtracker on Gitea
2018-12-08 19:04:48 +01:00
Martchus
26496c310e
Make path of Git executable configurable
2018-12-08 19:04:01 +01:00
Martchus
3c02ad6d92
Fix check for source files
2018-09-24 22:39:09 +02:00
Martchus
3a65e3ecdd
Adjust CMake modules for better Android support
2018-09-16 00:25:04 +02:00
Martchus
35ebac1cac
Add static-check target for executing clang-tidy
2018-07-27 16:19:16 +02:00
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