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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Mike McQuaid
February 29, 2012
Programming
2.3k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
430
What happened to RubyGems and what can we learn?
mikemcquaid
0
550
Ruby on (Guard)Rails
mikemcquaid
0
390
Workbrew - Homebrew for Mac Admins
mikemcquaid
1
490
Using "modern" Ruby to build a better, faster Homebrew
mikemcquaid
3
5.4k
Homebrew's Evolution
mikemcquaid
0
370
Open Source: boundaries, burnout, business
mikemcquaid
0
730
Homebrew’s Great Migration: moving to GitHub Packages with zero downtime
mikemcquaid
0
830
Building effective relationships
mikemcquaid
0
500
Other Decks in Programming
See All in Programming
さぁV100、メモリをお食べ・・・
nilpe
0
150
Creating Composable Callables in Contemporary C++
rollbear
0
170
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
120
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.5k
JavaDoc 再入門
nagise
1
420
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
940
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
570
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
800
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
A2UI という光を覗いてみる
satohjohn
1
150
1B+ /day規模のログを管理する技術
broadleaf
0
110
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.3k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
A designer walks into a library…
pauljervisheath
211
24k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
55k
The Curious Case for Waylosing
cassininazir
1
400
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Statistics for Hackers
jakevdp
799
230k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How STYLIGHT went responsive
nonsquared
100
6.2k
Design in an AI World
tapps
1
250
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
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?