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.3k
2
Share
CPack
Cross-platform packaging with CPack.
Presented at the Gran Canaria Desktop Summit in 2009.
Mike McQuaid
February 29, 2012
More Decks by Mike McQuaid
See All by Mike McQuaid
Package Management Learnings from Homebrew
mikemcquaid
0
370
What happened to RubyGems and what can we learn?
mikemcquaid
0
460
Ruby on (Guard)Rails
mikemcquaid
0
320
Workbrew - Homebrew for Mac Admins
mikemcquaid
1
370
Using "modern" Ruby to build a better, faster Homebrew
mikemcquaid
3
5.3k
Homebrew's Evolution
mikemcquaid
0
300
Open Source: boundaries, burnout, business
mikemcquaid
0
670
Homebrew’s Great Migration: moving to GitHub Packages with zero downtime
mikemcquaid
0
710
Building effective relationships
mikemcquaid
0
370
Other Decks in Programming
See All in Programming
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
280
Claude Codeをカスタムして自分だけのClaude Codeを作ろう
terisuke
0
140
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
2
190
ハンズオンで学ぶクラウドネイティブ
tatsukiminami
0
130
🦞OpenClaw works with AWS
licux
1
100
アーキテクチャモダナイゼーションとは何か
nwiizo
19
5.3k
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
370
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
2.6k
事業会社でのセキュリティ長期インターンについて
masachikaura
0
250
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
3k
GitHubCopilotCLIをはじめよう.pdf
htkym
0
190
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
270
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
340
Site-Speed That Sticks
csswizardry
13
1.2k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
340
Music & Morning Musume
bryan
47
7.2k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
800
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
AI: The stuff that nobody shows you
jnunemaker
PRO
6
570
Speed Design
sergeychernyshev
33
1.6k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
520
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
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?