summaryrefslogtreecommitdiffstats
path: root/Modules/CPack.cmake
Commit message (Collapse)AuthorAgeFilesLines
* CPack: Remove the deprecated PackageMaker generatorCraig Scott2022-05-041-3/+0
| | | | | | This CPack generator has been deprecated since commit 7bf187499f (CPack: Deprecate PackageMaker generator, 2020-01-31). Fixes: #23344
* CPack/DMG: Do not use CPACK_RESOURCE_FILE_LICENSE for SLA by defaultBrad King2022-04-141-2/+14
| | | | | | | | Since macOS 12.0 deprecated the tools needed to attach a SLA to a `.dmg`, we should no longer do this by default. Add a policy to change the default to off. Fixes: #22978
* CPack: Add parallel zstd compressionRussell Greene2022-02-231-0/+6
|
* CPack: Format CPACK_THREADS compression methods as a definition listBrad King2022-02-221-6/+11
| | | | Prepare to add more entries beyond `xz`.
* CPack/DMG: Add explicit option to use CPACK_RESOURCE_FILE_LICENSE for SLABrad King2022-01-181-0/+5
| | | | | | | | | | | | | | | | | Since macOS 12.0, the ``hdiutil udifrez`` and ``hdiutil udifderez`` commands to embed and extract resources in a disk image are deprecated. The CPack DragNDrop Generator uses these to attach the SLA specified by the `CPACK_RESOURCE_FILE_LICENSE` option. Since that option is shared by multiple CPack generators, we cannot deprecate it. Instead, add an explicit option to control the behavior. This will give projects a way to package on future macOS versions that remove the commands. In order to provide a long-term transition away from attaching SLAs to disk images, update `cpack` to default this behavior to OFF. To retain compatibility for CMake projects, teach the CPack module to default the option to ON. Later a policy can be added to change the default. Issue: #22978
* CPack: Remove undocumented deprecated OSXX11 generatorBrad King2021-11-051-4/+1
| | | | | | | | This CPack generator was never documented, and has been deprecated since commit 2ed00e8ef8 (CPack: Deprecate OSXX11 generator, 2020-01-31, v3.17.0-rc1~45^2). Issue: #20235
* cmArchiveWrite: Consolidate multiple ways to set thread countNils Gladitz2021-04-221-5/+13
| | | | | | | | | | | | | Merge use of SetFilterOption() into more abstract thread count in cmArchiveWrite constructor. libarchive defaulting of threads for threads == 0 seems to be configuration dependent. Preemptively default thread count via std::thread::hardware_concurrency(). Also allow negative values for the thread count in which case the detected hardware concurrency is also used but the given absolute thread count is used as an upper limit.
* liblzma: Enable multi threaded stream encoding supportNils Gladitz2021-04-221-3/+4
|
* CPack: add CPACK_THREADS variable to control compression threadsRodolfo Lima2021-01-261-0/+23
| | | | | | | This allows setting how many threads the compressor will use. Currently only implemented for XZ when using system's lzma library. Fixes: #21715
* Help: Add `.. versionadded` directives to module docsNikita Nemkin2020-12-021-0/+12
| | | | Issue: #19715
* Help: Clarify variables specifying scripts to execute during packagingCraig Scott2020-11-031-16/+28
| | | Relates: #19077
* Fix typos identified using codespellJean-Christophe Fillion-Robin2020-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See https://github.com/codespell-project/codespell#readme The following command was used: ``` codespell -q6 --skip="\ .git,\ *.json,\ ./Copyright.txt,\ ./Help/command/foreach.rst,\ ./Help/prop_test/REQUIRED_FILES.rst,\ ./Help/variable/CTEST_COVERAGE_COMMAND.rst,\ ./Modules/CMakeCheckCompilerFlagCommonPatterns.cmake,\ ./Modules/CMakeRCInformation.cmake,\ ./Modules/Internal/CPack/NSIS.template.in,\ ./Modules/FindMatlab.cmake,\ ./Modules/MatlabTestsRedirect.cmake,\ ./Modules/Platform/Windows-Clang.cmake,\ ./Modules/Platform/Windows-Intel-Fortran.cmake,\ ./Modules/Platform/Windows-MSVC.cmake,\ ./Source/CMakeVersion.cmake,\ ./Source/cmConvertMSBuildXMLToJSON.py,\ ./Source/cmCreateTestSourceList.cxx,\ ./Source/cmGlobalVisualStudio10Generator.cxx,\ ./Source/cmExportBuildFileGenerator.cxx,\ ./Source/cmExportInstallAndroidMKGenerator.cxx,\ ./Source/cmExportInstallFileGenerator.cxx,\ ./Source/cmExportSet.cxx,\ ./Source/cmExportTryCompileFileGenerator.cxx,\ ./Source/cmFindPackageCommand.cxx,\ ./Source/cmInstallCommand.cxx,\ ./Source/cmGeneratorExpressionLexer.cxx,\ ./Source/cmLocalVisualStudio7Generator.cxx,\ ./Source/cmOrderDirectories.cxx,\ ./Source/cmTarget.cxx,\ ./Source/kwsys/*,\ ./Source/QtDialog/CMakeSetupDialog.ui,\ ./Source/CPack/WiX/cmWIXRichTextFormatWriter.cxx,\ ./Source/CTest/cmParseCoberturaCoverage.h,\ ./Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/English.license.rtf,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt,\ ./Tests/RunCMake/GoogleTest/xml_output.cpp,\ ./Tests/RunCMake/Make/TargetMessages*,\ ./Utilities/*,\ " \ -L "\ dependees,\ endwhile,\ fo,\ filetest,\ helpfull,\ nd,\ objext,\ stoll,\ supercedes,\ superceded,\ vas,\ varn,\ " ```
* Merge topic 'cpack2'Brad King2020-07-091-3/+7
|\ | | | | | | | | | | | | ca9bd43f2d Help: Duplicate essential information on install paths in CPack. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4987
| * Help: Duplicate essential information on install paths in CPack.Joachim Wuttke (h)2020-07-081-3/+7
| |
* | Merge topic 'doc-CPack-source-package'Brad King2020-07-091-1/+1
|\ \ | |/ |/| | | | | | | | | f8b7acaf90 Help: Fix CPack module docs on config file for source package Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4985
| * Help: Fix CPack module docs on config file for source packageJoachim Wuttke (h)2020-07-081-1/+1
| |
* | CPack: Introduce pre- and post- build actionsAlex Turbov2020-06-151-0/+15
|/ | | | | | | | | | | | | | | CPack learned the `CPACK_PRE_BUILD_SCRIPTS`, `CPACK_POST_BUILD_SCRIPTS`, and `CPACK_PACKAGE_FILES` variables. The first two are lists of scripts to perform - after pre-install files into a staging directory and before producing the resulting packages - after produsing the packages The post-build script(s) also get the list of actually produced packages in the `CPACK_PACKAGE_FILES`. Issue: #19077
* Help: module CPack: improve summary and IntroductionJoachim Wuttke (o)2020-02-141-12/+12
| | | | | | | | | | | | * In summary: * we configure generators, not the generated installers * we generate installers or source packages, not source package installers * In Introduction: * Make paragraph on binary installers more concise * Remove example that refered to CMake source tree * Add paragraph on source packages * omit the parenthesis on graphical installers
* Help: module CPack: Make internal hyperlink target more uniqueBrad King2020-02-121-3/+3
| | | | We already have a `.. _targets:` in `Help/command/install.rst`.
* Help: module CPack: New section on targets.Joachim Wuttke (o)2020-02-121-7/+21
| | | | | To explain in full detail to what extent the targets package and package_source are supported by different generators.
* Help: module CPack: add cross-reference to cpack-generators(7).Joachim Wuttke (o)2020-02-121-0/+2
|
* Help: module CPack. Explain usage of the build targets.Joachim Wuttke (o)2020-02-121-7/+11
| | | | | Explain the usage of the two new build targets, package and package_source.
* Help: module CPack: correction: 2 config files are generated, not just 1Joachim Wuttke (o)2020-02-121-3/+4
| | | | Besides CPackConfig.cmake, the module also generates CPackSourceConfig.cmake.
* Help: CPack module: Correct the summary (configure, not build)Joachim Wuttke (o)2020-02-121-1/+1
| | | | | Including CPack does not "build" installers. It just *configures* them.
* CPack: Deprecate OSXX11 generatorBrad King2020-01-311-1/+1
| | | | | | | | | | The CPack OSXX11 generator has not had any updates since 2011 except as part of sweeping maintenance changes. It also creates packages with a OSXScriptLauncher binary that has only ppc and i386 architectures which are not supported by Apple anymore. Furthermore, the generator is not even mentioned in our documentation. Add a deprecation warning. Fixes: #20235
* CPack: Deprecate PackageMaker generatorBrad King2020-01-311-1/+1
| | | | | | | Xcode no longer distributes the PackageMaker tools. Add a deprecation warning when the generator is used. Issue: #20235
* Merge topic 'cpack-deb-fix-description'Brad King2020-01-271-1/+2
|\ | | | | | | | | | | | | baec299ecd CPack: Fix regression in Deb description Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4271
| * CPack: Fix regression in Deb descriptionKyle Edwards2020-01-241-1/+2
| | | | | | | | Fixes: #20254
* | CPack: mark options as advanced only if definedBen Boeckel2020-01-141-32/+39
| |
* | Merge topic 'fix-cpack-deb-description-file'Brad King2020-01-131-1/+3
|\ \ | |/ | | | | | | | | | | d491f34a5e CPack: Fix regression in DEB generator description Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4204
| * CPack: Fix regression in DEB generator descriptionKyle Edwards2020-01-101-1/+3
| | | | | | | | Fixes: #20102
* | Merge topic 'remove-CPACK_INSTALL_CMAKE_CONFIGURATIONS'Craig Scott2019-11-121-7/+0
|\ \ | |/ | | | | | | | | | | | | 1d1fa5d3e4 Tests: Add RunCMake.CPackCommandLine case for multi-config package 108207cc84 CPack: Remove CPACK_INSTALL_CMAKE_CONFIGURATIONS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4025
| * CPack: Remove CPACK_INSTALL_CMAKE_CONFIGURATIONSAlex Turbov2019-11-111-7/+0
| | | | | | | | | | | | | | | | | | | | | | In commit da5ac4bb60 (cpack: Add `CPACK_INSTALL_CMAKE_CONFIGURATIONS` variable, 2019-07-10, v3.16.0-rc1~165^2) we added both the variable and support for `cpack -C` with multiple configurations. Drop the variable because the `package` target cannot ensure that all of the configurations are built. Keep the command-line interface so that it can be used manually in scripts. Fixes: #19918
* | CPack/NSIS: Add option for custom Uninstall filenameJohnny Jazeix2019-10-251-0/+2
|/ | | | Fixes: #10728
* cpack: Add `CPACK_INSTALL_CMAKE_CONFIGURATIONS` variableAlex Turbov2019-08-301-0/+7
| | | | | | | | | For the multi-configuration generators one can specify the list of configurations to include in the package. E.g. having a project, where debug libraries have a suffix to distinct them from the release builds, one can build the package containing both `Debug` and `Release` binaries.
* CPack: Introduce CPACK_INSTALL_SCRIPTS variableAlex Turbov2019-07-211-1/+15
| | | | | | | | | | The singular name `CPACK_INSTALL_SCRIPT` has existed but was not linked from the CPack documentation. Also, it supported multiple values and should have had a plural name. Add a plural-named alternative now. If both `CPACK_INSTALL_SCRIPTS` and `CPACK_INSTALL_SCRIPT` are set then ignore the latter with a warning. Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Help: Explain interaction of cpack(1) and CPack.Joachim Wuttke (l)2018-11-151-9/+18
| | | | | | | In particular, make clear that package/installer generators are not the makefile generators of the cmake command. Also insert sections in CPack doc, and capitalize section titles.
* Help: Insert section headers in CPack moduleJoachim Wuttke (h)2018-11-121-2/+8
| | | | | The one extant section header was confusing at least: Not all the doc page is on Variables.
* Help: Replace occurrences of "Mac OS X" with "macOS"Bartosz Kosiorek2018-09-051-1/+1
| | | | | | | | Apple's main Operating system changed their name from OS X to macOS: https://www.engadget.com/2016/06/13/os-x-is-now-macos/ Revise documentation accordingly.
* CPack: Restore support for 0-valued version componentsBrad King2018-07-271-12/+15
| | | | | | | | | | | | | | In commit v3.12.0-rc1~136^2 (CPack: Use project version as default for `CPACK_PACKAGE_VERSION`, 2018-04-29) we did not account for the value of `CMAKE_PROJECT_VERSION_{MAJOR,MINOR,PATCH}` having `0`. Fix the logic to distinguish between unprovided version components and `0` components. While at it, add a test case covering the behavior described in the documentation by the original commit. The number of version components in the package name should match those provided to the `project()` command `VERSION` option. Fixes: #18199
* CPack: Add NuGet supportAlex Turbov2018-05-111-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Create a CPack generator that uses `nuget.exe` to create packages: https://docs.microsoft.com/en-us/nuget/what-is-nuget NuGet packages could be easily produced from a `*.nuspec` file (running `nuget pack` in the directory w/ the spec file). The spec filename does not affect the result `*.nupkg` name -- only `id` and `version` elements of the spec are used (by NuGet). Some implementation details: * Minimize C++ code -- use CMake script do to the job. It just let the base class (`cmCPackGenerator`) to preinstall everything to a temp directory, render the spec file and run `nuget pack` in it, harvesting `*.nupkg` files...; * Ignore package name (and use default paths) prepared by the base class (only `CPACK_TEMPORARY_DIRECTORY` is important) -- final package filename is a responsibility of NuGet, so after generation just scan the temp directory for the result `*.nupkg` file(s) and update `packageFileNames` data-member of the generator; * The generator supports _all-in-one_ (default), _one-group-per-package_ and _one-component-per-package_ modes.
* CPack: Add more markup to module documentationAlex Turbov2018-05-081-174/+174
| | | | Also indent variable docs consistently.
* CPack: Document `CPACK_PACKAGE_DESCRIPTION` variableAlex Turbov2018-05-081-3/+11
|
* CPack: Move CPACK_BINARY_<GENNAME> with rest of docsAlex Turbov2018-05-081-10/+10
|
* CPack: Convert documentation to long-bracket comment syntaxAlex Turbov2018-05-081-320/+321
| | | | Use `#[===...==[.rst:` comments for docs.
* CPack: Fix indentationCraig Scott2018-05-041-17/+17
| | | | Addresses indentation not matching guidelines, missed in !2020. No functional changes and no changes to docs.
* Merge topic 'feature/cpack-default-package-version'Craig Scott2018-05-031-8/+45
|\ | | | | | | | | | | | | | | af1c48871c CPack: Use project version as default for `CPACK_PACKAGE_VERSION` Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Harry Mallon <hjmallon@gmail.com> Merge-request: !2020
| * CPack: Use project version as default for `CPACK_PACKAGE_VERSION`Alex Turbov2018-05-021-8/+45
| | | | | | | | | | | | | | | | | | | | * Introduce `CMAKE_PROJECT_VERSION` and the corresponsing components: `CMAKE_PROJECT_VERSION_MAJOR`, `CMAKE_PROJECT_VERSION_MINOR`, `CMAKE_PROJECT_VERSION_PATCH` and `CMAKE_PROJECT_VERSION_TWEAK`. * `CPack` module use `CMAKE_PROJECT_VERSION_MAJOR`, `CMAKE_PROJECT_VERSION_MINOR` and `CMAKE_PROJECT_VERSION_PATCH` to initialize corresponsing CPack variables.
* | Help: Improve accuracy, readability and cross-referencing of cpack docsCraig Scott2018-04-271-8/+7
|/ | | | | | This is primarily a cleanup of the cpack(1) page. The cpack.cxx file and CPack module were also updated to make the docs relating to the generator specification and option names consistent in all three places.
* CPack: Add CPACK_PACKAGE_HOMEPAGE_URL settingAlex Turbov2018-04-231-0/+12
| | | | Initialize it from `CMAKE_PROJECT_HOMEPAGE_URL`.