Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CPack
Search
Mike McQuaid
February 29, 2012
Programming
2
2.1k
CPack
Cross-platform packaging with CPack.
Presented at the Gran Canaria Desktop Summit in 2009.
Mike McQuaid
February 29, 2012
Tweet
Share
More Decks by Mike McQuaid
See All by Mike McQuaid
Homebrew's Evolution
mikemcquaid
0
63
Open Source: boundaries, burnout, business
mikemcquaid
0
60
Homebrew’s Great Migration: moving to GitHub Packages with zero downtime
mikemcquaid
0
190
Building effective relationships
mikemcquaid
0
130
Homebrew - What's Happened and What's Next?
mikemcquaid
0
120
The Best Project
mikemcquaid
0
120
Ignorance, Incompetence and Insignificance: The Ingredients To Build Great Software
mikemcquaid
0
180
Staff+: Career Progression Without Management
mikemcquaid
0
270
Homebrew: A Packagers Deep Dive
mikemcquaid
0
220
Other Decks in Programming
See All in Programming
Laravel標準バリデーションでできること
hmb_ok
2
360
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
5
1.3k
9年開発を牽引して見えてきた、共通化すべきものと個別でつくるもの ~プログラム言語~
shinout
1
350
元気予報
suu_mire0726
0
210
WasmOS: Wasmを実行する自作Microkernel
riru
0
380
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
560
Open Source Swift Workshop - Foundation and first party libraries
ikesyo
0
280
品質が高いコードって何?Rev2.1
ickx
1
490
Why 1 + 1 = 2 in Swift?
1plus4
1
250
両面どころかインフラもTSでできるよ ~ 全方位TypeScriptによるプロダクト開発 ~
myfinder
9
2.6k
[スクリプト] Swiftの型推論を学ぼう
omochi
0
120
GitHub Copilot Tips and Tricks
yuichielectric
26
7.5k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
119
16k
Side Projects
sachag
451
41k
A Tale of Four Properties
chriscoyier
150
22k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
Art, The Web, and Tiny UX
lynnandtonic
288
19k
KATA
mclloyd
14
11k
Large-scale JavaScript Application Architecture
addyosmani
501
110k
The Art of Programming - Codeland 2020
erikaheidi
40
12k
Visualization
eitanlees
135
14k
Writing Fast Ruby
sferik
619
59k
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
16k
Transcript
CPack Mike Arthur
Written software?
Written cross-platform software?
Packaged software?
Packaged cross-platform software?
#ifdef WIN32 MFCYuck(2, 9, 1, &_PUKE); #endif #ifdef APPLE id
CocoaNonsense = [UnnecessaryBling sparkle]; #endif #ifdef LINUX X11SpribbleJurop w2_hojed = XJurop(3, wizzle, &apolty); #endif
:’(
Qt
QSomethingNice phew = QCrossPlatform(Qt::Easy);
:D
EXE + ZIP + DMG + APP + DEB +
RPM + TGZ + TBZ2 + ....
Different Components
ssh windows makeInstall.bat ... zip ... ssh osx hdiutil ...
makeBundle.sh ... ssh linux debbuild ... rpmbuild ... tar ...
CPack
(CMake +) CPack
Windows
None
OS X
None
None
Linux
dpkg -i MendeleyDesktop.deb rpm -i MendeleyDesktop.rpm
Step One
include(CPack)
Step Two
Step Two
Charm-0.1.1-Darwin.dmg Charm-0.1.1-Darwin.sh Charm-0.1.1-Darwin.tar.gz
None
None
None
set(CPACK_PACKAGE_VERSION_MAJOR 1) set(CPACK_PACKAGE_VERSION_MINOR 3) set(CPACK_PACKAGE_VERSION_PATCH 0)
None
set(CPACK_GENERATOR “PackageMaker”)
Easy?
1) Variables
2) Graphics
3) Dependencies
Linked libraries?
GetPrerequisites.cmake
Runtime libraries? External executables?
:(
4) Limitations
5) Patch
6) Ask
Mailing list Mike
Questions?