1CPACK-GENERATORS(7) CMake CPACK-GENERATORS(7)
2
3
4
6 cpack-generators - CPack Generator Reference
7
9 CPack Archive Generator
10 CPack generator for packaging files into an archive, which can have any
11 of the following formats:
12
13 · 7Z - 7zip - (.7z)
14
15 · TBZ2 (.tar.bz2)
16
17 · TGZ (.tar.gz)
18
19 · TXZ (.tar.xz)
20
21 · TZ (.tar.Z)
22
23 · TZST (.tar.zst)
24
25 · ZIP (.zip)
26
27 When this generator is called from CPackSourceConfig.cmake (or through
28 the package_source target), then the generated archive will contain all
29 files in the project directory, except those specified in
30 CPACK_SOURCE_IGNORE_FILES. The following is one example of packaging
31 all source files of a project:
32
33 set(CPACK_SOURCE_GENERATOR "TGZ")
34 set(CPACK_SOURCE_IGNORE_FILES
35 \\.git/
36 build/
37 ".*~$"
38 )
39 set(CPACK_VERBATIM_VARIABLES YES)
40 include(CPack)
41
42 When this generator is called from CPackConfig.cmake (or through the
43 package target), then the generated archive will contain all files that
44 have been installed via CMake’s install() command (and the deprecated
45 commands install_files(), install_programs(), and install_targets()).
46
47 Variables specific to CPack Archive generator
48 CPACK_ARCHIVE_FILE_NAME
49
50 CPACK_ARCHIVE_<component>_FILE_NAME
51 Package file name without extension. The extension is determined
52 from the archive format (see list above) and automatically
53 appended to the file name. The default is <CPACK_PACK‐
54 AGE_FILE_NAME>[-<component>], with spaces replaced by ‘-‘.
55
56 CPACK_ARCHIVE_COMPONENT_INSTALL
57 Enable component packaging. If enabled (ON), then the archive
58 generator creates multiple packages. The default is OFF, which
59 means that a single package containing files of all components
60 is generated.
61
62 Variables used by CPack Archive generator
63 These variables are used by the Archive generator, but are also avail‐
64 able to CPack generators which are essentially archives at their core.
65 These include:
66
67 · CPack Cygwin Generator
68
69 · CPack FreeBSD Generator
70
71 CPACK_ARCHIVE_THREADS
72 The number of threads to use when performing the compression. If
73 set to 0, the number of available cores on the machine will be
74 used instead. The default is 1 which limits compression to a
75 single thread. Note that not all compression modes support
76 threading in all environments. Currently, only the XZ compres‐
77 sion may support it.
78
79 NOTE:
80 Official CMake binaries available on cmake.org ship with a liblzma
81 that does not support parallel compression.
82
83 CPack Bundle Generator
84 CPack Bundle generator (macOS) specific options
85
86 Variables specific to CPack Bundle generator
87 Installers built on macOS using the Bundle generator use the aforemen‐
88 tioned DragNDrop (CPACK_DMG_xxx) variables, plus the following Bun‐
89 dle-specific parameters (CPACK_BUNDLE_xxx).
90
91 CPACK_BUNDLE_NAME
92 The name of the generated bundle. This appears in the macOS
93 Finder as the bundle name. Required.
94
95 CPACK_BUNDLE_PLIST
96 Path to an macOS Property List (.plist) file that will be used
97 for the generated bundle. This assumes that the caller has gen‐
98 erated or specified their own Info.plist file. Required.
99
100 CPACK_BUNDLE_ICON
101 Path to an macOS icon file that will be used as the icon for the
102 generated bundle. This is the icon that appears in the macOS
103 Finder for the bundle, and in the macOS dock when the bundle is
104 opened. Required.
105
106 CPACK_BUNDLE_STARTUP_COMMAND
107 Path to a startup script. This is a path to an executable or
108 script that will be run whenever an end-user double-clicks the
109 generated bundle in the macOS Finder. Optional.
110
111 CPACK_BUNDLE_APPLE_CERT_APP
112 The name of your Apple supplied code signing certificate for the
113 application. The name usually takes the form Developer ID
114 Application: [Name] or 3rd Party Mac Developer Application:
115 [Name]. If this variable is not set the application will not be
116 signed.
117
118 CPACK_BUNDLE_APPLE_ENTITLEMENTS
119 The name of the Property List (.plist) file that contains your
120 Apple entitlements for sandboxing your application. This file is
121 required for submission to the macOS App Store.
122
123 CPACK_BUNDLE_APPLE_CODESIGN_FILES
124 A list of additional files that you wish to be signed. You do
125 not need to list the main application folder, or the main exe‐
126 cutable. You should list any frameworks and plugins that are
127 included in your app bundle.
128
129 CPACK_BUNDLE_APPLE_CODESIGN_PARAMETER
130 Additional parameter that will passed to codesign. Default
131 value: --deep -f
132
133 CPACK_COMMAND_CODESIGN
134 Path to the codesign(1) command used to sign applications with
135 an Apple cert. This variable can be used to override the auto‐
136 matically detected command (or specify its location if the
137 auto-detection fails to find it).
138
139 CPack Cygwin Generator
140 Cygwin CPack generator (Cygwin).
141
142 Variables affecting the CPack Cygwin generator
143 · CPACK_ARCHIVE_THREADS
144
145 Variables specific to CPack Cygwin generator
146 The following variable is specific to installers build on and/or for
147 Cygwin:
148
149 CPACK_CYGWIN_PATCH_NUMBER
150 The Cygwin patch number. FIXME: This documentation is incom‐
151 plete.
152
153 CPACK_CYGWIN_PATCH_FILE
154 The Cygwin patch file. FIXME: This documentation is incomplete.
155
156 CPACK_CYGWIN_BUILD_SCRIPT
157 The Cygwin build script. FIXME: This documentation is incom‐
158 plete.
159
160 CPack DEB Generator
161 The built in (binary) CPack DEB generator (Unix only)
162
163 Variables specific to CPack Debian (DEB) generator
164 The CPack DEB generator may be used to create DEB package using CPack.
165 The CPack DEB generator is a CPack generator thus it uses the CPACK_XXX
166 variables used by CPack.
167
168 The CPack DEB generator should work on any Linux host but it will pro‐
169 duce better deb package when Debian specific tools dpkg-xxx are usable
170 on the build system.
171
172 The CPack DEB generator has specific features which are controlled by
173 the specifics CPACK_DEBIAN_XXX variables.
174
175 CPACK_DEBIAN_<COMPONENT>_XXXX variables may be used in order to have
176 component specific values. Note however that <COMPONENT> refers to the
177 grouping name written in upper case. It may be either a component name
178 or a component GROUP name.
179
180 Here are some CPack DEB generator wiki resources that are here for his‐
181 toric reasons and are no longer maintained but may still prove useful:
182
183 · https://gitlab.kitware.com/cmake/community/-/wikis/doc/cpack/Configuration
184
185 · https://gitlab.kitware.com/cmake/community/-/wikis/doc/cpack/PackageGenerators#deb-unix-only
186
187 List of CPack DEB generator specific variables:
188
189 CPACK_DEB_COMPONENT_INSTALL
190 Enable component packaging for CPackDEB
191
192 · Mandatory : NO
193
194 · Default : OFF
195
196 If enabled (ON) multiple packages are generated. By default a
197 single package containing files of all components is generated.
198
199 CPACK_DEBIAN_PACKAGE_NAME
200
201 CPACK_DEBIAN_<COMPONENT>_PACKAGE_NAME
202 Set Package control field (variable is automatically transformed
203 to lower case).
204
205 · Mandatory : YES
206
207 · Default :
208
209 · CPACK_PACKAGE_NAME for non-component based installations
210
211 · CPACK_DEBIAN_PACKAGE_NAME suffixed with -<COMPONENT> for
212 component-based installations.
213
214 See
215 https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
216
217 CPACK_DEBIAN_FILE_NAME
218
219 CPACK_DEBIAN_<COMPONENT>_FILE_NAME
220 Package file name.
221
222 · Mandatory : YES
223
224 · Default : <CPACK_PACKAGE_FILE_NAME>[-<component>].deb
225
226 This may be set to DEB-DEFAULT to allow the CPack DEB generator
227 to generate package file name by itself in deb format:
228
229 <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
230
231 Alternatively provided package file name must end with either
232 .deb or .ipk suffix.
233
234 NOTE:
235 Preferred setting of this variable is DEB-DEFAULT but for
236 backward compatibility with the CPack DEB generator in CMake
237 prior to version 3.6 this feature is disabled by default.
238
239 NOTE:
240 By using non default filenames duplicate names may occur.
241 Duplicate files get overwritten and it is up to the packager
242 to set the variables in a manner that will prevent such
243 errors.
244
245 CPACK_DEBIAN_PACKAGE_EPOCH
246 The Debian package epoch
247
248 · Mandatory : No
249
250 · Default : -
251
252 Optional number that should be incremented when changing ver‐
253 sioning schemas or fixing mistakes in the version numbers of
254 older packages.
255
256 CPACK_DEBIAN_PACKAGE_VERSION
257 The Debian package version
258
259 · Mandatory : YES
260
261 · Default : CPACK_PACKAGE_VERSION
262
263 This variable may contain only alphanumerics (A-Za-z0-9) and the
264 characters . + - ~ (full stop, plus, hyphen, tilde) and should
265 start with a digit. If CPACK_DEBIAN_PACKAGE_RELEASE is not set
266 then hyphens are not allowed.
267
268 NOTE:
269 For backward compatibility with CMake 3.9 and lower a failed
270 test of this variable’s content is not a hard error when both
271 CPACK_DEBIAN_PACKAGE_RELEASE and CPACK_DEBIAN_PACKAGE_EPOCH
272 variables are not set. An author warning is reported instead.
273
274 CPACK_DEBIAN_PACKAGE_RELEASE
275 The Debian package release - Debian revision number.
276
277 · Mandatory : No
278
279 · Default : -
280
281 This is the numbering of the DEB package itself, i.e. the ver‐
282 sion of the packaging and not the version of the content (see
283 CPACK_DEBIAN_PACKAGE_VERSION). One may change the default value
284 if the previous packaging was buggy and/or you want to put here
285 a fancy Linux distro specific numbering.
286
287 CPACK_DEBIAN_PACKAGE_ARCHITECTURE
288
289 CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE
290 The Debian package architecture
291
292 · Mandatory : YES
293
294 · Default : Output of dpkg --print-architecture (or i386 if
295 dpkg is not found)
296
297 CPACK_DEBIAN_PACKAGE_DEPENDS
298
299 CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS
300 Sets the Debian dependencies of this package.
301
302 · Mandatory : NO
303
304 · Default :
305
306 · An empty string for non-component based installations
307
308 · CPACK_DEBIAN_PACKAGE_DEPENDS for component-based installa‐
309 tions.
310
311 NOTE:
312 If CPACK_DEBIAN_PACKAGE_SHLIBDEPS or more specifically
313 CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS is set for this
314 component, the discovered dependencies will be appended to
315 CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS instead of
316 CPACK_DEBIAN_PACKAGE_DEPENDS. If
317 CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS is an empty string,
318 only the automatically discovered dependencies will be set
319 for this component.
320
321 Example:
322
323 set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libc6 (< 2.4)")
324
325 CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS
326 Sets inter component dependencies if listed with CPACK_COMPO‐
327 NENT_<compName>_DEPENDS variables.
328
329 · Mandatory : NO
330
331 · Default : -
332
333 CPACK_DEBIAN_PACKAGE_MAINTAINER
334 The Debian package maintainer
335
336 · Mandatory : YES
337
338 · Default : CPACK_PACKAGE_CONTACT
339
340 CPACK_DEBIAN_PACKAGE_DESCRIPTION
341
342 CPACK_DEBIAN_<COMPONENT>_DESCRIPTION
343 The Debian package description
344
345 · Mandatory : YES
346
347 · Default :
348
349 · CPACK_DEBIAN_<COMPONENT>_DESCRIPTION (component based in‐
350 stallers only) if set, or CPACK_DEBIAN_PACKAGE_DESCRIPTION
351 if set, or
352
353 · CPACK_COMPONENT_<compName>_DESCRIPTION (component based in‐
354 stallers only) if set, or CPACK_PACKAGE_DESCRIPTION if set,
355 or
356
357 · content of the file specified in CPACK_PACKAGE_DESCRIP‐
358 TION_FILE if set
359
360 If after that description is not set, CPACK_PACKAGE_DESCRIP‐
361 TION_SUMMARY going to be used if set. Otherwise, CPACK_PACK‐
362 AGE_DESCRIPTION_SUMMARY will be added as the first line of
363 description as defined in Debian Policy Manual.
364
365 CPACK_DEBIAN_PACKAGE_SECTION
366
367 CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION
368 Set Section control field e.g. admin, devel, doc, …
369
370 · Mandatory : YES
371
372 · Default : “devel”
373
374 See
375 https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections
376
377 CPACK_DEBIAN_ARCHIVE_TYPE
378 The archive format used for creating the Debian package.
379
380 · Mandatory : YES
381
382 · Default : “gnutar”
383
384 Possible value is:
385
386 · gnutar
387
388 NOTE:
389 This variable previously defaulted to the paxr value, but
390 dpkg has never supported that tar format. For backwards com‐
391 patibility the paxr value will be mapped to gnutar and a dep‐
392 recation message will be emitted.
393
394 CPACK_DEBIAN_COMPRESSION_TYPE
395 The compression used for creating the Debian package.
396
397 · Mandatory : YES
398
399 · Default : “gzip”
400
401 Possible values are:
402
403 · lzma
404
405 · xz
406
407 · bzip2
408
409 · gzip
410
411 CPACK_DEBIAN_PACKAGE_PRIORITY
412
413 CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY
414 Set Priority control field e.g. required, important, standard,
415 optional, extra
416
417 · Mandatory : YES
418
419 · Default : “optional”
420
421 See
422 https://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities
423
424 CPACK_DEBIAN_PACKAGE_HOMEPAGE
425 The URL of the web site for this package, preferably (when
426 applicable) the site from which the original source can be
427 obtained and any additional upstream documentation or informa‐
428 tion may be found.
429
430 · Mandatory : NO
431
432 · Default : CMAKE_PROJECT_HOMEPAGE_URL
433
434 NOTE:
435 The content of this field is a simple URL without any sur‐
436 rounding characters such as <>.
437
438 CPACK_DEBIAN_PACKAGE_SHLIBDEPS
439
440 CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS
441 May be set to ON in order to use dpkg-shlibdeps to generate bet‐
442 ter package dependency list.
443
444 · Mandatory : NO
445
446 · Default :
447
448 · CPACK_DEBIAN_PACKAGE_SHLIBDEPS if set or
449
450 · OFF
451
452 NOTE:
453 You may need set CMAKE_INSTALL_RPATH to an appropriate value
454 if you use this feature, because if you don’t dpkg-shlibdeps
455 may fail to find your own shared libs. See
456 https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
457
458 CPACK_DEBIAN_PACKAGE_DEBUG
459 May be set when invoking cpack in order to trace debug informa‐
460 tion during the CPack DEB generator run.
461
462 · Mandatory : NO
463
464 · Default : -
465
466 CPACK_DEBIAN_PACKAGE_PREDEPENDS
467
468 CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS
469 Sets the Pre-Depends field of the Debian package. Like Depends,
470 except that it also forces dpkg to complete installation of the
471 packages named before even starting the installation of the
472 package which declares the pre-dependency.
473
474 · Mandatory : NO
475
476 · Default :
477
478 · An empty string for non-component based installations
479
480 · CPACK_DEBIAN_PACKAGE_PREDEPENDS for component-based instal‐
481 lations.
482
483 See
484 http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
485
486 CPACK_DEBIAN_PACKAGE_ENHANCES
487
488 CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES
489 Sets the Enhances field of the Debian package. Similar to
490 Suggests but works in the opposite direction: declares that a
491 package can enhance the functionality of another package.
492
493 · Mandatory : NO
494
495 · Default :
496
497 · An empty string for non-component based installations
498
499 · CPACK_DEBIAN_PACKAGE_ENHANCES for component-based installa‐
500 tions.
501
502 See
503 http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
504
505 CPACK_DEBIAN_PACKAGE_BREAKS
506
507 CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS
508 Sets the Breaks field of the Debian package. When a binary
509 package (P) declares that it breaks other packages (B), dpkg
510 will not allow the package (P) which declares Breaks be unpacked
511 unless the packages that will be broken (B) are deconfigured
512 first. As long as the package (P) is configured, the previously
513 deconfigured packages (B) cannot be reconfigured again.
514
515 · Mandatory : NO
516
517 · Default :
518
519 · An empty string for non-component based installations
520
521 · CPACK_DEBIAN_PACKAGE_BREAKS for component-based installa‐
522 tions.
523
524 See
525 https://www.debian.org/doc/debian-policy/ch-relationships.html#s-breaks
526
527 CPACK_DEBIAN_PACKAGE_CONFLICTS
528
529 CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS
530 Sets the Conflicts field of the Debian package. When one binary
531 package declares a conflict with another using a Conflicts
532 field, dpkg will not allow them to be unpacked on the system at
533 the same time.
534
535 · Mandatory : NO
536
537 · Default :
538
539 · An empty string for non-component based installations
540
541 · CPACK_DEBIAN_PACKAGE_CONFLICTS for component-based installa‐
542 tions.
543
544 See
545 https://www.debian.org/doc/debian-policy/ch-relationships.html#s-conflicts
546
547 NOTE:
548 This is a stronger restriction than Breaks, which prevents
549 the broken package from being configured while the breaking
550 package is in the “Unpacked” state but allows both packages
551 to be unpacked at the same time.
552
553 CPACK_DEBIAN_PACKAGE_PROVIDES
554
555 CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES
556 Sets the Provides field of the Debian package. A virtual pack‐
557 age is one which appears in the Provides control field of
558 another package.
559
560 · Mandatory : NO
561
562 · Default :
563
564 · An empty string for non-component based installations
565
566 · CPACK_DEBIAN_PACKAGE_PROVIDES for component-based installa‐
567 tions.
568
569 See
570 https://www.debian.org/doc/debian-policy/ch-relationships.html#s-virtual
571
572 CPACK_DEBIAN_PACKAGE_REPLACES
573
574 CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES
575 Sets the Replaces field of the Debian package. Packages can
576 declare in their control file that they should overwrite files
577 in certain other packages, or completely replace other packages.
578
579 · Mandatory : NO
580
581 · Default :
582
583 · An empty string for non-component based installations
584
585 · CPACK_DEBIAN_PACKAGE_REPLACES for component-based installa‐
586 tions.
587
588 See
589 http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
590
591 CPACK_DEBIAN_PACKAGE_RECOMMENDS
592
593 CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS
594 Sets the Recommends field of the Debian package. Allows pack‐
595 ages to declare a strong, but not absolute, dependency on other
596 packages.
597
598 · Mandatory : NO
599
600 · Default :
601
602 · An empty string for non-component based installations
603
604 · CPACK_DEBIAN_PACKAGE_RECOMMENDS for component-based instal‐
605 lations.
606
607 See
608 http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
609
610 CPACK_DEBIAN_PACKAGE_SUGGESTS
611
612 CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS
613 Sets the Suggests field of the Debian package. Allows packages
614 to declare a suggested package install grouping.
615
616 · Mandatory : NO
617
618 · Default :
619
620 · An empty string for non-component based installations
621
622 · CPACK_DEBIAN_PACKAGE_SUGGESTS for component-based installa‐
623 tions.
624
625 See
626 http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
627
628 CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS
629
630 · Mandatory : NO
631
632 · Default : OFF
633
634 Allows to generate shlibs control file automatically. Compati‐
635 bility is defined by CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY
636 variable value.
637
638 NOTE:
639 Libraries are only considered if they have both library name
640 and version set. This can be done by setting SOVERSION prop‐
641 erty with set_target_properties() command.
642
643 CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY
644 Compatibility policy for auto-generated shlibs control file.
645
646 · Mandatory : NO
647
648 · Default : “=”
649
650 Defines compatibility policy for auto-generated shlibs control
651 file. Possible values: “=”, “>=”
652
653 See
654 https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-shlibdeps
655
656 CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
657
658 CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_EXTRA
659 This variable allow advanced user to add custom script to the
660 control.tar.gz. Typical usage is for conffiles, postinst,
661 postrm, prerm.
662
663 · Mandatory : NO
664
665 · Default : -
666
667 Usage:
668
669 set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
670 "${CMAKE_CURRENT_SOURCE_DIR}/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
671
672 NOTE:
673 The original permissions of the files will be used in the
674 final package unless the variable
675 CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION is set. In
676 particular, the scripts should have the proper executable
677 flag prior to the generation of the package.
678
679 CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION
680
681 CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_STRICT_PERMISSION
682 This variable indicates if the Debian policy on control files
683 should be strictly followed.
684
685 · Mandatory : NO
686
687 · Default : FALSE
688
689 Usage:
690
691 set(CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION TRUE)
692
693 NOTE:
694 This overrides the permissions on the original files, follow‐
695 ing the rules set by Debian policy
696 https://www.debian.org/doc/debian-policy/ch-files.html#s-permissions-owners
697
698 CPACK_DEBIAN_PACKAGE_SOURCE
699
700 CPACK_DEBIAN_<COMPONENT>_PACKAGE_SOURCE
701 Sets the Source field of the binary Debian package. When the
702 binary package name is not the same as the source package name
703 (in particular when several components/binaries are generated
704 from one source) the source from which the binary has been gen‐
705 erated should be indicated with the field Source.
706
707 · Mandatory : NO
708
709 · Default :
710
711 · An empty string for non-component based installations
712
713 · CPACK_DEBIAN_PACKAGE_SOURCE for component-based installa‐
714 tions.
715
716 See
717 https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
718
719 NOTE:
720 This value is not interpreted. It is possible to pass an
721 optional revision number of the referenced source package as
722 well.
723
724 Packaging of debug information
725 Dbgsym packages contain debug symbols for debugging packaged binaries.
726
727 Dbgsym packaging has its own set of variables:
728
729 CPACK_DEBIAN_DEBUGINFO_PACKAGE
730
731 CPACK_DEBIAN_<component>_DEBUGINFO_PACKAGE
732 Enable generation of dbgsym .ddeb package(s).
733
734 · Mandatory : NO
735
736 · Default : OFF
737
738 NOTE:
739 Binaries must contain debug symbols before packaging so use either
740 Debug or RelWithDebInfo for CMAKE_BUILD_TYPE variable value.
741
742 Building Debian packages on Windows
743 To communicate UNIX file permissions from the install stage to the
744 CPack DEB generator the “cmake_mode_t” NTFS alternate data stream (ADT)
745 is used.
746
747 When a filesystem without ADT support is used only owner read/write
748 permissions can be preserved.
749
750 Reproducible packages
751 The environment variable SOURCE_DATE_EPOCH may be set to a UNIX time‐
752 stamp, defined as the number of seconds, excluding leap seconds, since
753 01 Jan 1970 00:00:00 UTC. If set, the CPack DEB generator will use its
754 value for timestamps in the package.
755
756 CPack DragNDrop Generator
757 The DragNDrop CPack generator (macOS) creates a DMG image.
758
759 Variables specific to CPack DragNDrop generator
760 The following variables are specific to the DragNDrop installers built
761 on macOS:
762
763 CPACK_DMG_VOLUME_NAME
764 The volume name of the generated disk image. Defaults to
765 CPACK_PACKAGE_FILE_NAME.
766
767 CPACK_DMG_FORMAT
768 The disk image format. Common values are UDRO (UDIF read-only),
769 UDZO (UDIF zlib-compressed) or UDBZ (UDIF bzip2-compressed).
770 Refer to hdiutil(1) for more information on other available for‐
771 mats. Defaults to UDZO.
772
773 CPACK_DMG_DS_STORE
774 Path to a custom .DS_Store file. This .DS_Store file can be used
775 to specify the Finder window position/geometry and layout (such
776 as hidden toolbars, placement of the icons etc.). This file has
777 to be generated by the Finder (either manually or through Apple‐
778 Script) using a normal folder from which the .DS_Store file can
779 then be extracted.
780
781 CPACK_DMG_DS_STORE_SETUP_SCRIPT
782 Path to a custom AppleScript file. This AppleScript is used to
783 generate a .DS_Store file which specifies the Finder window
784 position/geometry and layout (such as hidden toolbars, placement
785 of the icons etc.). By specifying a custom AppleScript there is
786 no need to use CPACK_DMG_DS_STORE, as the .DS_Store that is gen‐
787 erated by the AppleScript will be packaged.
788
789 CPACK_DMG_BACKGROUND_IMAGE
790 Path to an image file to be used as the background. This file
791 will be copied to .background/background.<ext>, where <ext> is
792 the original image file extension. The background image is
793 installed into the image before CPACK_DMG_DS_STORE_SETUP_SCRIPT
794 is executed or CPACK_DMG_DS_STORE is installed. By default no
795 background image is set.
796
797 CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK
798 Default behaviour is to include a symlink to /Applications in
799 the DMG. Set this option to ON to avoid adding the symlink.
800
801 CPACK_DMG_SLA_DIR
802 Directory where license and menu files for different languages
803 are stored. Setting this causes CPack to look for a <lan‐
804 guage>.menu.txt and <language>.license.txt or <lan‐
805 guage>.license.rtf file for every language defined in
806 CPACK_DMG_SLA_LANGUAGES. If both this variable and
807 CPACK_RESOURCE_FILE_LICENSE are set, CPack will only look for
808 the menu files and use the same license file for all languages.
809 If both <language>.license.txt and <language>.license.rtf exist,
810 the .txt file will be used.
811
812 CPACK_DMG_SLA_LANGUAGES
813 Languages for which a license agreement is provided when mount‐
814 ing the generated DMG. A menu file consists of 9 lines of text.
815 The first line is is the name of the language itself, uppercase,
816 in English (e.g. German). The other lines are translations of
817 the following strings:
818
819 · Agree
820
821 · Disagree
822
823 · Print
824
825 · Save…
826
827 · You agree to the terms of the License Agreement when you click
828 the “Agree” button.
829
830 · Software License Agreement
831
832 · This text cannot be saved. The disk may be full or locked, or
833 the file may be locked.
834
835 · Unable to print. Make sure you have selected a printer.
836
837 For every language in this list, CPack will try to find files
838 <language>.menu.txt and <language>.license.txt in the directory
839 specified by the CPACK_DMG_SLA_DIR variable.
840
841 CPACK_DMG_<component>_FILE_NAME
842 File name when packaging <component> as its own DMG (CPACK_COM‐
843 PONENTS_GROUPING set to IGNORE).
844
845 · Default: CPACK_PACKAGE_FILE_NAME-<component>
846
847 CPACK_COMMAND_HDIUTIL
848 Path to the hdiutil(1) command used to operate on disk image
849 files on macOS. This variable can be used to override the auto‐
850 matically detected command (or specify its location if the
851 auto-detection fails to find it).
852
853 CPACK_COMMAND_SETFILE
854 Path to the SetFile(1) command used to set extended attributes
855 on files and directories on macOS. This variable can be used to
856 override the automatically detected command (or specify its
857 location if the auto-detection fails to find it).
858
859 CPACK_COMMAND_REZ
860 Path to the Rez(1) command used to compile resources on macOS.
861 This variable can be used to override the automatically detected
862 command (or specify its location if the auto-detection fails to
863 find it).
864
865 CPack External Generator
866 CPack provides many generators to create packages for a variety of
867 platforms and packaging systems. The intention is for CMake/CPack to be
868 a complete end-to-end solution for building and packaging a software
869 project. However, it may not always be possible to use CPack for the
870 entire packaging process, due to either technical limitations or poli‐
871 cies that require the use of certain tools. For this reason, CPack pro‐
872 vides the “External” generator, which allows external packaging soft‐
873 ware to take advantage of some of the functionality provided by CPack,
874 such as component installation and the dependency graph.
875
876 Integration with External Packaging Tools
877 The CPack External generator generates a .json file containing the
878 CPack internal metadata, which gives external software information on
879 how to package the software. External packaging software may itself
880 invoke CPack, consume the generated metadata, install and package files
881 as required.
882
883 Alternatively CPack can invoke an external packaging software through
884 an optional custom CMake script in CPACK_EXTERNAL_PACKAGE_SCRIPT
885 instead.
886
887 Staging of installation files may also optionally be taken care of by
888 the generator when enabled through the CPACK_EXTERNAL_ENABLE_STAGING
889 variable.
890
891 JSON Format
892 The JSON metadata file contains a list of CPack components and compo‐
893 nent groups, the various options passed to cpack_add_component() and
894 cpack_add_component_group(), the dependencies between the components
895 and component groups, and various other options passed to CPack.
896
897 The JSON’s root object will always provide two fields: formatVersionMa‐
898 jor and formatVersionMinor, which are always integers that describe the
899 output format of the generator. Backwards-compatible changes to the
900 output format (for example, adding a new field that didn’t exist
901 before) cause the minor version to be incremented, and backwards-incom‐
902 patible changes (for example, deleting a field or changing its meaning)
903 cause the major version to be incremented and the minor version reset
904 to 0. The format version is always of the format major.minor. In other
905 words, it always has exactly two parts, separated by a period.
906
907 You can request one or more specific versions of the output format as
908 described below with CPACK_EXTERNAL_REQUESTED_VERSIONS. The output for‐
909 mat will have a major version that exactly matches the requested major
910 version, and a minor version that is greater than or equal to the
911 requested minor version. If no version is requested with
912 CPACK_EXTERNAL_REQUESTED_VERSIONS, the latest known major version is
913 used by default. Currently, the only supported format is 1.0, which is
914 described below.
915
916 Version 1.0
917 In addition to the standard format fields, format version 1.0 provides
918 the following fields in the root:
919
920 components
921 The components field is an object with component names as the
922 keys and objects describing the components as the values. The
923 component objects have the following fields:
924
925 name The name of the component. This is always the same as the
926 key in the components object.
927
928 displayName
929 The value of the DISPLAY_NAME field passed to
930 cpack_add_component().
931
932 description
933 The value of the DESCRIPTION field passed to
934 cpack_add_component().
935
936 isHidden
937 True if HIDDEN was passed to cpack_add_component(), false
938 if it was not.
939
940 isRequired
941 True if REQUIRED was passed to cpack_add_component(),
942 false if it was not.
943
944 isDisabledByDefault
945 True if DISABLED was passed to cpack_add_component(),
946 false if it was not.
947
948 group Only present if GROUP was passed to cpack_add_compo‐
949 nent(). If so, this field is a string value containing
950 the component’s group.
951
952 dependencies
953 An array of components the component depends on. This
954 contains the values in the DEPENDS argument passed to
955 cpack_add_component(). If no DEPENDS argument was passed,
956 this is an empty list.
957
958 installationTypes
959 An array of installation types the component is part of.
960 This contains the values in the INSTALL_TYPES argument
961 passed to cpack_add_component(). If no INSTALL_TYPES
962 argument was passed, this is an empty list.
963
964 isDownloaded
965 True if DOWNLOADED was passed to cpack_add_component(),
966 false if it was not.
967
968 archiveFile
969 The name of the archive file passed with the ARCHIVE_FILE
970 argument to cpack_add_component(). If no ARCHIVE_FILE
971 argument was passed, this is an empty string.
972
973 componentGroups
974 The componentGroups field is an object with component group
975 names as the keys and objects describing the component groups as
976 the values. The component group objects have the following
977 fields:
978
979 name The name of the component group. This is always the same
980 as the key in the componentGroups object.
981
982 displayName
983 The value of the DISPLAY_NAME field passed to
984 cpack_add_component_group().
985
986 description
987 The value of the DESCRIPTION field passed to
988 cpack_add_component_group().
989
990 parentGroup
991 Only present if PARENT_GROUP was passed to cpack_add_com‐
992 ponent_group(). If so, this field is a string value con‐
993 taining the component group’s parent group.
994
995 isExpandedByDefault
996 True if EXPANDED was passed to cpack_add_compo‐
997 nent_group(), false if it was not.
998
999 isBold True if BOLD_TITLE was passed to cpack_add_compo‐
1000 nent_group(), false if it was not.
1001
1002 components
1003 An array of names of components that are direct members
1004 of the group (components that have this group as their
1005 GROUP). Components of subgroups are not included.
1006
1007 subgroups
1008 An array of names of component groups that are subgroups
1009 of the group (groups that have this group as their PAR‐
1010 ENT_GROUP).
1011
1012 installationTypes
1013 The installationTypes field is an object with installation type
1014 names as the keys and objects describing the installation types
1015 as the values. The installation type objects have the following
1016 fields:
1017
1018 name The name of the installation type. This is always the
1019 same as the key in the installationTypes object.
1020
1021 displayName
1022 The value of the DISPLAY_NAME field passed to
1023 cpack_add_install_type().
1024
1025 index The integer index of the installation type in the list.
1026
1027 projects
1028 The projects field is an array of objects describing CMake
1029 projects which comprise the CPack project. The values in this
1030 field are derived from CPACK_INSTALL_CMAKE_PROJECTS. In most
1031 cases, this will be only a single project. The project objects
1032 have the following fields:
1033
1034 projectName
1035 The project name passed to CPACK_INSTALL_CMAKE_PROJECTS.
1036
1037 component
1038 The name of the component or component set which com‐
1039 prises the project.
1040
1041 directory
1042 The build directory of the CMake project. This is the
1043 directory which contains the cmake_install.cmake script.
1044
1045 subDirectory
1046 The subdirectory to install the project into inside the
1047 CPack package.
1048
1049 packageName
1050 The package name given in CPACK_PACKAGE_NAME. Only present if
1051 this option is set.
1052
1053 packageVersion
1054 The package version given in CPACK_PACKAGE_VERSION. Only present
1055 if this option is set.
1056
1057 packageDescriptionFile
1058 The package description file given in CPACK_PACKAGE_DESCRIP‐
1059 TION_FILE. Only present if this option is set.
1060
1061 packageDescriptionSummary
1062 The package description summary given in CPACK_PACKAGE_DESCRIP‐
1063 TION_SUMMARY. Only present if this option is set.
1064
1065 buildConfig
1066 The build configuration given to CPack with the -C option. Only
1067 present if this option is set.
1068
1069 defaultDirectoryPermissions
1070 The default directory permissions given in
1071 CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS. Only present if
1072 this option is set.
1073
1074 setDestdir
1075 True if CPACK_SET_DESTDIR is true, false if it is not.
1076
1077 packagingInstallPrefix
1078 The install prefix given in CPACK_PACKAGING_INSTALL_PREFIX. Only
1079 present if CPACK_SET_DESTDIR is true.
1080
1081 stripFiles
1082 True if CPACK_STRIP_FILES is true, false if it is not.
1083
1084 warnOnAbsoluteInstallDestination
1085 True if CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION is true,
1086 false if it is not.
1087
1088 errorOnAbsoluteInstallDestination
1089 True if CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION is true,
1090 false if it is not.
1091
1092 Variables specific to CPack External generator
1093 CPACK_EXTERNAL_REQUESTED_VERSIONS
1094 This variable is used to request a specific version of the CPack
1095 External generator. It is a list of major.minor values, sepa‐
1096 rated by semicolons.
1097
1098 If this variable is set to a non-empty value, the CPack External
1099 generator will iterate through each item in the list to search
1100 for a version that it knows how to generate. Requested versions
1101 should be listed in order of descending preference by the client
1102 software, as the first matching version in the list will be gen‐
1103 erated.
1104
1105 The generator knows how to generate the version if it has a ver‐
1106 sioned generator whose major version exactly matches the
1107 requested major version, and whose minor version is greater than
1108 or equal to the requested minor version. For example, if
1109 CPACK_EXTERNAL_REQUESTED_VERSIONS contains 1.0, and the CPack
1110 External generator knows how to generate 1.1, it will generate
1111 1.1. If the generator doesn’t know how to generate a version in
1112 the list, it skips the version and looks at the next one. If it
1113 doesn’t know how to generate any of the requested versions, an
1114 error is thrown.
1115
1116 If this variable is not set, or is empty, the CPack External
1117 generator will generate the highest major and minor version that
1118 it knows how to generate.
1119
1120 If an invalid version is encountered in CPACK_EXTER‐
1121 NAL_REQUESTED_VERSIONS (one that doesn’t match major.minor,
1122 where major and minor are integers), it is ignored.
1123
1124 CPACK_EXTERNAL_ENABLE_STAGING
1125 This variable can be set to true to enable optional installation
1126 into a temporary staging area which can then be picked up and
1127 packaged by an external packaging tool. The top level directory
1128 used by CPack for the current packaging task is contained in
1129 CPACK_TOPLEVEL_DIRECTORY. It is automatically cleaned up on
1130 each run before packaging is initiated and can be used for cus‐
1131 tom temporary files required by the external packaging tool. It
1132 also contains the staging area CPACK_TEMPORARY_DIRECTORY into
1133 which CPack performs the installation when staging is enabled.
1134
1135 CPACK_EXTERNAL_PACKAGE_SCRIPT
1136 This variable can optionally specify the full path to a CMake
1137 script file to be run as part of the CPack invocation. It is
1138 invoked after (optional) staging took place and may run an
1139 external packaging tool. The script has access to the variables
1140 defined by the CPack config file.
1141
1142 CPACK_EXTERNAL_BUILT_PACKAGES
1143 The CPACK_EXTERNAL_PACKAGE_SCRIPT script may set this list vari‐
1144 able to the full paths of generated package files. CPack will
1145 copy these files from the staging directory back to the top
1146 build directory and possibly produce checksum files if the
1147 CPACK_PACKAGE_CHECKSUM is set.
1148
1149 CPack FreeBSD Generator
1150 The built in (binary) CPack FreeBSD (pkg) generator (Unix only)
1151
1152 Variables affecting the CPack FreeBSD (pkg) generator
1153 · CPACK_ARCHIVE_THREADS
1154
1155 Variables specific to CPack FreeBSD (pkg) generator
1156 The CPack FreeBSD generator may be used to create pkg(8) packages –
1157 these may be used on FreeBSD, DragonflyBSD, NetBSD, OpenBSD, but also
1158 on Linux or OSX, depending on the installed package-management tools –
1159 using CPack.
1160
1161 The CPack FreeBSD generator is a CPack generator and uses the CPACK_XXX
1162 variables used by CPack. It tries to re-use packaging information that
1163 may already be specified for Debian packages for the CPack DEB Genera‐
1164 tor. It also tries to re-use RPM packaging information when Debian does
1165 not specify.
1166
1167 The CPack FreeBSD generator should work on any host with libpkg
1168 installed. The packages it produces are specific to the host architec‐
1169 ture and ABI.
1170
1171 The CPack FreeBSD generator sets package-metadata through CPACK_FREE‐
1172 BSD_XXX variables. The CPack FreeBSD generator, unlike the CPack Deb
1173 generator, does not specially support componentized packages; a single
1174 package is created from all the software artifacts created through
1175 CMake.
1176
1177 All of the variables can be set specifically for FreeBSD packaging in
1178 the CPackConfig file or in CMakeLists.txt, but most of them have
1179 defaults that use general settings (e.g. CMAKE_PROJECT_NAME) or
1180 Debian-specific variables when those make sense (e.g. the homepage of
1181 an upstream project is usually unchanged by the flavor of packaging).
1182 When there is no Debian information to fall back on, but the RPM pack‐
1183 aging has it, fall back to the RPM information (e.g. package license).
1184
1185 CPACK_FREEBSD_PACKAGE_NAME
1186 Sets the package name (in the package manifest, but also affects
1187 the output filename).
1188
1189 · Mandatory: YES
1190
1191 · Default:
1192
1193 · CPACK_PACKAGE_NAME (this is always set by CPack itself,
1194 based on CMAKE_PROJECT_NAME).
1195
1196 CPACK_FREEBSD_PACKAGE_COMMENT
1197 Sets the package comment. This is the short description dis‐
1198 played by pkg(8) in standard “pkg info” output.
1199
1200 · Mandatory: YES
1201
1202 · Default:
1203
1204 · CPACK_PACKAGE_DESCRIPTION_SUMMARY (this is always set by
1205 CPack itself, if nothing else sets it explicitly).
1206
1207 · PROJECT_DESCRIPTION (this can be set with the DESCRIPTION
1208 parameter for project()).
1209
1210 CPACK_FREEBSD_PACKAGE_DESCRIPTION
1211 Sets the package description. This is the long description of
1212 the package, given by “pkg info” with a specific package as
1213 argument.
1214
1215 · Mandatory: YES
1216
1217 · Default:
1218
1219 · CPACK_DEBIAN_PACKAGE_DESCRIPTION (this may be set already
1220 for Debian packaging, so we may as well re-use it).
1221
1222 CPACK_FREEBSD_PACKAGE_WWW
1223 The URL of the web site for this package, preferably (when
1224 applicable) the site from which the original source can be
1225 obtained and any additional upstream documentation or informa‐
1226 tion may be found.
1227
1228 · Mandatory: YES
1229
1230 · Default:
1231
1232 · CMAKE_PROJECT_HOMEPAGE_URL, or if that is not set,
1233 CPACK_DEBIAN_PACKAGE_HOMEPAGE (this may be set already for
1234 Debian packaging, so we may as well re-use it).
1235
1236 CPACK_FREEBSD_PACKAGE_LICENSE
1237 The license, or licenses, which apply to this software package.
1238 This must be one or more license-identifiers that pkg recognizes
1239 as acceptable license identifiers (e.g. “GPLv2”).
1240
1241 · Mandatory: YES
1242
1243 · Default:
1244
1245 · CPACK_RPM_PACKAGE_LICENSE
1246
1247 CPACK_FREEBSD_PACKAGE_LICENSE_LOGIC
1248 This variable is only of importance if there is more than one
1249 license. The default is “single”, which is only applicable to a
1250 single license. Other acceptable values are determined by pkg –
1251 those are “dual” or “multi” – meaning choice (OR) or simultane‐
1252 ous (AND) application of the licenses.
1253
1254 · Mandatory: NO
1255
1256 · Default: single
1257
1258 CPACK_FREEBSD_PACKAGE_MAINTAINER
1259 The FreeBSD maintainer (e.g. kde@freebsd.org) of this package.
1260
1261 · Mandatory: YES
1262
1263 · Default: none
1264
1265 CPACK_FREEBSD_PACKAGE_ORIGIN
1266 The origin (ports label) of this package; for packages built by
1267 CPack outside of the ports system this is of less importance.
1268 The default puts the package somewhere under misc/, as a stop‐
1269 gap.
1270
1271 · Mandatory: YES
1272
1273 · Default: misc/<package name>
1274
1275 CPACK_FREEBSD_PACKAGE_CATEGORIES
1276 The ports categories where this package lives (if it were to be
1277 built from ports). If none is set a single category is deter‐
1278 mined based on the package origin.
1279
1280 · Mandatory: YES
1281
1282 · Default: derived from ORIGIN
1283
1284 CPACK_FREEBSD_PACKAGE_DEPS
1285 A list of package origins that should be added as package depen‐
1286 dencies. These are in the form <category>/<packagename>, e.g.
1287 x11/libkonq. No version information needs to be provided (this
1288 is not included in the manifest).
1289
1290 · Mandatory: NO
1291
1292 · Default: empty
1293
1294 CPack IFW Generator
1295 Configure and run the Qt Installer Framework to generate a Qt install‐
1296 er.
1297
1298 Overview
1299 This cpack generator generates configuration and meta information for
1300 the Qt Installer Framework (QtIFW), and runs QtIFW tools to generate a
1301 Qt installer.
1302
1303 QtIFW provides tools and utilities to create installers for the plat‐
1304 forms supported by Qt: Linux, Microsoft Windows, and macOS.
1305
1306 To make use of this generator, QtIFW needs to be installed. The CPack‐
1307 IFW module looks for the location of the QtIFW command-line utilities,
1308 and defines several commands to control the behavior of this generator.
1309
1310 Variables
1311 You can use the following variables to change behavior of CPack IFW
1312 generator.
1313
1314 Debug
1315 CPACK_IFW_VERBOSE
1316 Set to ON to enable addition debug output. By default is OFF.
1317
1318 Package
1319 CPACK_IFW_PACKAGE_TITLE
1320 Name of the installer as displayed on the title bar. By default
1321 used CPACK_PACKAGE_DESCRIPTION_SUMMARY.
1322
1323 CPACK_IFW_PACKAGE_PUBLISHER
1324 Publisher of the software (as shown in the Windows Control
1325 Panel). By default used CPACK_PACKAGE_VENDOR.
1326
1327 CPACK_IFW_PRODUCT_URL
1328 URL to a page that contains product information on your web
1329 site.
1330
1331 CPACK_IFW_PACKAGE_ICON
1332 Filename for a custom installer icon. The actual file is ‘.icns’
1333 (macOS), ‘.ico’ (Windows). No functionality on Unix.
1334
1335 CPACK_IFW_PACKAGE_WINDOW_ICON
1336 Filename for a custom window icon in PNG format for the Install‐
1337 er application.
1338
1339 CPACK_IFW_PACKAGE_LOGO
1340 Filename for a logo is used as QWizard::LogoPixmap.
1341
1342 CPACK_IFW_PACKAGE_WATERMARK
1343 Filename for a watermark is used as QWizard::WatermarkPixmap.
1344
1345 CPACK_IFW_PACKAGE_BANNER
1346 Filename for a banner is used as QWizard::BannerPixmap.
1347
1348 CPACK_IFW_PACKAGE_BACKGROUND
1349 Filename for an image used as QWizard::BackgroundPixmap (only
1350 used by MacStyle).
1351
1352 CPACK_IFW_PACKAGE_WIZARD_STYLE
1353 Wizard style to be used (“Modern”, “Mac”, “Aero” or “Classic”).
1354
1355 CPACK_IFW_PACKAGE_STYLE_SHEET
1356 Filename for a stylesheet.
1357
1358 CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH
1359 Default width of the wizard in pixels. Setting a banner image
1360 will override this.
1361
1362 CPACK_IFW_PACKAGE_WIZARD_DEFAULT_HEIGHT
1363 Default height of the wizard in pixels. Setting a watermark
1364 image will override this.
1365
1366 CPACK_IFW_PACKAGE_TITLE_COLOR
1367 Color of the titles and subtitles (takes an HTML color code,
1368 such as “#88FF33”).
1369
1370 CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
1371 Name of the default program group for the product in the Windows
1372 Start menu.
1373
1374 By default used CPACK_IFW_PACKAGE_NAME.
1375
1376 CPACK_IFW_TARGET_DIRECTORY
1377 Default target directory for installation. By default used
1378 “@ApplicationsDir@/CPACK_PACKAGE_INSTALL_DIRECTORY” (variables
1379 embedded in ‘@’ are expanded by the QtIFW scripting engine).
1380
1381 You can use predefined variables.
1382
1383 CPACK_IFW_ADMIN_TARGET_DIRECTORY
1384 Default target directory for installation with administrator
1385 rights.
1386
1387 You can use predefined variables.
1388
1389 CPACK_IFW_PACKAGE_GROUP
1390 The group, which will be used to configure the root package
1391
1392 CPACK_IFW_PACKAGE_NAME
1393 The root package name, which will be used if configuration group
1394 is not specified
1395
1396 CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
1397 Filename of the generated maintenance tool. The platform-spe‐
1398 cific executable file extension is appended.
1399
1400 By default used QtIFW defaults (maintenancetool).
1401
1402 CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR
1403 Set to OFF if the target directory should not be deleted when
1404 uninstalling.
1405
1406 Is ON by default
1407
1408 CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
1409 Filename for the configuration of the generated maintenance
1410 tool.
1411
1412 By default used QtIFW defaults (maintenancetool.ini).
1413
1414 CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
1415 Set to ON if the installation path can contain non-ASCII charac‐
1416 ters.
1417
1418 Is ON for QtIFW less 2.0 tools.
1419
1420 CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
1421 Set to OFF if the installation path cannot contain space charac‐
1422 ters.
1423
1424 Is ON for QtIFW less 2.0 tools.
1425
1426 CPACK_IFW_PACKAGE_CONTROL_SCRIPT
1427 Filename for a custom installer control script.
1428
1429 CPACK_IFW_PACKAGE_RESOURCES
1430 List of additional resources (‘.qrc’ files) to include in the
1431 installer binary.
1432
1433 You can use cpack_ifw_add_package_resources() command to resolve
1434 relative paths.
1435
1436 CPACK_IFW_PACKAGE_FILE_EXTENSION
1437 The target binary extension.
1438
1439 On Linux, the name of the target binary is automatically
1440 extended with ‘.run’, if you do not specify the extension.
1441
1442 On Windows, the target is created as an application with the
1443 extension ‘.exe’, which is automatically added, if not supplied.
1444
1445 On Mac, the target is created as an DMG disk image with the
1446 extension ‘.dmg’, which is automatically added, if not supplied.
1447
1448 CPACK_IFW_REPOSITORIES_ALL
1449 The list of remote repositories.
1450
1451 The default value of this variable is computed by CPack and con‐
1452 tains all repositories added with command cpack_ifw_add_reposi‐
1453 tory() or updated with command cpack_ifw_update_repository().
1454
1455 CPACK_IFW_DOWNLOAD_ALL
1456 If this is ON all components will be downloaded. By default is
1457 OFF or used value from CPACK_DOWNLOAD_ALL if set
1458
1459 Components
1460 CPACK_IFW_RESOLVE_DUPLICATE_NAMES
1461 Resolve duplicate names when installing components with groups.
1462
1463 CPACK_IFW_PACKAGES_DIRECTORIES
1464 Additional prepared packages dirs that will be used to resolve
1465 dependent components.
1466
1467 CPACK_IFW_REPOSITORIES_DIRECTORIES
1468 Additional prepared repository dirs that will be used to resolve
1469 and repack dependent components. This feature available only
1470 since QtIFW 3.1.
1471
1472 QtIFW Tools
1473 CPACK_IFW_FRAMEWORK_VERSION
1474 The version of used QtIFW tools.
1475
1476 The following variables provide the locations of the QtIFW command-line
1477 tools as discovered by the module CPackIFW. These variables are
1478 cached, and may be configured if needed.
1479
1480 CPACK_IFW_ARCHIVEGEN_EXECUTABLE
1481 The path to archivegen.
1482
1483 CPACK_IFW_BINARYCREATOR_EXECUTABLE
1484 The path to binarycreator.
1485
1486 CPACK_IFW_REPOGEN_EXECUTABLE
1487 The path to repogen.
1488
1489 CPACK_IFW_INSTALLERBASE_EXECUTABLE
1490 The path to installerbase.
1491
1492 CPACK_IFW_DEVTOOL_EXECUTABLE
1493 The path to devtool.
1494
1495 Hints for Finding QtIFW
1496 Generally, the CPack IFW generator automatically finds QtIFW tools, but
1497 if you don’t use a default path for installation of the QtIFW tools,
1498 the path may be specified in either a CMake or an environment variable:
1499
1500 CPACK_IFW_ROOT
1501 An CMake variable which specifies the location of the QtIFW tool
1502 suite.
1503
1504 The variable will be cached in the CPackConfig.cmake file and
1505 used at CPack runtime.
1506
1507 QTIFWDIR
1508 An environment variable which specifies the location of the
1509 QtIFW tool suite.
1510
1511 NOTE:
1512 The specified path should not contain “bin” at the end (for example:
1513 “D:\DevTools\QtIFW2.0.5”).
1514
1515 The CPACK_IFW_ROOT variable has a higher priority and overrides the
1516 value of the QTIFWDIR variable.
1517
1518 Other Settings
1519 Online installer
1520 By default, this generator generates an offline installer. This means
1521 that that all packaged files are fully contained in the installer exe‐
1522 cutable.
1523
1524 In contrast, an online installer will download some or all components
1525 from a remote server.
1526
1527 The DOWNLOADED option in the cpack_add_component() command specifies
1528 that a component is to be downloaded. Alternatively, the ALL option in
1529 the cpack_configure_downloads() command specifies that all components
1530 are to be be downloaded.
1531
1532 The cpack_ifw_add_repository() command and the CPACK_IFW_DOWNLOAD_ALL
1533 variable allow for more specific configuration.
1534
1535 When there are online components, CPack will write them to archive
1536 files. The help page of the CPackComponent module, especially the sec‐
1537 tion on the cpack_configure_downloads() function, explains how to make
1538 these files accessible from a download URL.
1539
1540 Internationalization
1541 Some variables and command arguments support internationalization via
1542 CMake script. This is an optional feature.
1543
1544 Installers created by QtIFW tools have built-in support for interna‐
1545 tionalization and many phrases are localized to many languages, but
1546 this does not apply to the description of the your components and
1547 groups that will be distributed.
1548
1549 Localization of the description of your components and groups is useful
1550 for users of your installers.
1551
1552 A localized variable or argument can contain a single default value,
1553 and a set of pairs the name of the locale and the localized value.
1554
1555 For example:
1556
1557 set(LOCALIZABLE_VARIABLE "Default value"
1558 en "English value"
1559 en_US "American value"
1560 en_GB "Great Britain value"
1561 )
1562
1563 See Also
1564 Qt Installer Framework Manual:
1565
1566 · Index page: http://doc.qt.io/qtinstallerframework/index.html
1567
1568 · Component Scripting:
1569 http://doc.qt.io/qtinstallerframework/scripting.html
1570
1571 · Predefined Variables:
1572 http://doc.qt.io/qtinstallerframework/scripting.html#predefined-variables
1573
1574 · Promoting Updates:
1575 http://doc.qt.io/qtinstallerframework/ifw-updates.html
1576
1577 Download Qt Installer Framework for your platform from Qt site:
1578 http://download.qt.io/official_releases/qt-installer-framework
1579
1580 CPack NSIS Generator
1581 CPack Nullsoft Scriptable Install System (NSIS) generator specific
1582 options.
1583
1584 The NSIS generator requires NSIS 3.0 or newer.
1585
1586 Variables specific to CPack NSIS generator
1587 The following variables are specific to the graphical installers built
1588 on Windows Nullsoft Scriptable Install System.
1589
1590 CPACK_NSIS_INSTALL_ROOT
1591 The default installation directory presented to the end user by
1592 the NSIS installer is under this root dir. The full directory
1593 presented to the end user is:
1594 ${CPACK_NSIS_INSTALL_ROOT}/${CPACK_PACKAGE_INSTALL_DIRECTORY}
1595
1596 CPACK_NSIS_MUI_ICON
1597 An icon filename. The name of a *.ico file used as the main
1598 icon for the generated install program.
1599
1600 CPACK_NSIS_MUI_UNIICON
1601 An icon filename. The name of a *.ico file used as the main
1602 icon for the generated uninstall program.
1603
1604 CPACK_NSIS_INSTALLER_MUI_ICON_CODE
1605 undocumented.
1606
1607 CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP
1608 The filename of a bitmap to use as the NSIS MUI_WELCOMEFINISH‐
1609 PAGE_BITMAP.
1610
1611 CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP
1612 The filename of a bitmap to use as the NSIS MUI_UNWELCOMEFINISH‐
1613 PAGE_BITMAP.
1614
1615 CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS
1616 Extra NSIS commands that will be added to the beginning of the
1617 install Section, before your install tree is available on the
1618 target system.
1619
1620 CPACK_NSIS_EXTRA_INSTALL_COMMANDS
1621 Extra NSIS commands that will be added to the end of the install
1622 Section, after your install tree is available on the target sys‐
1623 tem.
1624
1625 CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
1626 Extra NSIS commands that will be added to the uninstall Section,
1627 before your install tree is removed from the target system.
1628
1629 CPACK_NSIS_COMPRESSOR
1630 The arguments that will be passed to the NSIS SetCompressor com‐
1631 mand.
1632
1633 CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL
1634 Ask about uninstalling previous versions first. If this is set
1635 to ON, then an installer will look for previous installed ver‐
1636 sions and if one is found, ask the user whether to uninstall it
1637 before proceeding with the install.
1638
1639 CPACK_NSIS_MODIFY_PATH
1640 Modify PATH toggle. If this is set to ON, then an extra page
1641 will appear in the installer that will allow the user to choose
1642 whether the program directory should be added to the system PATH
1643 variable.
1644
1645 CPACK_NSIS_DISPLAY_NAME
1646 The display name string that appears in the Windows Apps & fea‐
1647 tures in Control Panel
1648
1649 CPACK_NSIS_PACKAGE_NAME
1650 The title displayed at the top of the installer.
1651
1652 CPACK_NSIS_INSTALLED_ICON_NAME
1653 A path to the executable that contains the installer icon.
1654
1655 CPACK_NSIS_HELP_LINK
1656 URL to a web site providing assistance in installing your appli‐
1657 cation.
1658
1659 CPACK_NSIS_URL_INFO_ABOUT
1660 URL to a web site providing more information about your applica‐
1661 tion.
1662
1663 CPACK_NSIS_CONTACT
1664 Contact information for questions and comments about the instal‐
1665 lation process.
1666
1667 CPACK_NSIS_<compName>_INSTALL_DIRECTORY
1668 Custom install directory for the specified component <compName>
1669 instead of $INSTDIR.
1670
1671 CPACK_NSIS_CREATE_ICONS_EXTRA
1672 Additional NSIS commands for creating Start Menu shortcuts.
1673
1674 CPACK_NSIS_DELETE_ICONS_EXTRA
1675 Additional NSIS commands to uninstall Start Menu shortcuts.
1676
1677 CPACK_NSIS_EXECUTABLES_DIRECTORY
1678 Creating NSIS Start Menu links assumes that they are in bin
1679 unless this variable is set. For example, you would set this to
1680 exec if your executables are in an exec directory.
1681
1682 CPACK_NSIS_MUI_FINISHPAGE_RUN
1683 Specify an executable to add an option to run on the finish page
1684 of the NSIS installer.
1685
1686 CPACK_NSIS_MENU_LINKS
1687 Specify links in [application] menu. This should contain a list
1688 of pair link link name. The link may be a URL or a path relative
1689 to installation prefix. Like:
1690
1691 set(CPACK_NSIS_MENU_LINKS
1692 "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html"
1693 "CMake Help" "https://cmake.org" "CMake Web Site")
1694
1695 CPACK_NSIS_UNINSTALL_NAME
1696 Specify the name of the program to uninstall the version.
1697 Default is Uninstall.
1698
1699 CPACK_NSIS_WELCOME_TITLE
1700 The title to display on the top of the page for the welcome
1701 page.
1702
1703 CPACK_NSIS_WELCOME_TITLE_3LINES
1704 Display the title in the welcome page on 3 lines instead of 2.
1705
1706 CPACK_NSIS_FINISH_TITLE
1707 The title to display on the top of the page for the finish page.
1708
1709 CPACK_NSIS_FINISH_TITLE_3LINES
1710 Display the title in the finish page on 3 lines instead of 2.
1711
1712 CPACK_NSIS_MUI_HEADERIMAGE
1713 The image to display on the header of installers pages.
1714
1715 CPACK_NSIS_MANIFEST_DPI_AWARE
1716 If set, declares that the installer is DPI-aware.
1717
1718 CPack NuGet Generator
1719 When build a NuGet package there is no direct way to control an output
1720 filename due a lack of the corresponding CLI option of NuGet, so there
1721 is no CPACK_NUGET_PACKAGE_FILENAME variable. To form the output file‐
1722 name NuGet uses the package name and the version according to its
1723 built-in rules.
1724
1725 Also, be aware that including a top level directory
1726 (CPACK_INCLUDE_TOPLEVEL_DIRECTORY) is ignored by this generator.
1727
1728 Variables specific to CPack NuGet generator
1729 The CPack NuGet generator may be used to create NuGet packages using
1730 CPack. The CPack NuGet generator is a CPack generator thus it uses the
1731 CPACK_XXX variables used by CPack.
1732
1733 The CPack NuGet generator has specific features which are controlled by
1734 the specifics CPACK_NUGET_XXX variables. In the “one per group” mode
1735 (see CPACK_COMPONENTS_GROUPING), <compName> placeholder in the vari‐
1736 ables below would contain a group name (uppercased and turned into a
1737 “C” identifier).
1738
1739 List of CPack NuGet generator specific variables:
1740
1741 CPACK_NUGET_COMPONENT_INSTALL
1742 Enable component packaging for CPack NuGet generator
1743
1744 · Mandatory : NO
1745
1746 · Default : OFF
1747
1748 CPACK_NUGET_PACKAGE_NAME
1749
1750 CPACK_NUGET_<compName>_PACKAGE_NAME
1751 The NUGET package name.
1752
1753 · Mandatory : YES
1754
1755 · Default : CPACK_PACKAGE_NAME
1756
1757 CPACK_NUGET_PACKAGE_VERSION
1758
1759 CPACK_NUGET_<compName>_PACKAGE_VERSION
1760 The NuGet package version.
1761
1762 · Mandatory : YES
1763
1764 · Default : CPACK_PACKAGE_VERSION
1765
1766 CPACK_NUGET_PACKAGE_DESCRIPTION
1767
1768 CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION
1769 A long description of the package for UI display.
1770
1771 · Mandatory : YES
1772
1773 ·
1774
1775 Default :
1776
1777 · CPACK_COMPONENT_<compName>_DESCRIPTION,
1778
1779 · CPACK_COMPONENT_GROUP_<groupName>_DESCRIPTION,
1780
1781 · CPACK_PACKAGE_DESCRIPTION
1782
1783 CPACK_NUGET_PACKAGE_AUTHORS
1784
1785 CPACK_NUGET_<compName>_PACKAGE_AUTHORS
1786 A comma-separated list of packages authors, matching the profile
1787 names on nuget.org. These are displayed in the NuGet Gallery on
1788 nuget.org and are used to cross-reference packages by the same
1789 authors.
1790
1791 · Mandatory : YES
1792
1793 · Default : CPACK_PACKAGE_VENDOR
1794
1795 CPACK_NUGET_PACKAGE_TITLE
1796
1797 CPACK_NUGET_<compName>_PACKAGE_TITLE
1798 A human-friendly title of the package, typically used in UI dis‐
1799 plays as on nuget.org and the Package Manager in Visual Studio.
1800 If not specified, the package ID is used.
1801
1802 · Mandatory : NO
1803
1804 ·
1805
1806 Default :
1807
1808 · CPACK_COMPONENT_<compName>_DISPLAY_NAME,
1809
1810 · CPACK_COMPONENT_GROUP_<groupName>_DISPLAY_NAME
1811
1812 CPACK_NUGET_PACKAGE_OWNERS
1813
1814 CPACK_NUGET_<compName>_PACKAGE_OWNERS
1815 A comma-separated list of the package creators using profile
1816 names on nuget.org. This is often the same list as in authors,
1817 and is ignored when uploading the package to nuget.org.
1818
1819 · Mandatory : NO
1820
1821 · Default : -
1822
1823 CPACK_NUGET_PACKAGE_HOMEPAGE_URL
1824
1825 CPACK_NUGET_<compName>_PACKAGE_HOMEPAGE_URL
1826 A URL for the package’s home page, often shown in UI displays as
1827 well as nuget.org.
1828
1829 · Mandatory : NO
1830
1831 · Default : CPACK_PACKAGE_HOMEPAGE_URL
1832
1833 CPACK_NUGET_PACKAGE_LICENSEURL
1834
1835 CPACK_NUGET_<compName>_PACKAGE_LICENSEURL
1836 A URL for the package’s license, often shown in UI displays as
1837 well as nuget.org.
1838
1839 · Mandatory : NO
1840
1841 · Default : -
1842
1843 CPACK_NUGET_PACKAGE_ICONURL
1844
1845 CPACK_NUGET_<compName>_PACKAGE_ICONURL
1846 A URL for a 64x64 image with transparency background to use as
1847 the icon for the package in UI display.
1848
1849 · Mandatory : NO
1850
1851 · Default : -
1852
1853 CPACK_NUGET_PACKAGE_DESCRIPTION_SUMMARY
1854
1855 CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION_SUMMARY
1856 A short description of the package for UI display. If omitted, a
1857 truncated version of description is used.
1858
1859 · Mandatory : NO
1860
1861 · Default : CPACK_PACKAGE_DESCRIPTION_SUMMARY
1862
1863 CPACK_NUGET_PACKAGE_RELEASE_NOTES
1864
1865 CPACK_NUGET_<compName>_PACKAGE_RELEASE_NOTES
1866 A description of the changes made in this release of the pack‐
1867 age, often used in UI like the Updates tab of the Visual Studio
1868 Package Manager in place of the package description.
1869
1870 · Mandatory : NO
1871
1872 · Default : -
1873
1874 CPACK_NUGET_PACKAGE_COPYRIGHT
1875
1876 CPACK_NUGET_<compName>_PACKAGE_COPYRIGHT
1877 Copyright details for the package.
1878
1879 · Mandatory : NO
1880
1881 · Default : -
1882
1883 CPACK_NUGET_PACKAGE_TAGS
1884
1885 CPACK_NUGET_<compName>_PACKAGE_TAGS
1886 A space-delimited list of tags and keywords that describe the
1887 package and aid discoverability of packages through search and
1888 filtering.
1889
1890 · Mandatory : NO
1891
1892 · Default : -
1893
1894 CPACK_NUGET_PACKAGE_DEPENDENCIES
1895
1896 CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES
1897 A list of package dependencies.
1898
1899 · Mandatory : NO
1900
1901 · Default : -
1902
1903 CPACK_NUGET_PACKAGE_DEPENDENCIES_<dependency>_VERSION
1904
1905 CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES_<dependency>_VERSION
1906 A version specification for the particular dependency, where
1907 <dependency> is an item of the dependency list (see above)
1908 transformed with MAKE_C_IDENTIFIER function of string() command.
1909
1910 · Mandatory : NO
1911
1912 · Default : -
1913
1914 CPACK_NUGET_PACKAGE_DEBUG
1915 Enable debug messages while executing CPack NuGet generator.
1916
1917 · Mandatory : NO
1918
1919 · Default : OFF
1920
1921 CPack PackageMaker Generator
1922 PackageMaker CPack generator (macOS).
1923
1924 Deprecated since version 3.17: Xcode no longer distributes the Package‐
1925 Maker tools. This CPack generator will be removed in a future version
1926 of CPack.
1927
1928
1929 Variables specific to CPack PackageMaker generator
1930 The following variable is specific to installers built on Mac macOS
1931 using PackageMaker:
1932
1933 CPACK_OSX_PACKAGE_VERSION
1934 The version of macOS that the resulting PackageMaker archive
1935 should be compatible with. Different versions of macOS support
1936 different features. For example, CPack can only build compo‐
1937 nent-based installers for macOS 10.4 or newer, and can only
1938 build installers that download components on-the-fly for macOS
1939 10.5 or newer. If left blank, this value will be set to the min‐
1940 imum version of macOS that supports the requested features. Set
1941 this variable to some value (e.g., 10.4) only if you want to
1942 guarantee that your installer will work on that version of mac‐
1943 OS, and don’t mind missing extra features available in the in‐
1944 staller shipping with later versions of macOS.
1945
1946 CPACK_PACKAGEMAKER_BACKGROUND
1947 Adds a background to Distribution XML if specified. The value
1948 contains the path to image in Resources directory.
1949
1950 CPACK_PACKAGEMAKER_BACKGROUND_ALIGNMENT
1951 Adds an alignment attribute to the background in Distribution
1952 XML. Refer to Apple documentation for valid values.
1953
1954 CPACK_PACKAGEMAKER_BACKGROUND_SCALING
1955 Adds a scaling attribute to the background in Distribution XML.
1956 Refer to Apple documentation for valid values.
1957
1958 CPACK_PACKAGEMAKER_BACKGROUND_MIME_TYPE
1959 Adds a mime-type attribute to the background in Distribution
1960 XML. The option contains MIME type of an image.
1961
1962 CPACK_PACKAGEMAKER_BACKGROUND_UTI
1963 Adds an uti attribute to the background in Distribution XML.
1964 The option contains UTI type of an image.
1965
1966 CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA
1967 Adds a background for the Dark Aqua theme to Distribution XML if
1968 specified. The value contains the path to image in Resources
1969 directory.
1970
1971 CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA_ALIGNMENT
1972 Does the same as CPACK_PACKAGEMAKER_BACKGROUND_ALIGNMENT option,
1973 but for the dark theme.
1974
1975 CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA_SCALING
1976 Does the same as CPACK_PACKAGEMAKER_BACKGROUND_SCALING option,
1977 but for the dark theme.
1978
1979 CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA_MIME_TYPE
1980 Does the same as CPACK_PACKAGEMAKER_BACKGROUND_MIME_TYPE option,
1981 but for the dark theme.
1982
1983 CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA_UTI
1984 Does the same as CPACK_PACKAGEMAKER_BACKGROUND_UTI option, but
1985 for the dark theme.
1986
1987 CPack productbuild Generator
1988 productbuild CPack generator (macOS).
1989
1990 Variables specific to CPack productbuild generator
1991 The following variable is specific to installers built on Mac macOS
1992 using ProductBuild:
1993
1994 CPACK_COMMAND_PRODUCTBUILD
1995 Path to the productbuild(1) command used to generate a product
1996 archive for the macOS Installer or Mac App Store. This variable
1997 can be used to override the automatically detected command (or
1998 specify its location if the auto-detection fails to find it).
1999
2000 CPACK_PRODUCTBUILD_IDENTITY_NAME
2001 Adds a digital signature to the resulting package.
2002
2003 CPACK_PRODUCTBUILD_KEYCHAIN_PATH
2004 Specify a specific keychain to search for the signing identity.
2005
2006 CPACK_COMMAND_PKGBUILD
2007 Path to the pkgbuild(1) command used to generate an macOS compo‐
2008 nent package on macOS. This variable can be used to override
2009 the automatically detected command (or specify its location if
2010 the auto-detection fails to find it).
2011
2012 CPACK_PKGBUILD_IDENTITY_NAME
2013 Adds a digital signature to the resulting package.
2014
2015 CPACK_PKGBUILD_KEYCHAIN_PATH
2016 Specify a specific keychain to search for the signing identity.
2017
2018 CPACK_PREFLIGHT_<COMP>_SCRIPT
2019 Full path to a file that will be used as the preinstall script
2020 for the named <COMP> component’s package, where <COMP> is the
2021 uppercased component name. No preinstall script is added if
2022 this variable is not defined for a given component.
2023
2024 CPACK_POSTFLIGHT_<COMP>_SCRIPT
2025 Full path to a file that will be used as the postinstall script
2026 for the named <COMP> component’s package, where <COMP> is the
2027 uppercased component name. No postinstall script is added if
2028 this variable is not defined for a given component.
2029
2030 CPACK_PRODUCTBUILD_RESOURCES_DIR
2031 If specified the productbuild generator copies files from this
2032 directory (including subdirectories) to the Resources directory.
2033 This is done before the CPACK_RESOURCE_FILE_WELCOME,
2034 CPACK_RESOURCE_FILE_README, and CPACK_RESOURCE_FILE_LICENSE
2035 files are copied.
2036
2037 CPACK_PRODUCTBUILD_BACKGROUND
2038 Adds a background to Distribution XML if specified. The value
2039 contains the path to image in Resources directory.
2040
2041 CPACK_PRODUCTBUILD_BACKGROUND_ALIGNMENT
2042 Adds an alignment attribute to the background in Distribution
2043 XML. Refer to Apple documentation for valid values.
2044
2045 CPACK_PRODUCTBUILD_BACKGROUND_SCALING
2046 Adds a scaling attribute to the background in Distribution XML.
2047 Refer to Apple documentation for valid values.
2048
2049 CPACK_PRODUCTBUILD_BACKGROUND_MIME_TYPE
2050 Adds a mime-type attribute to the background in Distribution
2051 XML. The option contains MIME type of an image.
2052
2053 CPACK_PRODUCTBUILD_BACKGROUND_UTI
2054 Adds an uti attribute to the background in Distribution XML.
2055 The option contains UTI type of an image.
2056
2057 CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA
2058 Adds a background for the Dark Aqua theme to Distribution XML if
2059 specified. The value contains the path to image in Resources
2060 directory.
2061
2062 CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_ALIGNMENT
2063 Does the same as CPACK_PRODUCTBUILD_BACKGROUND_ALIGNMENT option,
2064 but for the dark theme.
2065
2066 CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_SCALING
2067 Does the same as CPACK_PRODUCTBUILD_BACKGROUND_SCALING option,
2068 but for the dark theme.
2069
2070 CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_MIME_TYPE
2071 Does the same as CPACK_PRODUCTBUILD_BACKGROUND_MIME_TYPE option,
2072 but for the dark theme.
2073
2074 CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_UTI
2075 Does the same as CPACK_PRODUCTBUILD_BACKGROUND_UTI option, but
2076 for the dark theme.
2077
2078 CPack RPM Generator
2079 The built in (binary) CPack RPM generator (Unix only)
2080
2081 Variables specific to CPack RPM generator
2082 The CPack RPM generator may be used to create RPM packages using CPack.
2083 The CPack RPM generator is a CPack generator thus it uses the CPACK_XXX
2084 variables used by CPack.
2085
2086 The CPack RPM generator has specific features which are controlled by
2087 the specifics CPACK_RPM_XXX variables.
2088
2089 CPACK_RPM_<COMPONENT>_XXXX variables may be used in order to have com‐
2090 ponent specific values. Note however that <COMPONENT> refers to the
2091 grouping name written in upper case. It may be either a component name
2092 or a component GROUP name. Usually those variables correspond to RPM
2093 spec file entities. One may find information about spec files here
2094 http://www.rpm.org/wiki/Docs
2095
2096 NOTE:
2097 <COMPONENT> part of variables is preferred to be in upper case (e.g.
2098 if component is named foo then use CPACK_RPM_FOO_XXXX variable name
2099 format) as is with other CPACK_<COMPONENT>_XXXX variables. For the
2100 purposes of back compatibility (CMake/CPack version 3.5 and lower)
2101 support for same cased component (e.g. fOo would be used as
2102 CPACK_RPM_fOo_XXXX) is still supported for variables defined in
2103 older versions of CMake/CPack but is not guaranteed for variables
2104 that will be added in the future. For the sake of back compatibility
2105 same cased component variables also override upper cased versions
2106 where both are present.
2107
2108 Here are some CPack RPM generator wiki resources that are here for his‐
2109 toric reasons and are no longer maintained but may still prove useful:
2110
2111 · https://gitlab.kitware.com/cmake/community/-/wikis/doc/cpack/Configuration
2112
2113 · https://gitlab.kitware.com/cmake/community/-/wikis/doc/cpack/PackageGenerators#rpm-unix-only
2114
2115 List of CPack RPM generator specific variables:
2116
2117 CPACK_RPM_COMPONENT_INSTALL
2118 Enable component packaging for CPack RPM generator
2119
2120 · Mandatory : NO
2121
2122 · Default : OFF
2123
2124 If enabled (ON) multiple packages are generated. By default a
2125 single package containing files of all components is generated.
2126
2127 CPACK_RPM_PACKAGE_SUMMARY
2128
2129 CPACK_RPM_<component>_PACKAGE_SUMMARY
2130 The RPM package summary.
2131
2132 · Mandatory : YES
2133
2134 · Default : CPACK_PACKAGE_DESCRIPTION_SUMMARY
2135
2136 CPACK_RPM_PACKAGE_NAME
2137
2138 CPACK_RPM_<component>_PACKAGE_NAME
2139 The RPM package name.
2140
2141 · Mandatory : YES
2142
2143 · Default : CPACK_PACKAGE_NAME
2144
2145 CPACK_RPM_FILE_NAME
2146
2147 CPACK_RPM_<component>_FILE_NAME
2148 Package file name.
2149
2150 · Mandatory : YES
2151
2152 ·
2153
2154 Default
2155 <CPACK_PACKAGE_FILE_NAME>[-<component>].rpm with spaces
2156 replaced by ‘-‘
2157
2158 This may be set to RPM-DEFAULT to allow rpmbuild tool to gener‐
2159 ate package file name by itself. Alternatively provided package
2160 file name must end with .rpm suffix.
2161
2162 NOTE:
2163 By using user provided spec file, rpm macro extensions such
2164 as for generating debuginfo packages or by simply using mul‐
2165 tiple components more than one rpm file may be generated,
2166 either from a single spec file or from multiple spec files
2167 (each component execution produces its own spec file). In
2168 such cases duplicate file names may occur as a result of this
2169 variable setting or spec file content structure. Duplicate
2170 files get overwritten and it is up to the packager to set the
2171 variables in a manner that will prevent such errors.
2172
2173 CPACK_RPM_MAIN_COMPONENT
2174 Main component that is packaged without component suffix.
2175
2176 · Mandatory : NO
2177
2178 · Default : -
2179
2180 This variable can be set to any component or group name so that
2181 component or group rpm package is generated without component
2182 suffix in filename and package name.
2183
2184 CPACK_RPM_PACKAGE_EPOCH
2185 The RPM package epoch
2186
2187 · Mandatory : No
2188
2189 · Default : -
2190
2191 Optional number that should be incremented when changing ver‐
2192 sioning schemas or fixing mistakes in the version numbers of
2193 older packages.
2194
2195 CPACK_RPM_PACKAGE_VERSION
2196 The RPM package version.
2197
2198 · Mandatory : YES
2199
2200 · Default : CPACK_PACKAGE_VERSION
2201
2202 CPACK_RPM_PACKAGE_ARCHITECTURE
2203
2204 CPACK_RPM_<component>_PACKAGE_ARCHITECTURE
2205 The RPM package architecture.
2206
2207 · Mandatory : YES
2208
2209 · Default : Native architecture output by uname -m
2210
2211 This may be set to noarch if you know you are building a noarch
2212 package.
2213
2214 CPACK_RPM_PACKAGE_RELEASE
2215 The RPM package release.
2216
2217 · Mandatory : YES
2218
2219 · Default : 1
2220
2221 This is the numbering of the RPM package itself, i.e. the ver‐
2222 sion of the packaging and not the version of the content (see
2223 CPACK_RPM_PACKAGE_VERSION). One may change the default value if
2224 the previous packaging was buggy and/or you want to put here a
2225 fancy Linux distro specific numbering.
2226
2227 NOTE:
2228 This is the string that goes into the RPM Release: field. Some dis‐
2229 tros (e.g. Fedora, CentOS) require 1%{?dist} format and not just a
2230 number. %{?dist} part can be added by setting
2231 CPACK_RPM_PACKAGE_RELEASE_DIST.
2232
2233 CPACK_RPM_PACKAGE_RELEASE_DIST
2234 The dist tag that is added RPM Release: field.
2235
2236 · Mandatory : NO
2237
2238 · Default : OFF
2239
2240 This is the reported %{dist} tag from the current distribution
2241 or empty %{dist} if RPM macro is not set. If this variable is
2242 set then RPM Release: field value is set to ${CPACK_RPM_PACK‐
2243 AGE_RELEASE}%{?dist}.
2244
2245 CPACK_RPM_PACKAGE_LICENSE
2246 The RPM package license policy.
2247
2248 · Mandatory : YES
2249
2250 · Default : “unknown”
2251
2252 CPACK_RPM_PACKAGE_GROUP
2253
2254 CPACK_RPM_<component>_PACKAGE_GROUP
2255 The RPM package group.
2256
2257 · Mandatory : YES
2258
2259 · Default : “unknown”
2260
2261 CPACK_RPM_PACKAGE_VENDOR
2262 The RPM package vendor.
2263
2264 · Mandatory : YES
2265
2266 · Default : CPACK_PACKAGE_VENDOR if set or “unknown”
2267
2268 CPACK_RPM_PACKAGE_URL
2269
2270 CPACK_RPM_<component>_PACKAGE_URL
2271 The projects URL.
2272
2273 · Mandatory : NO
2274
2275 · Default : CMAKE_PROJECT_HOMEPAGE_URL
2276
2277 CPACK_RPM_PACKAGE_DESCRIPTION
2278
2279 CPACK_RPM_<component>_PACKAGE_DESCRIPTION
2280 RPM package description.
2281
2282 · Mandatory : YES
2283
2284 · Default : CPACK_COMPONENT_<compName>_DESCRIPTION (component
2285 based installers only) if set, CPACK_PACKAGE_DESCRIPTION_FILE
2286 if set or “no package description available”
2287
2288 CPACK_RPM_COMPRESSION_TYPE
2289 RPM compression type.
2290
2291 · Mandatory : NO
2292
2293 · Default : -
2294
2295 May be used to override RPM compression type to be used to build
2296 the RPM. For example some Linux distribution now default to lzma
2297 or xz compression whereas older cannot use such RPM. Using this
2298 one can enforce compression type to be used.
2299
2300 Possible values are:
2301
2302 · lzma
2303
2304 · xz
2305
2306 · bzip2
2307
2308 · gzip
2309
2310 CPACK_RPM_PACKAGE_AUTOREQ
2311
2312 CPACK_RPM_<component>_PACKAGE_AUTOREQ
2313 RPM spec autoreq field.
2314
2315 · Mandatory : NO
2316
2317 · Default : -
2318
2319 May be used to enable (1, yes) or disable (0, no) automatic
2320 shared libraries dependency detection. Dependencies are added to
2321 requires list.
2322
2323 NOTE:
2324 By default automatic dependency detection is enabled by rpm
2325 generator.
2326
2327 CPACK_RPM_PACKAGE_AUTOPROV
2328
2329 CPACK_RPM_<component>_PACKAGE_AUTOPROV
2330 RPM spec autoprov field.
2331
2332 · Mandatory : NO
2333
2334 · Default : -
2335
2336 May be used to enable (1, yes) or disable (0, no) automatic
2337 listing of shared libraries that are provided by the package.
2338 Shared libraries are added to provides list.
2339
2340 NOTE:
2341 By default automatic provides detection is enabled by rpm
2342 generator.
2343
2344 CPACK_RPM_PACKAGE_AUTOREQPROV
2345
2346 CPACK_RPM_<component>_PACKAGE_AUTOREQPROV
2347 RPM spec autoreqprov field.
2348
2349 · Mandatory : NO
2350
2351 · Default : -
2352
2353 Variable enables/disables autoreq and autoprov at the same time.
2354 See CPACK_RPM_PACKAGE_AUTOREQ and CPACK_RPM_PACKAGE_AUTOPROV for
2355 more details.
2356
2357 NOTE:
2358 By default automatic detection feature is enabled by rpm.
2359
2360 CPACK_RPM_PACKAGE_REQUIRES
2361
2362 CPACK_RPM_<component>_PACKAGE_REQUIRES
2363 RPM spec requires field.
2364
2365 · Mandatory : NO
2366
2367 · Default : -
2368
2369 May be used to set RPM dependencies (requires). Note that you
2370 must enclose the complete requires string between quotes, for
2371 example:
2372
2373 set(CPACK_RPM_PACKAGE_REQUIRES "python >= 2.5.0, cmake >= 2.8")
2374
2375 The required package list of an RPM file could be printed with:
2376
2377 rpm -qp --requires file.rpm
2378
2379 CPACK_RPM_PACKAGE_CONFLICTS
2380
2381 CPACK_RPM_<component>_PACKAGE_CONFLICTS
2382 RPM spec conflicts field.
2383
2384 · Mandatory : NO
2385
2386 · Default : -
2387
2388 May be used to set negative RPM dependencies (conflicts). Note
2389 that you must enclose the complete requires string between
2390 quotes, for example:
2391
2392 set(CPACK_RPM_PACKAGE_CONFLICTS "libxml2")
2393
2394 The conflicting package list of an RPM file could be printed
2395 with:
2396
2397 rpm -qp --conflicts file.rpm
2398
2399 CPACK_RPM_PACKAGE_REQUIRES_PRE
2400
2401 CPACK_RPM_<component>_PACKAGE_REQUIRES_PRE
2402 RPM spec requires(pre) field.
2403
2404 · Mandatory : NO
2405
2406 · Default : -
2407
2408 May be used to set RPM preinstall dependencies (requires(pre)).
2409 Note that you must enclose the complete requires string between
2410 quotes, for example:
2411
2412 set(CPACK_RPM_PACKAGE_REQUIRES_PRE "shadow-utils, initscripts")
2413
2414 CPACK_RPM_PACKAGE_REQUIRES_POST
2415
2416 CPACK_RPM_<component>_PACKAGE_REQUIRES_POST
2417 RPM spec requires(post) field.
2418
2419 · Mandatory : NO
2420
2421 · Default : -
2422
2423 May be used to set RPM postinstall dependencies
2424 (requires(post)). Note that you must enclose the complete
2425 requires string between quotes, for example:
2426
2427 set(CPACK_RPM_PACKAGE_REQUIRES_POST "shadow-utils, initscripts")
2428
2429 CPACK_RPM_PACKAGE_REQUIRES_POSTUN
2430
2431 CPACK_RPM_<component>_PACKAGE_REQUIRES_POSTUN
2432 RPM spec requires(postun) field.
2433
2434 · Mandatory : NO
2435
2436 · Default : -
2437
2438 May be used to set RPM postuninstall dependencies (requires(pos‐
2439 tun)). Note that you must enclose the complete requires string
2440 between quotes, for example:
2441
2442 set(CPACK_RPM_PACKAGE_REQUIRES_POSTUN "shadow-utils, initscripts")
2443
2444 CPACK_RPM_PACKAGE_REQUIRES_PREUN
2445
2446 CPACK_RPM_<component>_PACKAGE_REQUIRES_PREUN
2447 RPM spec requires(preun) field.
2448
2449 · Mandatory : NO
2450
2451 · Default : -
2452
2453 May be used to set RPM preuninstall dependencies
2454 (requires(preun)). Note that you must enclose the complete
2455 requires string between quotes, for example:
2456
2457 set(CPACK_RPM_PACKAGE_REQUIRES_PREUN "shadow-utils, initscripts")
2458
2459 CPACK_RPM_PACKAGE_SUGGESTS
2460
2461 CPACK_RPM_<component>_PACKAGE_SUGGESTS
2462 RPM spec suggest field.
2463
2464 · Mandatory : NO
2465
2466 · Default : -
2467
2468 May be used to set weak RPM dependencies (suggests). Note that
2469 you must enclose the complete requires string between quotes.
2470
2471 CPACK_RPM_PACKAGE_PROVIDES
2472
2473 CPACK_RPM_<component>_PACKAGE_PROVIDES
2474 RPM spec provides field.
2475
2476 · Mandatory : NO
2477
2478 · Default : -
2479
2480 May be used to set RPM dependencies (provides). The provided
2481 package list of an RPM file could be printed with:
2482
2483 rpm -qp --provides file.rpm
2484
2485 CPACK_RPM_PACKAGE_OBSOLETES
2486
2487 CPACK_RPM_<component>_PACKAGE_OBSOLETES
2488 RPM spec obsoletes field.
2489
2490 · Mandatory : NO
2491
2492 · Default : -
2493
2494 May be used to set RPM packages that are obsoleted by this one.
2495
2496 CPACK_RPM_PACKAGE_RELOCATABLE
2497 build a relocatable RPM.
2498
2499 · Mandatory : NO
2500
2501 · Default : CPACK_PACKAGE_RELOCATABLE
2502
2503 If this variable is set to TRUE or ON, the CPack RPM generator
2504 will try to build a relocatable RPM package. A relocatable RPM
2505 may be installed using:
2506
2507 rpm --prefix or --relocate
2508
2509 in order to install it at an alternate place see rpm(8). Note
2510 that currently this may fail if CPACK_SET_DESTDIR is set to ON.
2511 If CPACK_SET_DESTDIR is set then you will get a warning message
2512 but if there is file installed with absolute path you’ll get
2513 unexpected behavior.
2514
2515 CPACK_RPM_SPEC_INSTALL_POST
2516 Deprecated - use CPACK_RPM_SPEC_MORE_DEFINE instead.
2517
2518 · Mandatory : NO
2519
2520 · Default : -
2521
2522 · Deprecated: YES
2523
2524 May be used to override the __spec_install_post section within
2525 the generated spec file. This affects the install step during
2526 package creation, not during package installation. For adding
2527 operations to be performed during package installation, use
2528 CPACK_RPM_POST_INSTALL_SCRIPT_FILE instead.
2529
2530 CPACK_RPM_SPEC_MORE_DEFINE
2531 RPM extended spec definitions lines.
2532
2533 · Mandatory : NO
2534
2535 · Default : -
2536
2537 May be used to add any %define lines to the generated spec file.
2538 An example of its use is to prevent stripping of executables
2539 (but note that this may also disable other default post install
2540 processing):
2541
2542 set(CPACK_RPM_SPEC_MORE_DEFINE "%define __spec_install_post /bin/true")
2543
2544 CPACK_RPM_PACKAGE_DEBUG
2545 Toggle CPack RPM generator debug output.
2546
2547 · Mandatory : NO
2548
2549 · Default : -
2550
2551 May be set when invoking cpack in order to trace debug informa‐
2552 tion during CPack RPM run. For example you may launch CPack like
2553 this:
2554
2555 cpack -D CPACK_RPM_PACKAGE_DEBUG=1 -G RPM
2556
2557 CPACK_RPM_USER_BINARY_SPECFILE
2558
2559 CPACK_RPM_<componentName>_USER_BINARY_SPECFILE
2560 A user provided spec file.
2561
2562 · Mandatory : NO
2563
2564 · Default : -
2565
2566 May be set by the user in order to specify a USER binary spec
2567 file to be used by the CPack RPM generator instead of generating
2568 the file. The specified file will be processed by config‐
2569 ure_file( @ONLY).
2570
2571 CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
2572 Spec file template.
2573
2574 · Mandatory : NO
2575
2576 · Default : -
2577
2578 If set CPack will generate a template for USER specified binary
2579 spec file and stop with an error. For example launch CPack like
2580 this:
2581
2582 cpack -D CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE=1 -G RPM
2583
2584 The user may then use this file in order to hand-craft is own
2585 binary spec file which may be used with
2586 CPACK_RPM_USER_BINARY_SPECFILE.
2587
2588 CPACK_RPM_PRE_INSTALL_SCRIPT_FILE
2589
2590 CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE
2591
2592 CPACK_RPM_PRE_TRANS_SCRIPT_FILE
2593 Path to file containing pre install/uninstall/transaction
2594 script.
2595
2596 · Mandatory : NO
2597
2598 · Default : -
2599
2600 May be used to embed a pre installation/uninstallation/transac‐
2601 tion script in the spec file. The referred script file (or
2602 both) will be read and directly put after the %pre or %preun
2603 section If CPACK_RPM_COMPONENT_INSTALL is set to ON the
2604 install/uninstall/transaction script for each component can be
2605 overridden with CPACK_RPM_<COMPONENT>_PRE_INSTALL_SCRIPT_FILE,
2606 CPACK_RPM_<COMPONENT>_PRE_UNINSTALL_SCRIPT_FILE, and
2607 CPACK_RPM_<COMPONENT>_PRE_TRANS_SCRIPT_FILE One may verify which
2608 scriptlet has been included with:
2609
2610 rpm -qp --scripts package.rpm
2611
2612 CPACK_RPM_POST_INSTALL_SCRIPT_FILE
2613
2614 CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE
2615
2616 CPACK_RPM_POST_TRANS_SCRIPT_FILE
2617 Path to file containing post install/uninstall/transaction
2618 script.
2619
2620 · Mandatory : NO
2621
2622 · Default : -
2623
2624 May be used to embed a post installation/uninstallation/transac‐
2625 tion script in the spec file. The referred script file (or
2626 both) will be read and directly put after the %post or %postun
2627 section. If CPACK_RPM_COMPONENT_INSTALL is set to ON the
2628 install/uninstall/transaction script for each component can be
2629 overridden with CPACK_RPM_<COMPONENT>_POST_INSTALL_SCRIPT_FILE,
2630 CPACK_RPM_<COMPONENT>_POST_UNINSTALL_SCRIPT_FILE, and
2631 CPACK_RPM_<COMPONENT>_POST_TRANS_SCRIPT_FILE One may verify
2632 which scriptlet has been included with:
2633
2634 rpm -qp --scripts package.rpm
2635
2636 CPACK_RPM_USER_FILELIST
2637
2638 CPACK_RPM_<COMPONENT>_USER_FILELIST
2639
2640 · Mandatory : NO
2641
2642 · Default : -
2643
2644 May be used to explicitly specify %(<directive>) file line in
2645 the spec file. Like %config(noreplace) or any other directive
2646 that be found in the %files section. You can have multiple
2647 directives per line, as in %attr(600,root,root) %config(nore‐
2648 place). Since the CPack RPM generator is generating the list of
2649 files (and directories) the user specified files of the
2650 CPACK_RPM_<COMPONENT>_USER_FILELIST list will be removed from
2651 the generated list. If referring to directories do not add a
2652 trailing slash.
2653
2654 CPACK_RPM_CHANGELOG_FILE
2655 RPM changelog file.
2656
2657 · Mandatory : NO
2658
2659 · Default : -
2660
2661 May be used to embed a changelog in the spec file. The referred
2662 file will be read and directly put after the %changelog section.
2663
2664 CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST
2665 list of path to be excluded.
2666
2667 · Mandatory : NO
2668
2669 ·
2670
2671 Default
2672 /etc /etc/init.d /usr /usr/bin /usr/include /usr/lib
2673 /usr/libx32 /usr/lib64 /usr/share /usr/share/aclocal
2674 /usr/share/doc
2675
2676 May be used to exclude path (directories or files) from the
2677 auto-generated list of paths discovered by CPack RPM. The
2678 default value contains a reasonable set of values if the vari‐
2679 able is not defined by the user. If the variable is defined by
2680 the user then the CPack RPM generator will NOT any of the
2681 default path. If you want to add some path to the default list
2682 then you can use CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
2683 variable.
2684
2685 CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
2686 additional list of path to be excluded.
2687
2688 · Mandatory : NO
2689
2690 · Default : -
2691
2692 May be used to add more exclude path (directories or files) from
2693 the initial default list of excluded paths. See
2694 CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST.
2695
2696 CPACK_RPM_RELOCATION_PATHS
2697 Packages relocation paths list.
2698
2699 · Mandatory : NO
2700
2701 · Default : -
2702
2703 May be used to specify more than one relocation path per relo‐
2704 catable RPM. Variable contains a list of relocation paths that
2705 if relative are prefixed by the value of
2706 CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX or by the value of
2707 CPACK_PACKAGING_INSTALL_PREFIX if the component version is not
2708 provided. Variable is not component based as its content can be
2709 used to set a different path prefix for e.g. binary dir and doc‐
2710 umentation dir at the same time. Only prefixes that are
2711 required by a certain component are added to that component -
2712 component must contain at least one file/directory/symbolic link
2713 with CPACK_RPM_RELOCATION_PATHS prefix for a certain relocation
2714 path to be added. Package will not contain any relocation paths
2715 if there are no files/directories/symbolic links on any of the
2716 provided prefix locations. Packages that either do not contain
2717 any relocation paths or contain files/directories/symbolic links
2718 that are outside relocation paths print out an AUTHOR_WARNING
2719 that RPM will be partially relocatable.
2720
2721 CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
2722 Per component relocation path install prefix.
2723
2724 · Mandatory : NO
2725
2726 · Default : CPACK_PACKAGING_INSTALL_PREFIX
2727
2728 May be used to set per component CPACK_PACKAGING_INSTALL_PREFIX
2729 for relocatable RPM packages.
2730
2731 CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION
2732
2733 CPACK_RPM_NO_<COMPONENT>_INSTALL_PREFIX_RELOCATION
2734 Removal of default install prefix from relocation paths list.
2735
2736 · Mandatory : NO
2737
2738 ·
2739
2740 Default
2741 CPACK_PACKAGING_INSTALL_PREFIX or CPACK_RPM_<COMPO‐
2742 NENT>_PACKAGE_PREFIX are treated as one of relocation
2743 paths
2744
2745 May be used to remove CPACK_PACKAGING_INSTALL_PREFIX and
2746 CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX from relocatable RPM prefix
2747 paths.
2748
2749 CPACK_RPM_ADDITIONAL_MAN_DIRS
2750
2751 · Mandatory : NO
2752
2753 · Default : -
2754
2755 May be used to set additional man dirs that could potentially be
2756 compressed by brp-compress RPM macro. Variable content must be a
2757 list of regular expressions that point to directories containing
2758 man files or to man files directly. Note that in order to com‐
2759 press man pages a path must also be present in brp-compress RPM
2760 script and that brp-compress script must be added to RPM config‐
2761 uration by the operating system.
2762
2763 Regular expressions that are added by default were taken from
2764 brp-compress RPM macro:
2765
2766 · /usr/man/man.*
2767
2768 · /usr/man/.*/man.*
2769
2770 · /usr/info.*
2771
2772 · /usr/share/man/man.*
2773
2774 · /usr/share/man/.*/man.*
2775
2776 · /usr/share/info.*
2777
2778 · /usr/kerberos/man.*
2779
2780 · /usr/X11R6/man/man.*
2781
2782 · /usr/lib/perl5/man/man.*
2783
2784 · /usr/share/doc/.*/man/man.*
2785
2786 · /usr/lib/.*/man/man.*
2787
2788 CPACK_RPM_DEFAULT_USER
2789
2790 CPACK_RPM_<compName>_DEFAULT_USER
2791 default user ownership of RPM content
2792
2793 · Mandatory : NO
2794
2795 · Default : root
2796
2797 Value should be user name and not UID. Note that <compName>
2798 must be in upper-case.
2799
2800 CPACK_RPM_DEFAULT_GROUP
2801
2802 CPACK_RPM_<compName>_DEFAULT_GROUP
2803 default group ownership of RPM content
2804
2805 · Mandatory : NO
2806
2807 · Default : root
2808
2809 Value should be group name and not GID. Note that <compName>
2810 must be in upper-case.
2811
2812 CPACK_RPM_DEFAULT_FILE_PERMISSIONS
2813
2814 CPACK_RPM_<compName>_DEFAULT_FILE_PERMISSIONS
2815 default permissions used for packaged files
2816
2817 · Mandatory : NO
2818
2819 · Default : - (system default)
2820
2821 Accepted values are lists with PERMISSIONS. Valid permissions
2822 are:
2823
2824 · OWNER_READ
2825
2826 · OWNER_WRITE
2827
2828 · OWNER_EXECUTE
2829
2830 · GROUP_READ
2831
2832 · GROUP_WRITE
2833
2834 · GROUP_EXECUTE
2835
2836 · WORLD_READ
2837
2838 · WORLD_WRITE
2839
2840 · WORLD_EXECUTE
2841
2842 Note that <compName> must be in upper-case.
2843
2844 CPACK_RPM_DEFAULT_DIR_PERMISSIONS
2845
2846 CPACK_RPM_<compName>_DEFAULT_DIR_PERMISSIONS
2847 default permissions used for packaged directories
2848
2849 · Mandatory : NO
2850
2851 · Default : - (system default)
2852
2853 Accepted values are lists with PERMISSIONS. Valid permissions
2854 are the same as for CPACK_RPM_DEFAULT_FILE_PERMISSIONS. Note
2855 that <compName> must be in upper-case.
2856
2857 CPACK_RPM_INSTALL_WITH_EXEC
2858 force execute permissions on programs and shared libraries
2859
2860 · Mandatory : NO
2861
2862 · Default : - (system default)
2863
2864 Force set owner, group and world execute permissions on programs
2865 and shared libraries. This can be used for creating valid rpm
2866 packages on systems such as Debian where shared libraries do not
2867 have execute permissions set.
2868
2869 NOTE:
2870 Programs and shared libraries without execute permissions are
2871 ignored during separation of debug symbols from the binary for
2872 debuginfo packages.
2873
2874 Packaging of Symbolic Links
2875 The CPack RPM generator supports packaging of symbolic links:
2876
2877 execute_process(COMMAND ${CMAKE_COMMAND}
2878 -E create_symlink <relative_path_location> <symlink_name>)
2879 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/<symlink_name>
2880 DESTINATION <symlink_location> COMPONENT libraries)
2881
2882 Symbolic links will be optimized (paths will be shortened if possible)
2883 before being added to the package or if multiple relocation paths are
2884 detected, a post install symlink relocation script will be generated.
2885
2886 Symbolic links may point to locations that are not packaged by the same
2887 package (either a different component or even not packaged at all) but
2888 those locations will be treated as if they were a part of the package
2889 while determining if symlink should be either created or present in a
2890 post install script - depending on relocation paths.
2891
2892 Symbolic links that point to locations outside packaging path produce a
2893 warning and are treated as non relocatable permanent symbolic links.
2894
2895 Currently there are a few limitations though:
2896
2897 · For component based packaging component interdependency is not
2898 checked when processing symbolic links. Symbolic links pointing to
2899 content of a different component are treated the same way as if
2900 pointing to location that will not be packaged.
2901
2902 · Symbolic links pointing to a location through one or more intermedi‐
2903 ate symbolic links will not be handled differently - if the interme‐
2904 diate symbolic link(s) is also on a relocatable path, relocating it
2905 during package installation may cause initial symbolic link to point
2906 to an invalid location.
2907
2908 Packaging of debug information
2909 Debuginfo packages contain debug symbols and sources for debugging
2910 packaged binaries.
2911
2912 Debuginfo RPM packaging has its own set of variables:
2913
2914 CPACK_RPM_DEBUGINFO_PACKAGE
2915
2916 CPACK_RPM_<component>_DEBUGINFO_PACKAGE
2917 Enable generation of debuginfo RPM package(s).
2918
2919 · Mandatory : NO
2920
2921 · Default : OFF
2922
2923 NOTE:
2924 Binaries must contain debug symbols before packaging so use either
2925 Debug or RelWithDebInfo for CMAKE_BUILD_TYPE variable value.
2926
2927 NOTE:
2928 Packages generated from packages without binary files, with binary
2929 files but without execute permissions or without debug symbols will
2930 cause packaging termination.
2931
2932 CPACK_BUILD_SOURCE_DIRS
2933 Provides locations of root directories of source files from
2934 which binaries were built.
2935
2936 · Mandatory : YES if CPACK_RPM_DEBUGINFO_PACKAGE is set
2937
2938 · Default : -
2939
2940 NOTE:
2941 For CMake project CPACK_BUILD_SOURCE_DIRS is set by default to point
2942 to CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR paths.
2943
2944 NOTE:
2945 Sources with path prefixes that do not fall under any location pro‐
2946 vided with CPACK_BUILD_SOURCE_DIRS will not be present in debuginfo
2947 package.
2948
2949 CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX
2950
2951 CPACK_RPM_<component>_BUILD_SOURCE_DIRS_PREFIX
2952 Prefix of location where sources will be placed during package
2953 installation.
2954
2955 · Mandatory : YES if CPACK_RPM_DEBUGINFO_PACKAGE is set
2956
2957 ·
2958
2959 Default
2960 “/usr/src/debug/<CPACK_PACKAGE_FILE_NAME>” and for com‐
2961 ponent packaging “/usr/src/debug/<CPACK_PACK‐
2962 AGE_FILE_NAME>-<component>”
2963
2964 NOTE:
2965 Each source path prefix is additionally suffixed by src_<index>
2966 where index is index of the path used from CPACK_BUILD_SOURCE_DIRS
2967 variable. This produces <CPACK_RPM_BUILD_SOURCE_DIRS_PRE‐
2968 FIX>/src_<index> replacement path. Limitation is that replaced path
2969 part must be shorter or of equal length than the length of its
2970 replacement. If that is not the case either
2971 CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX variable has to be set to a
2972 shorter path or source directories must be placed on a longer path.
2973
2974 CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS
2975 Directories containing sources that should be excluded from
2976 debuginfo packages.
2977
2978 · Mandatory : NO
2979
2980 · Default : “/usr /usr/src /usr/src/debug”
2981
2982 Listed paths are owned by other RPM packages and should there‐
2983 fore not be deleted on debuginfo package uninstallation.
2984
2985 CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS_ADDITION
2986 Paths that should be appended to
2987 CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS for exclusion.
2988
2989 · Mandatory : NO
2990
2991 · Default : -
2992
2993 CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE
2994 Create a single debuginfo package even if components packaging
2995 is set.
2996
2997 · Mandatory : NO
2998
2999 · Default : OFF
3000
3001 When this variable is enabled it produces a single debuginfo
3002 package even if component packaging is enabled.
3003
3004 When using this feature in combination with components packaging
3005 and there is more than one component this variable requires
3006 CPACK_RPM_MAIN_COMPONENT to be set.
3007
3008 NOTE:
3009 If none of the CPACK_RPM_<component>_DEBUGINFO_PACKAGE variables is
3010 set then CPACK_RPM_DEBUGINFO_PACKAGE is automatically set to ON when
3011 CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE is set.
3012
3013 CPACK_RPM_DEBUGINFO_FILE_NAME
3014
3015 CPACK_RPM_<component>_DEBUGINFO_FILE_NAME
3016 Debuginfo package file name.
3017
3018 · Mandatory : NO
3019
3020 · Default : rpmbuild tool generated package file name
3021
3022 Alternatively provided debuginfo package file name must end with
3023 .rpm suffix and should differ from file names of other generated
3024 packages.
3025
3026 Variable may contain @cpack_component@ placeholder which will be
3027 replaced by component name if component packaging is enabled
3028 otherwise it deletes the placeholder.
3029
3030 Setting the variable to RPM-DEFAULT may be used to explicitly
3031 set filename generation to default.
3032
3033 NOTE:
3034 CPACK_RPM_FILE_NAME also supports rpmbuild tool generated package
3035 file name - disabled by default but can be enabled by setting the
3036 variable to RPM-DEFAULT.
3037
3038 Packaging of sources (SRPM)
3039 SRPM packaging is enabled by setting CPACK_RPM_PACKAGE_SOURCES variable
3040 while usually using CPACK_INSTALLED_DIRECTORIES variable to provide
3041 directory containing CMakeLists.txt and source files.
3042
3043 For CMake projects SRPM package would be produced by executing:
3044
3045 cpack -G RPM --config ./CPackSourceConfig.cmake
3046
3047 NOTE:
3048 Produced SRPM package is expected to be built with cmake(1) exe‐
3049 cutable and packaged with cpack(1) executable so CMakeLists.txt has
3050 to be located in root source directory and must be able to generate
3051 binary rpm packages by executing cpack -G command. The two executa‐
3052 bles as well as rpmbuild must also be present when generating binary
3053 rpm packages from the produced SRPM package.
3054
3055 Once the SRPM package is generated it can be used to generate binary
3056 packages by creating a directory structure for rpm generation and exe‐
3057 cuting rpmbuild tool:
3058
3059 mkdir -p build_dir/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
3060 rpmbuild --define "_topdir <path_to_build_dir>" --rebuild <SRPM_file_name>
3061
3062 Generated packages will be located in build_dir/RPMS directory or its
3063 sub directories.
3064
3065 NOTE:
3066 SRPM package internally uses CPack/RPM generator to generate binary
3067 packages so CMakeScripts.txt can decide during the SRPM to binary
3068 rpm generation step what content the package(s) should have as well
3069 as how they should be packaged (monolithic or components). CMake can
3070 decide this for e.g. by reading environment variables set by the
3071 package manager before starting the process of generating binary rpm
3072 packages. This way a single SRPM package can be used to produce dif‐
3073 ferent binary rpm packages on different platforms depending on the
3074 platform’s packaging rules.
3075
3076 Source RPM packaging has its own set of variables:
3077
3078 CPACK_RPM_PACKAGE_SOURCES
3079 Should the content be packaged as a source rpm (default is
3080 binary rpm).
3081
3082 · Mandatory : NO
3083
3084 · Default : OFF
3085
3086 NOTE:
3087 For cmake projects CPACK_RPM_PACKAGE_SOURCES variable is set to OFF
3088 in CPackConfig.cmake and ON in CPackSourceConfig.cmake generated
3089 files.
3090
3091 CPACK_RPM_SOURCE_PKG_BUILD_PARAMS
3092 Additional command-line parameters provided to cmake(1) exe‐
3093 cutable.
3094
3095 · Mandatory : NO
3096
3097 · Default : -
3098
3099 CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX
3100 Packaging install prefix that would be provided in CPACK_PACKAG‐
3101 ING_INSTALL_PREFIX variable for producing binary RPM packages.
3102
3103 · Mandatory : YES
3104
3105 · Default : “/”
3106
3107 CPACK_RPM_BUILDREQUIRES
3108 List of source rpm build dependencies.
3109
3110 · Mandatory : NO
3111
3112 · Default : -
3113
3114 May be used to set source RPM build dependencies (Buil‐
3115 dRequires). Note that you must enclose the complete build
3116 requirements string between quotes, for example:
3117
3118 set(CPACK_RPM_BUILDREQUIRES "python >= 2.5.0, cmake >= 2.8")
3119
3120 CPack WIX Generator
3121 CPack WIX generator specific options
3122
3123 Variables specific to CPack WIX generator
3124 The following variables are specific to the installers built on Windows
3125 using WiX.
3126
3127 CPACK_WIX_UPGRADE_GUID
3128 Upgrade GUID (Product/@UpgradeCode)
3129
3130 Will be automatically generated unless explicitly provided.
3131
3132 It should be explicitly set to a constant generated globally
3133 unique identifier (GUID) to allow your installers to replace
3134 existing installations that use the same GUID.
3135
3136 You may for example explicitly set this variable in your CMake‐
3137 Lists.txt to the value that has been generated per default. You
3138 should not use GUIDs that you did not generate yourself or which
3139 may belong to other projects.
3140
3141 A GUID shall have the following fixed length syntax:
3142
3143 XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
3144
3145 (each X represents an uppercase hexadecimal digit)
3146
3147 CPACK_WIX_PRODUCT_GUID
3148 Product GUID (Product/@Id)
3149
3150 Will be automatically generated unless explicitly provided.
3151
3152 If explicitly provided this will set the Product Id of your in‐
3153 staller.
3154
3155 The installer will abort if it detects a pre-existing installa‐
3156 tion that uses the same GUID.
3157
3158 The GUID shall use the syntax described for
3159 CPACK_WIX_UPGRADE_GUID.
3160
3161 CPACK_WIX_LICENSE_RTF
3162 RTF License File
3163
3164 If CPACK_RESOURCE_FILE_LICENSE has an .rtf extension it is used
3165 as-is.
3166
3167 If CPACK_RESOURCE_FILE_LICENSE has an .txt extension it is
3168 implicitly converted to RTF by the WIX Generator. The expected
3169 encoding of the .txt file is UTF-8.
3170
3171 With CPACK_WIX_LICENSE_RTF you can override the license file
3172 used by the WIX Generator in case CPACK_RESOURCE_FILE_LICENSE is
3173 in an unsupported format or the .txt -> .rtf conversion does not
3174 work as expected.
3175
3176 CPACK_WIX_PRODUCT_ICON
3177 The Icon shown next to the program name in Add/Remove programs.
3178
3179 If set, this icon is used in place of the default icon.
3180
3181 CPACK_WIX_UI_REF
3182 This variable allows you to override the Id of the <UIRef> ele‐
3183 ment in the WiX template.
3184
3185 The default is WixUI_InstallDir in case no CPack components have
3186 been defined and WixUI_FeatureTree otherwise.
3187
3188 CPACK_WIX_UI_BANNER
3189 The bitmap will appear at the top of all installer pages other
3190 than the welcome and completion dialogs.
3191
3192 If set, this image will replace the default banner image.
3193
3194 This image must be 493 by 58 pixels.
3195
3196 CPACK_WIX_UI_DIALOG
3197 Background bitmap used on the welcome and completion dialogs.
3198
3199 If this variable is set, the installer will replace the default
3200 dialog image.
3201
3202 This image must be 493 by 312 pixels.
3203
3204 CPACK_WIX_PROGRAM_MENU_FOLDER
3205 Start menu folder name for launcher.
3206
3207 If this variable is not set, it will be initialized with
3208 CPACK_PACKAGE_NAME
3209
3210 If this variable is set to ., then application shortcuts will be
3211 created directly in the start menu and the uninstaller shortcut
3212 will be omitted.
3213
3214 CPACK_WIX_CULTURES
3215 Language(s) of the installer
3216
3217 Languages are compiled into the WixUI extension library. To use
3218 them, simply provide the name of the culture. If you specify
3219 more than one culture identifier in a comma or semicolon delim‐
3220 ited list, the first one that is found will be used. You can
3221 find a list of supported languages at:
3222 http://wix.sourceforge.net/manual-wix3/WixUI_localization.htm
3223
3224 CPACK_WIX_TEMPLATE
3225 Template file for WiX generation
3226
3227 If this variable is set, the specified template will be used to
3228 generate the WiX wxs file. This should be used if further cus‐
3229 tomization of the output is required.
3230
3231 If this variable is not set, the default MSI template included
3232 with CMake will be used.
3233
3234 CPACK_WIX_PATCH_FILE
3235 Optional list of XML files with fragments to be inserted into
3236 generated WiX sources
3237
3238 This optional variable can be used to specify an XML file that
3239 the WIX generator will use to inject fragments into its gener‐
3240 ated source files.
3241
3242 Patch files understood by the CPack WIX generator roughly follow
3243 this RELAX NG compact schema:
3244
3245 start = CPackWiXPatch
3246
3247 CPackWiXPatch = element CPackWiXPatch { CPackWiXFragment* }
3248
3249 CPackWiXFragment = element CPackWiXFragment
3250 {
3251 attribute Id { string },
3252 fragmentContent*
3253 }
3254
3255 fragmentContent = element * - CPackWiXFragment
3256 {
3257 (attribute * { text } | text | fragmentContent)*
3258 }
3259
3260 Currently fragments can be injected into most Component, File,
3261 Directory and Feature elements.
3262
3263 The following additional special Ids can be used:
3264
3265 · #PRODUCT for the <Product> element.
3266
3267 · #PRODUCTFEATURE for the root <Feature> element.
3268
3269 The following example illustrates how this works.
3270
3271 Given that the WIX generator creates the following XML element:
3272
3273 <Component Id="CM_CP_applications.bin.my_libapp.exe" Guid="*"/>
3274
3275 The following XML patch file may be used to inject an Environ‐
3276 ment element into it:
3277
3278 <CPackWiXPatch>
3279 <CPackWiXFragment Id="CM_CP_applications.bin.my_libapp.exe">
3280 <Environment Id="MyEnvironment" Action="set"
3281 Name="MyVariableName" Value="MyVariableValue"/>
3282 </CPackWiXFragment>
3283 </CPackWiXPatch>
3284
3285 CPACK_WIX_EXTRA_SOURCES
3286 Extra WiX source files
3287
3288 This variable provides an optional list of extra WiX source
3289 files (.wxs) that should be compiled and linked. The full path
3290 to source files is required.
3291
3292 CPACK_WIX_EXTRA_OBJECTS
3293 Extra WiX object files or libraries
3294
3295 This variable provides an optional list of extra WiX object
3296 (.wixobj) and/or WiX library (.wixlib) files. The full path to
3297 objects and libraries is required.
3298
3299 CPACK_WIX_EXTENSIONS
3300 This variable provides a list of additional extensions for the
3301 WiX tools light and candle.
3302
3303 CPACK_WIX_<TOOL>_EXTENSIONS
3304 This is the tool specific version of CPACK_WIX_EXTENSIONS.
3305 <TOOL> can be either LIGHT or CANDLE.
3306
3307 CPACK_WIX_<TOOL>_EXTRA_FLAGS
3308 This list variable allows you to pass additional flags to the
3309 WiX tool <TOOL>.
3310
3311 Use it at your own risk. Future versions of CPack may generate
3312 flags which may be in conflict with your own flags.
3313
3314 <TOOL> can be either LIGHT or CANDLE.
3315
3316 CPACK_WIX_CMAKE_PACKAGE_REGISTRY
3317 If this variable is set the generated installer will create an
3318 entry in the windows registry key HKEY_LOCAL_MACHINE\Soft‐
3319 ware\Kitware\CMake\Packages\<PackageName> The value for <Packa‐
3320 geName> is provided by this variable.
3321
3322 Assuming you also install a CMake configuration file this will
3323 allow other CMake projects to find your package with the
3324 find_package() command.
3325
3326 CPACK_WIX_PROPERTY_<PROPERTY>
3327 This variable can be used to provide a value for the Windows In‐
3328 staller property <PROPERTY>
3329
3330 The following list contains some example properties that can be
3331 used to customize information under “Programs and Features”
3332 (also known as “Add or Remove Programs”)
3333
3334 · ARPCOMMENTS - Comments
3335
3336 · ARPHELPLINK - Help and support information URL
3337
3338 · ARPURLINFOABOUT - General information URL
3339
3340 · ARPURLUPDATEINFO - Update information URL
3341
3342 · ARPHELPTELEPHONE - Help and support telephone number
3343
3344 · ARPSIZE - Size (in kilobytes) of the application
3345
3346 CPACK_WIX_ROOT_FEATURE_TITLE
3347 Sets the name of the root install feature in the WIX installer.
3348 Same as CPACK_COMPONENT_<compName>_DISPLAY_NAME for components.
3349
3350 CPACK_WIX_ROOT_FEATURE_DESCRIPTION
3351 Sets the description of the root install feature in the WIX in‐
3352 staller. Same as CPACK_COMPONENT_<compName>_DESCRIPTION for com‐
3353 ponents.
3354
3355 CPACK_WIX_SKIP_PROGRAM_FOLDER
3356 If this variable is set to true, the default install location of
3357 the generated package will be CPACK_PACKAGE_INSTALL_DIRECTORY
3358 directly. The install location will not be located relatively
3359 below ProgramFiles or ProgramFiles64.
3360
3361 NOTE:
3362 Installers created with this feature do not take differ‐
3363 ences between the system on which the installer is cre‐
3364 ated and the system on which the installer might be used
3365 into account.
3366
3367 It is therefore possible that the installer e.g. might
3368 try to install onto a drive that is unavailable or unin‐
3369 tended or a path that does not follow the localization or
3370 convention of the system on which the installation is
3371 performed.
3372
3373 CPACK_WIX_ROOT_FOLDER_ID
3374 This variable allows specification of a custom root folder ID.
3375 The generator specific <64> token can be used for folder IDs
3376 that come in 32-bit and 64-bit variants. In 32-bit builds the
3377 token will expand empty while in 64-bit builds it will expand to
3378 64.
3379
3380 When unset generated installers will default installing to Pro‐
3381 gramFiles<64>Folder.
3382
3383 CPACK_WIX_ROOT
3384 This variable can optionally be set to the root directory of a
3385 custom WiX Toolset installation.
3386
3387 When unspecified CPack will try to locate a WiX Toolset instal‐
3388 lation via the WIX environment variable instead.
3389
3390 CPACK_WIX_CUSTOM_XMLNS
3391 This variable provides a list of custom namespace declarations
3392 that are necessary for using WiX extensions. Each declaration
3393 should be in the form name=url, where name is the plain names‐
3394 pace without the usual xmlns: prefix and url is an unquoted
3395 namespace url. A list of commonly known WiX schemata can be
3396 found here: https://wixtoolset.org/documentation/manual/v3/xsd/
3397
3399 2000-2021 Kitware, Inc. and Contributors
3400
3401
3402
3403
34043.19.7 Mar 15, 2021 CPACK-GENERATORS(7)