Martchus
e9803a41dc
Fix inconsistent variables for compile options/definitions
...
So these options/definitions should no longer be missing in some
places, e.g. the pkg-config file.
2020-02-14 13:22:47 +01:00
Martchus
4dd2179f19
Fix remaining install dirs to use GNUInstallDirs consistently
2020-02-13 11:32:28 +01:00
Martchus
b2a2773cdf
Support passing absolute path to CMAKE_INSTALL_INCLUDEDIR
...
See https://github.com/Martchus/cpp-utilities/issues/18
2020-02-13 11:19:36 +01:00
Martchus
1eb64f1208
Make install directory for bash completion files customizable
...
* Use CMAKE_INSTALL_DATAROOTDIR for default
* Allow overriding via BASH_COMPLETION_INSTALL_DIR
2020-02-10 17:22:17 +01:00
Martchus
115133b7a5
Use target name for bash completion file
...
Otherwise it doesn't seem to be sourced automatically
2020-02-10 17:15:32 +01:00
Martchus
30878fab07
Prevent duplicated LIB_SUFFIX
...
Some build system macros might pass CMAKE_INSTALL_LIBDIR/LIB_INSTALL_DIR
and LIB_SUFFIX at the same time. I suppose in this case the LIB_SUFFIX
should not be added if it is already present to avoid `lib6464`.
2020-02-04 17:09:47 +01:00
Martchus
fe43824c98
Allow passing LIB_INSTALL_DIR as well
...
That variable (but not `CMAKE_INSTALL_LIBDIR`) is apparently
passed when building for Fedora with the `%cmake` RPM macro.
2020-02-04 15:30:01 +01:00
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
f5e275288d
Reformat CMake files with cmake-format 0.6.7
2020-01-26 19:24:04 +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
522d2e8cc8
Avoid an indentation level in TestTarget.cmake
2020-01-20 17:57:03 +01:00
Martchus
d5930c8d60
Set visbility preset for test application to default
2020-01-20 17:54:28 +01:00
Martchus
a9cb91bee2
Set default visibility explicitely to hidden
...
Hidden default visibility is already expected to be handled by
users of the library because it is the default under Windows.
2020-01-10 18:05:55 +01:00
Martchus
9d8135bfd7
Require CMake 3.3.0 in all modules
2020-01-10 18:01:13 +01:00
Martchus
1ce06517cc
Apply cmake-format 0.6.5
2019-12-27 01:45:30 +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
f9e545abdc
Remove surplus whitespace
2019-08-21 22:31:04 +02:00
Martchus
e14b5bf335
Remove unused CMake variable
2019-08-20 22:08:47 +02:00
Martchus
f9bd0b5987
Don't use @META_CONFIG_SUFFIX@ in APP_SPECIFIC_QT_TRANSLATION_FILES
...
See a40d2974e0
2019-08-09 23:20:10 +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
de2d6f6d98
Improve pkg-config file generation
...
* Prevent imported library paths pointing to build directory
ending up in pkg-config file
* Handle targets which reference other targets but have not pkg-config
module
* Fix check for BUNDLED_TARGETS
2019-08-05 23:45:08 +02:00
Martchus
79855f285d
Improve pkg-config file generation
...
* Don't refer to bundles libraries via its imported location
* Add dependencies of imported targets
2019-08-05 19:07:49 +02:00
Martchus
3d47869bcd
Use META_PLUGIN_CATEGORY within build directory
...
The *.so file might not be found when not in the right
subdirectory.
2019-07-26 22:01:00 +02:00
Martchus
eb34ce610d
Add domain to ApplicationInfo
2019-07-20 20:57:56 +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
Chih-Hsuan Yen
9264f1ac76
Add icons (*.icns) for Mac OS X/macOS .app bundles
2019-07-20 12:14:30 +08:00
Chih-Hsuan Yen
6f3a1fa086
Make .app bundles work on macOS
...
By setting CMake variables for Info.plist generation. Some of them are
necessary and others are good to have.
2019-07-17 17:53:16 +08: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
81a3d4fa94
Don't skip entire use_pkg_config_module if target exists
...
Otherwise the same library can not be added to another library
variable.
2019-07-09 18:36:28 +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
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
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
aebd324cf4
Add CMake function to use std::filesystem
2019-06-05 23:48:01 +02:00
Martchus
bfdd6ada2b
Disable mingw-w64 packaging specific code by default
2019-06-01 16:32:21 +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
e120a897c5
Add use_package to 3rdParty
2019-05-30 14:04:04 +02:00
Martchus
a865522e67
Use existing TARGET_INCLUDE_DIRECTORY_BUILD_INTERFACE
2019-05-28 17:55:28 +02:00
Martchus
01f21e63c9
Fix appdata.xml.in
2019-05-19 14:14:25 +02:00