5 ms·
Better to focus on improving the situation with cross platform package managers and build systems for C++ IMO to simplify the process for beginners getting acce
by mattnewport 8y ago
Better to focus on improving the situation with cross platform package managers and build systems for C++ IMO to simplify the process for beginners getting access to those third party libraries in their projects than trying to integrate graphics into the standard.
There is some progress being made on package managers for C++ but things are still pretty fragmented and not very beginner friendly.
- hasahmed 8y agoAgreed times a million. I'm still blown away by how there is not a common npm-like C/C++ package manager. I know there are a few that are trying to make it happen, but still... Its really the widespread adoption that makes these things valuable.
- flohofwoe 8y agoAgreed. The beginner solution to get something renderable should be: > cpm install cairo And then in the source file: import cairo; (I think package manager, build system and modules need to go hand in hand)
- beached_whale 8y agovcpkg is almost there
- beached_whale 8y agoI don't think it is an either or. But being in the standard really aids in discovery and provides an interface to allow it to work just as well for everyone. Ad for package maanagers, first you have to get everyone to agree on an approach. So the first question is binary, source, or either. Then figure out if it is distributed(e.g. specify the host in the dependency) or centralized. For me I would something that is mixed binary/source and distributed. I do not want to be required pull binaries from a central host or require a central DB of locations. It would be good to have, just not mandatory. Then, like you said, the build system. I am not sure that this needs to be any one system. If you look at CMake external projects it is close to being really good with allowing most source control systems/url's. What it lacks is the ability to use versioning(such as git commit/release and per user/per system caching) It also does a git check on each build. But specifying dependencies like Carthage, used for Xcode, would a nice starting point