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.2k
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
Ruby on (Guard)Rails
mikemcquaid
0
180
Workbrew - Homebrew for Mac Admins
mikemcquaid
1
210
Using "modern" Ruby to build a better, faster Homebrew
mikemcquaid
3
5.1k
Homebrew's Evolution
mikemcquaid
0
220
Open Source: boundaries, burnout, business
mikemcquaid
0
580
Homebrew’s Great Migration: moving to GitHub Packages with zero downtime
mikemcquaid
0
560
Building effective relationships
mikemcquaid
0
230
Homebrew - What's Happened and What's Next?
mikemcquaid
0
210
The Best Project
mikemcquaid
0
210
Other Decks in Programming
See All in Programming
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.6k
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
360
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
340
AtCoder Conference 2025
shindannin
0
930
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
39k
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.6k
AIエージェントの設計で注意するべきポイント6選
har1101
6
3.1k
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
250
これならできる!個人開発のすゝめ
tinykitten
PRO
0
150
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.3k
ThorVG Viewer In VS Code
nors
0
670
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
670
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Mobile First: as difficult as doing things right
swwweet
225
10k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
51k
Visualization
eitanlees
150
16k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
43
Art, The Web, and Tiny UX
lynnandtonic
304
21k
How Software Deployment tools have changed in the past 20 years
geshan
0
31k
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
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?