+ All Categories
Home > Documents > Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20...

Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20...

Date post: 06-Jan-2018
Category:
Upload: stuart-weaver
View: 213 times
Download: 0 times
Share this document with a friend
Description:
Short, dull answer A consistent and convenient method of bundling together libraries, headers, binaries and resources…
34
Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett Serack @FearTheCowboy Microsoft Open Source Technology Center
Transcript
Page 1: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Find-Build-Share-Use

== Or ==What the hell can I tell you

about NuGet For C++ in the next 20 minutes that

won`t get me killed.Garrett Serack@FearTheCowboy

Microsoft Open Source Technology Center

Page 2: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

First things first

What the hell is package management

about?

Page 3: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Short, dull answer

A consistent and convenient method of bundling

together libraries, headers, binaries and resources…

Page 4: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Short, dull answer

… that users can easily Find, Share, Build and

Use

Page 5: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Needless expansion of statement

Discovery, Publication, Authoring

and Consumption

Page 6: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Tell me something I don’t know

Managing libraries (on Windows) is really

hard.

Page 7: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

How bad can it be?

Even a ‘single’ library can have way too

damn many Variations.

Page 8: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

How many?Platforms : x86, x64, ARM

Configuration: Release/DebugLinkage: Static, Dynamic, LTCG, SxSTarget: Windows, StoreApps, Phone,

…Compiler:

VC6,VC7,VC8,VC9,VC10,VC11,GCC …

Charset: Unicode, MBCS, UTF8, UTF16 …

Calling Convention: Cdecl, Stdcall …

Page 9: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Too many!

Crap, I ran out of fingers.

Needless to say, it’s just too many.

Page 10: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Now What?

Ok.. So, any solution for this Has to support any number

ofArbitrary combinations

without limit.

Page 11: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Secret to success

Find someone else to care about

what you care about, and make it their problem

Page 12: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Clever reiterationSet the building on fire,

Take someone else’s stuff into the

building with you, And scream for help

like a baby.

Page 13: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Dragging NuGet into the fire

NuGet works great* for

Managed libraries. Right?

Page 14: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

8-Ball Answer

All signs point to ‘yes’

Page 15: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

8-Ball Answer

Stupid 8-ball.

Page 16: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

From the Duck Tape & Bailing Twine Department

So we added a couple

tiny features to NuGet

Page 17: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

From the Duck Tape & Bailing Twine Department

And I spent four months cranking out an

insanely complex authoring tool.

Page 18: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

That and $4 will get you a coffee at Starbucks

And I come up with the CoApp PowerShell

Tools

Page 19: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

How’s that work?

Basically a few toolsthat can assist building

All those damn variations…

Page 20: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

How’s that work?

…And then collect all the bits up, and package

and publish them.

Page 21: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Kindergarten

This is where we play Show and tell.

Page 22: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett
Page 23: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

So, now what?

I’m lonely--Please come play

with me!

Page 24: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Awwwwww

That’s the price I pay for being an Open

Source guy At Microsoft.

Page 25: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Not so subtle pleaWe could sure use helpBuilding, publishing

and maintaining libraries

(Ooh… and documentation!)

Page 26: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Plug the site, man!

http://coapp.org

Page 27: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Whoa, questions...

Does this work on Linux or Mac or <whatever>?

Page 28: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Look, the goodyear blinp!

NuGet runs on Mono, so consumption side

would be really, really close.

Page 29: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

D’oh!

Authoring has a few dependencies on

Windows libraries still (and…uh, powershell)

Page 30: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Really?

However, it’s not insurmountable to remove

those (and switch to cmdline tools instead of

cmdlets)

Page 31: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Back in that burning building

But, I’d need some help to

make sure I didn’t #*$! it up.

Page 32: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

Get the tools

http://CoApp.org/releases

Page 33: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

THE@fear

Get Involved!

http://CoApp.org

cowboy

Page 34: Find-Build-Share-Use == Or == What the hell can I tell you about NuGet For C++ in the next 20 minutes that won`t get me killed. Garrett

MicrosoftMicrosoftMicrosoftMicrosoft

Your potential . Our passion .™

®


Recommended