Commit Graph

91 Commits

Author SHA1 Message Date
Dennis Klein
d503dbc6e2 build: Use fairmq-tidy on our own codebase when RUN_FAIRMQ_TIDY=ON 2021-07-16 11:38:27 +02:00
Dennis Klein
551d8d9f1c build: Have color output depend on a common switch DISABLE_COLOR 2021-07-16 11:38:27 +02:00
Dennis Klein
52685997d0 feat(tidy): Add new FairMQTidy.cmake module 2021-07-16 11:38:27 +02:00
Dennis Klein
0fcddd9d76 feat(tidy): Add new fairmq-tidy tool 2021-07-16 11:38:27 +02:00
Dennis Klein
87ff31d625 feat: Drop public bundled dependency to asio 2021-07-16 11:38:27 +02:00
Dennis Klein
0c46d06596 feat(ofi): Require asiofi 0.5
* Modernize some ofi transport code along the way
  * Replace Boost.Container with `<memory_resource>`
  * Introduce namespaced headers
    * `<fairmq/Channel.h>`
    * `<fairmq/Message.h>`
    * `<fairmq/Poller.h>`
    * `<fairmq/Socket.h>`
    * `<fairmq/TransportFactory.h>`
    * `<fairmq/UnmanagedRegion.h>`
* Compile-firewall Boost.Process in `shmem::Manager` because it conflicts
with standalone asio
2021-07-16 11:38:27 +02:00
Dennis Klein
ab5472a93f feat: Drop public dependency to Boost.Asio and use standalone asio 2021-07-16 11:38:27 +02:00
Dennis Klein
38f9870893 ci: Run additional checks 2021-07-07 14:43:32 +02:00
Dennis Klein
1df338b262 feat: Require DDS 3.5.13.7 2021-07-07 14:43:32 +02:00
Dennis Klein
0046bb38aa build: Simplify sanitizer flags 2021-07-07 14:43:32 +02:00
Dennis Klein
a18ce7a435 build: Fix the list append 2021-07-07 14:43:32 +02:00
Dennis Klein
f413aa1979 build: Fix default for BUILD_TESTING 2021-07-07 14:43:32 +02:00
Alexey Rybalchenko
ab54668aee set CMAKE_EXPORT_COMPILE_COMMANDS unconditionally 2021-06-15 11:54:29 +02:00
Dennis Klein
2e655823e4 CMake: Do not unconditionally override settings without good reason
fixes #342
2021-05-28 15:09:01 +02:00
Dennis Klein
20200f02a3 CMake: Refactor into topic-based modules 2021-05-28 10:38:14 +02:00
Christian Tacke
7616b0b0aa CMake: Set CXX language level via target_compile_features()
See: https://gitlab.kitware.com/cmake/cmake/-/issues/18446
See: https://cmake.org/cmake/help/latest/manual/cmake-compile-features.7.html#requiring-language-standards
2021-05-28 10:38:14 +02:00
Dennis Klein
575054a11f Bundle and use FairCMakeModules 2021-05-28 10:38:14 +02:00
Dennis Klein
ed78ccd29c CMake: Remove cotire dependency
CMake now has native unity build support:
https://cmake.org/cmake/help/latest/variable/CMAKE_UNITY_BUILD.html
2021-05-28 10:38:14 +02:00
Dennis Klein
d15bc17b12 extern/asio: Bump and require v1.18.1 2021-05-28 10:38:14 +02:00
Dennis Klein
9724f184f4 Fallback to Boost.Filesystem on GCC 8 2021-05-07 13:13:16 +02:00
Dennis Klein
ea9aede652 Fallback to <boost/filesystem> on GCC 7 2021-04-08 16:22:47 +02:00
Christian Tacke
7edf436919 Improve PMIx Package Finding on Debian
Debian's libpmix-dev package installs everything below
/usr/lib/ARCH-TRIPLET/pmix2.
For some reasoning behind this,
see: https://bugs.debian.org/882033

CMake does not search there by default, so help it.

