-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Fix dpdk support when using custom prefix #2542
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
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -75,6 +75,8 @@ endmacro () | |
# with the corresponding configuration for each 3rd-party dependency. | ||
# | ||
macro (seastar_find_dependencies) | ||
cmake_parse_arguments (args "BUILD" "" "" ${ARGN}) | ||
|
||
# | ||
# List of Seastar dependencies that is meant to be used | ||
# both in Seastar configuration and by clients which | ||
|
@@ -84,7 +86,6 @@ macro (seastar_find_dependencies) | |
# Public dependencies. | ||
Boost | ||
c-ares | ||
dpdk # No version information published. | ||
fmt | ||
lz4 | ||
# Private and private/public dependencies. | ||
|
@@ -103,6 +104,12 @@ macro (seastar_find_dependencies) | |
ucontext | ||
yaml-cpp) | ||
|
||
# Only expose dpdk dependency during build. Since dpdk is included to within seastar library, | ||
# there is no need to force it to be discoverable via find_package(). | ||
if (args_BUILD) | ||
list (APPEND _seastar_all_dependencies dpdk) | ||
endif() | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. i'd like to understand your use case better. do you enable There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I build and use Seastar using the following:
I would say this is pretty unconventional setup except for the install prefix and that DPDK is enabled. Without this PR build will fail because there's no dpdk installed in build-install (which is expected) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @p12tic how do you build DPDK? do you build a static build of DPDK using something like but in a more unconventional setup, user might want to build Seastar with a dynamic build of DPDK libraries. in that case, we would have to find dpdk when building seastar and when building the seastar application. in this case, we cannot skip the |
||
|
||
# Arguments to `find_package` for each 3rd-party dependency. | ||
# Note that the version specification is a "minimal" version requirement. | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could you use something like
seastar/CMakeLists.txt
Lines 867 to 875 in 665fed0
so we don't forget dropping the workaround for older versions of CMake when we bump up the minimal required version of CMake ?