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
340
What happened to RubyGems and what can we learn?
mikemcquaid
0
420
Ruby on (Guard)Rails
mikemcquaid
0
300
Workbrew - Homebrew for Mac Admins
mikemcquaid
1
320
Using "modern" Ruby to build a better, faster Homebrew
mikemcquaid
3
5.2k
Homebrew's Evolution
mikemcquaid
0
270
Open Source: boundaries, burnout, business
mikemcquaid
0
640
Homebrew’s Great Migration: moving to GitHub Packages with zero downtime
mikemcquaid
0
660
Building effective relationships
mikemcquaid
0
320
Other Decks in Programming
See All in Programming
Understanding Apache Lucene - More than just full-text search
spinscale
0
140
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
240
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
770
How to stabilize UI tests using XCTest
akkeylab
0
150
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
120
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
290
存在論的プログラミング: 時間と存在を記述する
koriym
5
580
モダンOBSプラグイン開発
umireon
0
190
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
190
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
440
ロボットのための工場に灯りは要らない
watany
12
3.2k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
210
24k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The browser strikes back
jonoalderson
0
850
Google's AI Overviews - The New Search
badams
0
950
Git: the NoSQL Database
bkeepers
PRO
432
67k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
440
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
340
The Curious Case for Waylosing
cassininazir
0
280
How STYLIGHT went responsive
nonsquared
100
6k
Crafting Experiences
bethany
1
97
Writing Fast Ruby
sferik
630
63k
Ethics towards AI in product and experience design
skipperchong
2
240
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?