You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
glog depends on gflags, xrepo_package(glog ...) would install a -f mt=false,shared=false build of gflags because these are the default configs for gflags. But this version of config is not needed in the cmake project.
Manual install with xrepo install -f shared=true glog would have the same problem if the user actually wants a shared multi-threading enabled bulid of gflags.
We have builtin and non-builtin configs,
For builtin configs like shared=true, maybe it's reasonable to pass it recursively to all dependencies.
But for builtin flags like cflags, it maybe specific for each package thus shouldn't recursively pass to dependencies.
For non-builtin configs (mt=true for gflags).
This is a compilcated problem which I don't have any idea to gracefully handle. vcpkg uses baseline (if I understand correctly) which effectively does not allow user to (easily) change package configs.
For now I can live with creating a private repo and take one of the following options:
change the mt=true as default for gflags.
change the way glog depending on gflags.
Here's the code snippet in gflags's xmake.lua which I changed to take the second option:
It's rather ad-hoc but I doubt if there's any better way to this.
I'm consider adding arrow package in xmake-repo, it depends on lot's of other packages which may require extensive use of passing configs to dependent packages.
The text was updated successfully, but these errors were encountered:
Consider following code in
CMakeLists.txt
which usesxrepo-cmake
(Note the problem is not specific toxrepo-cmake
):glog
depends ongflags
,xrepo_package(glog ...)
would install a-f mt=false,shared=false
build of gflags because these are the default configs forgflags
. But this version of config is not needed in the cmake project.Manual install with
xrepo install -f shared=true glog
would have the same problem if the user actually wants a shared multi-threading enabled bulid ofgflags
.We have builtin and non-builtin configs,
shared=true
, maybe it's reasonable to pass it recursively to all dependencies.cflags
, it maybe specific for each package thus shouldn't recursively pass to dependencies.mt=true
forgflags
).This is a compilcated problem which I don't have any idea to gracefully handle. vcpkg uses baseline (if I understand correctly) which effectively does not allow user to (easily) change package configs.
For now I can live with creating a private repo and take one of the following options:
mt=true
as default forgflags
.glog
depending ongflags
.Here's the code snippet in
gflags
's xmake.lua which I changed to take the second option:It's rather ad-hoc but I doubt if there's any better way to this.
I'm consider adding
arrow
package inxmake-repo
, it depends on lot's of other packages which may require extensive use of passing configs to dependent packages.The text was updated successfully, but these errors were encountered: