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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
290
What happened to RubyGems and what can we learn?
mikemcquaid
0
360
Ruby on (Guard)Rails
mikemcquaid
0
230
Workbrew - Homebrew for Mac Admins
mikemcquaid
1
260
Using "modern" Ruby to build a better, faster Homebrew
mikemcquaid
3
5.2k
Homebrew's Evolution
mikemcquaid
0
240
Open Source: boundaries, burnout, business
mikemcquaid
0
620
Homebrew’s Great Migration: moving to GitHub Packages with zero downtime
mikemcquaid
0
600
Building effective relationships
mikemcquaid
0
270
Other Decks in Programming
See All in Programming
SourceGeneratorのマーカー属性問題について
htkym
0
140
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
530
TipKitTips
ktcryomm
0
150
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
120
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
350
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
280
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
160
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
200
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
150
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
370
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.2k
Head of Engineeringが現場で回した生産性向上施策 2025→2026
gessy0129
0
210
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
74
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Designing for Performance
lara
611
70k
Automating Front-end Workflow
addyosmani
1370
200k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
660
Context Engineering - Making Every Token Count
addyosmani
9
740
Between Models and Reality
mayunak
2
230
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?