-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FetchContent Improvements #373
base: main
Are you sure you want to change the base?
FetchContent Improvements #373
Commits on Sep 29, 2023
-
Raise minimum required CMake version to 3.25
This allows us to use FIND_PACKAGE_ARGS for FetchContent with the SYSTEM argument.
Configuration menu - View commit details
-
Copy full SHA for 6bc3f41 - Browse repository at this point
Copy the full SHA 6bc3f41View commit details -
Use SYSTEM for FetchContent_Declare statements
Warnings in thirdparty dependencies are not very interesting for the development of an application. By setting the SYSTEM arg we will include the dependency header via `-isystem` instead.
Configuration menu - View commit details
-
Copy full SHA for db8c33d - Browse repository at this point
Copy the full SHA db8c33dView commit details -
Use FIND_PACKAGE_ARGS for tomlplusplus
Straightforward adaption to leverage `find_package` on those systems that have a tomlplusplus that's new enough for our purposes.
Configuration menu - View commit details
-
Copy full SHA for 58763e1 - Browse repository at this point
Copy the full SHA 58763e1View commit details -
Leverage FIND_PACKAGE_ARGS for glog
This is also relatively straight forward, except for the fact that we don't get the glog unittest targets when the dependency is found. Thus the changeset is slightly larger than one might expect otherwise.
Configuration menu - View commit details
-
Copy full SHA for 7297265 - Browse repository at this point
Copy the full SHA 7297265View commit details -
Use FetchContent + FIND_PACKAGE_ARGS for msgpack v5.0.0 or higher
The version bump was done so that I can test it with the package I have available on my system. Previously, the embedded msgpack code didn't compile there. Now I simply can use the system provided msgpack here which is much better.
Configuration menu - View commit details
-
Copy full SHA for acdb28a - Browse repository at this point
Copy the full SHA acdb28aView commit details -
Import FindRocksDB.cmake from caffe2
This code is copied from [1] which is Apache-2.0 licensed and owned by Meta, so I hope this is fine licensing wise. [1]: https://github.com/facebookarchive/caffe2/blob/157ff81a12cf48eb4b0a2ad854c4ae205ad8aa07/cmake/Modules/FindRocksDB.cmake
Configuration menu - View commit details
-
Copy full SHA for c671e90 - Browse repository at this point
Copy the full SHA c671e90View commit details -
Make it possible to link against a system provided RocksDB
Due to the custom build system integration for RocksDB we cannot simply use FIND_PACKAGE_ARGS. Instead, we first do a `find_package` and only if that fails do we fallback to the old rocksdb integration. To better facilitate this, I took the liberty to also modernize the CMake code a bit. Consumers of the lib just need to link against the new `rocksdb::librocksdb` alias target to get the required library and include directory.
Configuration menu - View commit details
-
Copy full SHA for 5a6ef38 - Browse repository at this point
Copy the full SHA 5a6ef38View commit details