Also add myself to CONTRIBUTORS.
2020-10-08 17:27:12 +02:00
Alexey Rybalchenko
9e2a002942 Add -Og flag to Debug build 2020-06-29 14:44:49 +02:00
Alexey Rybalchenko
bdf895ae9e Add PicoSHA2 dependency 2020-06-05 18:16:13 +02:00
Alexey Rybalchenko
0a5820c07f Fix Typo 2020-04-06 18:42:34 +02:00
Dennis Klein
d608abf31c Fix -Wpedantic 2020-01-27 20:50:11 +01:00
Dennis Klein
c180300303
Increase severity
From user feedback we learned that it is preferred to have this
condition rather fail fast than just warn.
2020-01-16 19:11:36 +01:00
Dennis Klein
71325828f6
CMake: Add option ENABLE_CCACHE 2019-11-15 14:44:56 +01:00
Dennis Klein
040931fba7
CMake: Pass multi-value argument atomically 2019-10-28 18:01:56 +01:00
Alexey Rybalchenko
ea9ad64664 CMake: Support multiple values for REQUIRES in fairmq_build_option 2019-09-30 12:18:49 +02:00
Dennis Klein
fa394194e8
CMake: Fix working directory for submodule update command 2019-09-11 15:41:43 +02:00
Dennis Klein
1055f035ff CMake: Issue a warning if build option requirements are not met 2019-09-04 21:17:35 +02:00
Dennis Klein
75a3a80ac1 CMake: Fix submodule update command 2019-09-04 21:17:35 +02:00
Dennis Klein
f73a6d71ed CMake: Do not use git version in install tree 2019-09-04 21:17:35 +02:00
Dennis Klein
1dec059104 SDK: Require C++14, CMake 3.11 and bundle asio 1.13.0
Decouple from Boost distro to be able to use
newest releases and rely on std::error_code only.
2019-09-04 21:17:35 +02:00
Dennis Klein
88ff5d8fc0 CMake: Bundle GTest 2019-09-04 21:17:35 +02:00
Dennis Klein
d6d9312e53 CMake: Add find module for asio 2019-09-04 21:17:35 +02:00
Dennis Klein
afadb2a078 Make find_package2 a bit smarter
The VERSION arguments now supports multiple values and picks the highest
version from the given. The COMPONENTS argument now automatically
removes duplicates.
2019-07-19 14:45:27 +02:00
Dennis Klein
4351b98d85 clang-tidy: Configure via file 2019-07-10 19:35:18 +02:00
Dennis Klein
3da5f4d5db SDK: Add CMake skeleton
* New build flag BUILD_SDK
* New component "sdk"
2019-07-02 21:30:37 +02:00
Dennis Klein
b1c8264123 find_package2: Fix list sub-command REMOVE_DUPLICATES requires list to be present
Fixes #175
2019-06-27 14:02:15 +02:00
Dennis Klein
187a821f36 CMake: Revert VERSION option to single value arg
This fixes a regression introduced in 0ff8eaf that caused other options
to be ineffective in certain cases.

Resolves #164
2019-06-26 20:42:20 +02:00
Dennis Klein
465d90924b CMake: Implement ADD_REQUIREMENTS_OF option for find_package2
Resolves #142
2019-06-26 20:42:20 +02:00
Dennis Klein
3358a2ba12 Require DDS 2.4
* Remove obsolete FindDDS.cmake
* Adapt to new DDS version
2019-06-26 18:39:12 +02:00
Dennis Klein
479c16a8fa CMake: Export build type and cxx flags
Resolve #158
2019-06-24 19:06:38 +02:00
Dennis Klein
660420e4f3 CMake: Support running static analysis
OFF by default (Imposes significant additional build time). Controlled
with CMake variable RUN_STATIC_ANALYSIS.

Supported analysers:
* clang-tidy
* iwyu
* cpplint
2019-06-04 12:17:37 +02:00
Dennis Klein
f8f997abe6 CMake: Set policies by version
This is the recommended way of dealing with policies. Also, this patch
fixes a problem with the policies being set at the wrong depth in the
policy stack.
2019-06-04 12:17:37 +02:00
Dennis Klein
54b7742d85 Drop obsolete dependency to AZMQ 2019-03-21 18:03:32 +01:00
Dennis Klein
95ec56dcf0
Fix regression in exporting required dependency components
Regression introduced with 0ff8eaf
2019-03-06 16:26:24 +01:00
Dennis Klein
a262d4684a Set cmake policy CMP0074 2019-03-06 14:23:08 +01:00