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.1k
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
Homebrew's Evolution
mikemcquaid
0
63
Open Source: boundaries, burnout, business
mikemcquaid
0
60
Homebrew’s Great Migration: moving to GitHub Packages with zero downtime
mikemcquaid
0
190
Building effective relationships
mikemcquaid
0
130
Homebrew - What's Happened and What's Next?
mikemcquaid
0
120
The Best Project
mikemcquaid
0
110
Ignorance, Incompetence and Insignificance: The Ingredients To Build Great Software
mikemcquaid
0
180
Staff+: Career Progression Without Management
mikemcquaid
0
270
Homebrew: A Packagers Deep Dive
mikemcquaid
0
220
Other Decks in Programming
See All in Programming
SwiftUI, Jetpack Composeの導入で変化した「家族アルバム みてね」のアプリ開発体験
hicka04
6
400
とにかくHTTP3をライトニングに話す / Anyway, I'll talk to Lightning about HTTP3.
seike460
PRO
0
120
Creating Retro-Style Photos Using Swift
ski
1
360
Swiftの型推論を学ぼう | Let's Learn About Type Inference in Swift
omochi
2
590
PHP8の機能を使って堅牢にコードを書く
fendo181
6
2.6k
「コンパイル時のユニットテスト」導入するとユニットテストを 書かなくてよくなるのか?
tomohisa
9
2.2k
孤独のCTOグルメという やや奇抜な企画をやった目的と効果
shoheimitani
3
1k
もうすぐ新年度、Babylon.jsがお勧めな3個の理由
hideg
0
170
ファイル先頭の use の意味、説明できますか? 〜PHP の namespace と autoloading の関係を正しく理解しよう〜 / namespace and autoloading in php
okashoi
2
470
TCAの Shared Stateって どういう仕組みになってんの?
yimajo
0
330
App Router への移行は「改善」となり得るのか?/ Can migration to App Router be an improvement
takefumiyoshii
1
130
MySQL のインデックスの種類をおさらいしよう! / overviewing indexes in MySQL
okashoi
0
170
Featured
See All Featured
Scaling GitHub
holman
456
140k
Embracing the Ebb and Flow
colly
78
4.1k
Typedesign – Prime Four
hannesfritz
36
2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.2k
Automating Front-end Workflow
addyosmani
1353
200k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
1.9k
Why Our Code Smells
bkeepers
PRO
330
56k
Fantastic passwords and where to find them - at NoRuKo
philnash
35
2.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
5
1.4k
Designing on Purpose - Digital PM Summit 2013
jponch
109
6.4k
Being A Developer After 40
akosma
56
580k
For a Future-Friendly Web
brad_frost
170
8.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?