Commit Graph

37 Commits

Author SHA1 Message Date
Martchus 1c6315a078 Add opt-outs for additional linker flags to achieve a fully statically linked build
See https://github.com/Martchus/syncthingtray/issues/64
2020-04-27 22:55:06 +02:00
Martchus 3fb40baebc Reformat CMake scripts against cmake-format 0.6.3 2019-12-15 18:58:42 +01:00
Martchus 99bc257755 Apply cmake-format 2019-08-06 00:02:38 +02: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 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 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 6489cae19e Apply cmake-format 2019-05-15 15:52:29 +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 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 c0f74e4c89 Add BOOST_IOSTREAMS_DYN_LINK to compile defs
if linking dynamically against Boost.Iostreams
2018-10-21 20:24:55 +02:00
Martchus 749eea2ab6 Support NativeFileStream via Boost.Iostreams
So it can also be enabled when not using libstdc++.
2018-09-30 13:55:30 +02:00
Martchus 0dcbb3de55 Improve coding style in CMake modules 2018-02-21 23:07:51 +01:00
Martchus ae249140bc Use also actual lib name to check whether dependency is public
In accordance to 'Fix adding public Qt modules in pkg-config'
in qtutilities (b2e3506ff59ae4b610c91bd9ee96333871fa5864).
2017-10-08 20:24:48 +02:00
Martchus 472e0296d0 Fix adding public static lib dependencies 2017-10-08 19:42:55 +02:00
Martchus 032111eef0 Distinguish exporting/enabling resources of static libs
Required because we now allow to provide dynamic libs as
dependencies of static libs
2017-08-31 02:15:46 +02:00
Martchus b45fe7eaeb Allow providing a shared lib as dependency for a static lib
Previously the case when the dependency of a static library
was provided by a dynamic library has not been handled
correctly leading to linker errors when building the final
application.
2017-08-06 00:35:11 +02:00
Martchus 326551ee02 Allow to force use of external iconv 2017-07-20 01:25:13 +02:00
Martchus 73f11eeb2a detecting 3rdparty libs: Fix overriding cache variables 2017-07-20 01:24:35 +02:00
Martchus 6f146072ea Allow overriding 3rd party libs/includes
So passwordfile can be told to use legacy OpenSSL
header in accordance with Qt 5 which still requires
OpenSSL 1.0
2017-07-04 22:44:32 +02:00
Martchus ecce539a18 Do not set global include dirs
TODO: Set include dirs on target level
2017-05-24 23:29:17 +02:00
Martchus 6042336038 Allow checking whether external lib is used 2017-04-15 23:20:27 +02:00
Martchus 2e0df8aa6a Allow linking only tests in 3rdParty macros
So tagparser tests can link against OpenSSL
for computing checksums
2017-04-08 18:29:21 +02:00
Martchus 64cc931555 Improve CMake modules 2017-02-11 02:30:46 +01:00
Martchus f23c381da4 Support dylib extension used under macOS 2017-01-15 17:44:23 +01:00
Martchus b903adccdb Provide an imported target for libs 2016-11-12 02:06:52 +01:00
Martchus 6e7e87b73f Improve use of 3rd party libs 2016-10-29 00:19:47 +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 323ad615cb Add macro to use iconv 2016-07-27 18:21:43 +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