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
Package Management Learnings from Homebrew
mikemcquaid
0
210
What happened to RubyGems and what can we learn?
mikemcquaid
0
250
Ruby on (Guard)Rails
mikemcquaid
0
180
Workbrew - Homebrew for Mac Admins
mikemcquaid
1
220
Using "modern" Ruby to build a better, faster Homebrew
mikemcquaid
3
5.1k
Homebrew's Evolution
mikemcquaid
0
230
Open Source: boundaries, burnout, business
mikemcquaid
0
590
Homebrew’s Great Migration: moving to GitHub Packages with zero downtime
mikemcquaid
0
570
Building effective relationships
mikemcquaid
0
240
Other Decks in Programming
See All in Programming
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
540
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
Data-Centric Kaggle
isax1015
2
760
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
170
dchart: charts from deck markup
ajstarks
3
990
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
510
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
120
Patterns of Patterns
denyspoltorak
0
1.4k
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
400
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2k
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.8k
Featured
See All Featured
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
430
ラッコキーワード サービス紹介資料
rakko
1
2.2M
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
110
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Believing is Seeing
oripsolob
1
53
Automating Front-end Workflow
addyosmani
1371
200k
The untapped power of vector embeddings
frankvandijk
1
1.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Chasing Engaging Ingredients in Design
codingconduct
0
110
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?