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
98
Workbrew - Homebrew for Mac Admins
mikemcquaid
1
140
Using "modern" Ruby to build a better, faster Homebrew
mikemcquaid
3
4.8k
Homebrew's Evolution
mikemcquaid
0
180
Open Source: boundaries, burnout, business
mikemcquaid
0
500
Homebrew’s Great Migration: moving to GitHub Packages with zero downtime
mikemcquaid
0
480
Building effective relationships
mikemcquaid
0
200
Homebrew - What's Happened and What's Next?
mikemcquaid
0
170
The Best Project
mikemcquaid
0
180
Other Decks in Programming
See All in Programming
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
260
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
0
310
CursorはMCPを使った方が良いぞ
taigakono
1
220
Team operations that are not burdened by SRE
kazatohiei
1
300
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
280
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
490
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
690
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
220
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
400
#QiitaBash MCPのセキュリティ
ryosukedtomita
0
910
GraphRAGの仕組みまるわかり
tosuri13
8
530
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
540
Featured
See All Featured
Speed Design
sergeychernyshev
32
1k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
500
Done Done
chrislema
184
16k
Raft: Consensus for Rubyists
vanstee
140
7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Balancing Empowerment & Direction
lara
1
400
Six Lessons from altMBA
skipperchong
28
3.9k
How to train your dragon (web standard)
notwaldorf
94
6.1k
Building Applications with DynamoDB
mza
95
6.5k
Side Projects
sachag
455
42k
Become a Pro
speakerdeck
PRO
28
5.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
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?