Comments (7)
Finding packages from xmake packages is very fast, it doesn't call any other processes such as pkg-config, it simply looks up the list of libraries. Nor does it recursively traverse the directory.
Also, we can't disable it, because users might run the xrepo remove --all xxx
command themselves to remove them. This will cause failures for package installation and inconsistent status.
If it's slow, we'll just have to figure out how to optimise the fetch implementation.
from xmake.
It may be fast but there's a lot of packages.
Also, we can't disable it, because users might run the xrepo remove --all xxx command themselves to remove them. This will cause failures for package installation and inconsistent status.
I'm not sure to understand how not fetching private dependencies would break xrepo remove? doesn't it work on a temporary separate directory?
from xmake.
Also it doesn't feel right that xmake config --check
(or xmake project) will require to update private dependencies (when a new version is updated), since it's not used by the project and the dependency is already compiled.
from xmake.
It may be fast but there's a lot of packages.
Also, we can't disable it, because users might run the xrepo remove --all xxx command themselves to remove them. This will cause failures for package installation and inconsistent status.
I'm not sure to understand how not fetching private dependencies would break xrepo remove? doesn't it work on a temporary separate directory?
If we have multiple packages that depend on the same private package, for example
foo -> private bar.
zoo -> private bar.
Then we need to wait for all packages to be installed. if we do not fetch private bar.
from xmake.
In addition, if we want to determine if all the parents of a private package have been installed, we need to run fetch first. However, at the time of running fetch, we are not sure which private packages need to be fetched.
So we need to build a dependency graph, fetch them sequentially, and there is no way to do a parallel fetch.
It would be a bit complicated to implement this mechanism.
from xmake.
Also it doesn't feel right that (or xmake project) will require to update private dependencies (when a new version is updated), since it's not used by the project and the dependency is already compiled.
xmake config --check
To achieve this, again, there are some complications.
from xmake.
The logic for determining whether or not to fetch and install is already quite complex, and I don't think we should continue to add to it, or at least I'm not sure I can improve it very much at the moment.
from xmake.
Related Issues (20)
- qt.widgetapp增加windows.manifest.uac属性出现报错 HOT 1
- 支持写脚本函数来 set_config 以支持复杂项目配置 HOT 17
- 分布式构建报错 HOT 14
- 脚本域下 {force=true} 的问题 HOT 3
- xmake更新之后原有工程编译不了 HOT 13
- C++模块接口重复定义时会静默成功 HOT 1
- CMAKE_GENERATOR_TOOLSET is set to v144, which doesn't exist yet HOT 9
- Separate symbol file generation doesn't work for newer Android NDK HOT 3
- 启用soname时程序无法正确加载动态库 HOT 5
- {force = true}未生效 HOT 5
- M1 arm-none-eabi-gcc & xmake compile stm32 project Unable to pass HOT 3
- Windows Applications aren't configured correctly using set_kind("binary") HOT 28
- 工程多模块构建失败 HOT 19
- Debug mode isn't passed to packages HOT 3
- rust project not being rebuilt when modified HOT 2
- add_cuflags 指定的参数在 devlink 阶段未生效 HOT 3
- c++20module msvc 支持模块分区实现单元 HOT 34
- 偶现编译失败,重启后成功 HOT 14
- optimize wasi detect HOT 18
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xmake.