1CPack FreeBSD Generator 2----------------------- 3 4.. versionadded:: 3.10 5 6The built in (binary) CPack FreeBSD (pkg) generator (Unix only) 7 8Variables affecting the CPack FreeBSD (pkg) generator 9^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 10 11- .. versionadded:: 3.18 12 :variable:`CPACK_ARCHIVE_THREADS` 13 14Variables specific to CPack FreeBSD (pkg) generator 15^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 16 17The CPack FreeBSD generator may be used to create pkg(8) packages -- these may 18be used on FreeBSD, DragonflyBSD, NetBSD, OpenBSD, but also on Linux or OSX, 19depending on the installed package-management tools -- using :module:`CPack`. 20 21The CPack FreeBSD generator is a :module:`CPack` generator and uses the 22``CPACK_XXX`` variables used by :module:`CPack`. It tries to re-use packaging 23information that may already be specified for Debian packages for the 24:cpack_gen:`CPack DEB Generator`. It also tries to re-use RPM packaging 25information when Debian does not specify. 26 27The CPack FreeBSD generator should work on any host with libpkg installed. The 28packages it produces are specific to the host architecture and ABI. 29 30The CPack FreeBSD generator sets package-metadata through 31``CPACK_FREEBSD_XXX`` variables. The CPack FreeBSD generator, unlike the 32CPack Deb generator, does not specially support componentized packages; a 33single package is created from all the software artifacts created through 34CMake. 35 36All of the variables can be set specifically for FreeBSD packaging in 37the CPackConfig file or in CMakeLists.txt, but most of them have defaults 38that use general settings (e.g. CMAKE_PROJECT_NAME) or Debian-specific 39variables when those make sense (e.g. the homepage of an upstream project 40is usually unchanged by the flavor of packaging). When there is no Debian 41information to fall back on, but the RPM packaging has it, fall back to 42the RPM information (e.g. package license). 43 44.. variable:: CPACK_FREEBSD_PACKAGE_NAME 45 46 Sets the package name (in the package manifest, but also affects the 47 output filename). 48 49 * Mandatory: YES 50 * Default: 51 52 - :variable:`CPACK_PACKAGE_NAME` (this is always set by CPack itself, 53 based on CMAKE_PROJECT_NAME). 54 55.. variable:: CPACK_FREEBSD_PACKAGE_COMMENT 56 57 Sets the package comment. This is the short description displayed by 58 pkg(8) in standard "pkg info" output. 59 60 * Mandatory: YES 61 * Default: 62 63 - :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` (this is always set 64 by CPack itself, if nothing else sets it explicitly). 65 - :variable:`PROJECT_DESCRIPTION` (this can be set with the DESCRIPTION 66 parameter for :command:`project`). 67 68.. variable:: CPACK_FREEBSD_PACKAGE_DESCRIPTION 69 70 Sets the package description. This is the long description of the package, 71 given by "pkg info" with a specific package as argument. 72 73 * Mandatory: YES 74 * Default: 75 76 - :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` (this may be set already 77 for Debian packaging, so it is used as a fallback). 78 79.. variable:: CPACK_FREEBSD_PACKAGE_WWW 80 81 The URL of the web site for this package, preferably (when applicable) the 82 site from which the original source can be obtained and any additional 83 upstream documentation or information may be found. 84 85 * Mandatory: YES 86 * Default: 87 88 - :variable:`CMAKE_PROJECT_HOMEPAGE_URL`, or if that is not set, 89 :variable:`CPACK_DEBIAN_PACKAGE_HOMEPAGE` (this may be set already 90 for Debian packaging, so it is used as a fallback). 91 92 .. versionadded:: 3.12 93 The ``CMAKE_PROJECT_HOMEPAGE_URL`` variable. 94 95.. variable:: CPACK_FREEBSD_PACKAGE_LICENSE 96 97 The license, or licenses, which apply to this software package. This must 98 be one or more license-identifiers that pkg recognizes as acceptable license 99 identifiers (e.g. "GPLv2"). 100 101 * Mandatory: YES 102 * Default: 103 104 - :variable:`CPACK_RPM_PACKAGE_LICENSE` 105 106.. variable:: CPACK_FREEBSD_PACKAGE_LICENSE_LOGIC 107 108 This variable is only of importance if there is more than one license. 109 The default is "single", which is only applicable to a single license. 110 Other acceptable values are determined by pkg -- those are "dual" or "multi" -- 111 meaning choice (OR) or simultaneous (AND) application of the licenses. 112 113 * Mandatory: NO 114 * Default: single 115 116.. variable:: CPACK_FREEBSD_PACKAGE_MAINTAINER 117 118 The FreeBSD maintainer (e.g. [email protected]) of this package. 119 120 * Mandatory: YES 121 * Default: none 122 123.. variable:: CPACK_FREEBSD_PACKAGE_ORIGIN 124 125 The origin (ports label) of this package; for packages built by CPack 126 outside of the ports system this is of less importance. The default 127 puts the package somewhere under misc/, as a stopgap. 128 129 * Mandatory: YES 130 * Default: misc/<package name> 131 132.. variable:: CPACK_FREEBSD_PACKAGE_CATEGORIES 133 134 The ports categories where this package lives (if it were to be built 135 from ports). If none is set a single category is determined based on 136 the package origin. 137 138 * Mandatory: YES 139 * Default: derived from ORIGIN 140 141.. variable:: CPACK_FREEBSD_PACKAGE_DEPS 142 143 A list of package origins that should be added as package dependencies. 144 These are in the form <category>/<packagename>, e.g. x11/libkonq. 145 No version information needs to be provided (this is not included 146 in the manifest). 147 148 * Mandatory: NO 149 * Default: empty 150