Hunter Hunter a CMake driven cross-platform package manager for - - PowerPoint PPT Presentation

hunter
SMART_READER_LITE
LIVE PREVIEW

Hunter Hunter a CMake driven cross-platform package manager for - - PowerPoint PPT Presentation

Hunter Hunter a CMake driven cross-platform package manager for C/C++ projects Daniel Friedrich nanosurf AG Hunter is one of many package/dependancy -manager * Buckaroo * Conan * cget * vcpkg * CocoaPods * Homebrew (OSX) * mxxn *


slide-1
SLIDE 1

Hunter

slide-2
SLIDE 2

Hunter

a CMake driven cross-platform package manager for C/C++ projects

Daniel Friedrich – nanosurf AG

slide-3
SLIDE 3

* Conan * vcpkg * Homebrew (OSX) * Meso * Spack * Buckaroo * cget * CocoaPods * mxxn * … many more?

Hunter is one of many package/dependancy -manager

slide-4
SLIDE 4

* CMake – Based * No external other dependencies * Easy to use * Easy to extend * No binaries shipped * OpenSource * Created and maintained by Ruslan Baratov

slide-5
SLIDE 5

* If you already using CMake * If you want a new/better way for getting/managing dependencies * Just want to try new stuff :-) Who schould care about Hunter?

slide-6
SLIDE 6

Like you would compile a CMake project, NO need to install any new software. How to compile a Hunter based Project?

:> cd <project-folder> :> mkdir build :> cd build :> cmake … :> make

slide-7
SLIDE 7

* add the HunterGate.cmake to you project * inside CMakeLists.txt How to use Hunter in my Project?

cmake_minimum_required(VERSION 3.9) ### Hunter „initial implementation“ ### include("cmake/HunterGate.cmake") ### Hunter snapshot that will be used ### HunterGate( URL "https://github.com/ruslo/hunter/archive/v0.23.33.tar.gz" SHA1 "acbf4b9b77b5a0160adc1da1cdda35f64b14196a" ) project(HunterSimple)

slide-8
SLIDE 8

* declare what you need * and use dependency as know How to use Hunter in my Project?

### Download dependencies ### hunter_add_package(GTest) ### Find dependencies ### find_package(GTest CONFIG REQUIRED) # GTest::main ### Targets ### add_executable(simple simple.cpp) target_link_libraries(simple PUBLIC GTest::main)

slide-9
SLIDE 9

* approx. 400 and more packages * boost, qt, Gtest, spdlog, folly, fmt, sqlite, * package-list updated often(every 2/3 days) * Many more features * Easy to make your own package-list * Support for a cache-server * Awesome Documentation/Examples/Tests Facts about hunter

slide-10
SLIDE 10

Online Links:

Main Project: https://hunter.sh Good Examples: https://github.com/forexample/hunter-simple Jason Turner weekly Hunter: https://www.youtube.com/watch?v=O2_N8OzPGWQ