Comments (7)
(maybe they use a system package manager like apt get, maybe another c/c++ package manager like Conan, maybe they use submodules and build deps from source, etc)
I never ever recommend that, that means that identical code isn't being compiled and used in all locations, you get non-reproducible builds and you lose a lot of LTO. A nice thing about hunter is it works with anything else as well.
Whether you, I or anyone else recommends it or not, lots projects do use those methods. The hunter_enabled flag let’s hunter coexist with those methods in projects that don’t want to change for whatever reason.
from hunter.
May I ask, why you are not add a HUNTER_ENABLED
option with a default value NO
in your project like I did
cmake_minimum_required(VERSION 3.2.0)
option(HUNTER_ENABLED "Enable Hunter package manager" NO)
include("cmake/HunterGate.cmake")
HunterGate(
URL "https://github.co.............."
SHA1 "....................."
LOCAL
....
)
See https://github.com/pocoproject/poco/blob/f74be1d9e50a5d95c7758bb4bb89d888f54b4e52/CMakeLists.txt
To change this behaviour in hunter now means globally, will effect all users/builds/what ever!
from hunter.
that's exactly what I did, and what (IMHO) every developer does when he/she shares a project with other developers. Why require every programmer to add the option override to all the projects?
from hunter.
Most of us prefer it to default to YES is why I would imagine. ^.^
from hunter.
I’m not sure I understand the motive here. That flag mostly exists for projects that already have another way to download/build their dependencies (maybe they use a system package manager like apt get, maybe another c/c++ package manager like Conan, maybe they use submodules and build deps from source, etc). It’s useful when contributing to upstream projects, to convince them to support hunter without needing hunter.
But there are also lots of projects that only use hunter, or use hunter by default, and this change would break their build until they set the option back on.
That’s a pretty invasive change. I’d only consider this if a fair amount of people are interested
from hunter.
(maybe they use a system package manager like apt get, maybe another c/c++ package manager like Conan, maybe they use submodules and build deps from source, etc)
I never ever recommend that, that means that identical code isn't being compiled and used in all locations, you get non-reproducible builds and you lose a lot of LTO. A nice thing about hunter is it works with anything else as well.
from hunter.
Most usage of HUNTER_ENABLED
is in third-party projects that do not use Hunter but accept our modifications to support their package. To default it to disabled is counter-intuitive behavior, especially for new users. You can always set the option in your project if you want it off. 😄
from hunter.
Related Issues (20)
- /usr/bin/ld: /home/sahoo/.hunter/_Base/cb0ea1f/a3a48bb/b64ffe3/Install/lib/libz.a(zutil.c.o): relocation R_X86_64_PC32 against symbol `z_errmsg' can not be used when making a shared object; recompile with -fPIC HOT 12
- unittest hunter_setup_msvc fails because of ARM64 change HOT 9
- reeenable cmake hunter unittests to run in CI
- Doc - First step points to ruslo/hunter/wiki which does not exist HOT 1
- Missing OpenSSL 3.x IMPORTED Targets Crypto and SSL HOT 2
- cmake has now deprecated support for versions prior to 3.5 HOT 5
- hunter_protected_sources doesn't seem to be working with custom packages
- Update "imgui" package HOT 2
- OpenCV force push access rights HOT 1
- GitHub Actions macos-10.15 runner deprecated and removed by 2022-08-30
- OpenSSL v3+ version number not reporting correctly in CMake
- MingW builds broken in CI
- Add glog v0.6.0 version
- Should Hunter Boost move to USE_CONFIG_FROM_BOOST ON as default? HOT 1
- CMake Dependency Providers
- cmake 3.28 breaks universal 2 hunter builds with Xcode generator HOT 2
- freetype package causes error with CMake 3.28 HOT 2
- Update thrift version to latest
- Update curl to 8.5.0 HOT 6
- Update ZLIB to v1.3.1
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 hunter.