summaryrefslogtreecommitdiffstats
path: root/Source/CPack
Commit message (Collapse)AuthorAgeFilesLines
* CPack: Support arbitrary component name when packagingDeniz Bahadir2024-05-0111-28/+175
| | | | | | | | | | | | | | | | | | CPack no longer blindly tries to create temporary packaging (sub)directories that contain the verbatim name of a component, which might contain characters that are not supported on the platform / filesystem. Instead, if the component's name contains a (possibly) problematic character its MD5 hash will be used for that temporary packaging (sub)directory. Likewise, if the component's name resembles a reserved device name (e.g. "COM1" on Windows) then the temporary packaging (sub)directory will get this name prefixed with an underscore. Similar, if it ends in a dot (on Windows) then the temporary packaging (sub)directory will get this name suffixed with an underscore. Fixes: #23612
* cmCPackGenerator: Fix debug message in function `PrepareGroupingKind`Deniz Bahadir2024-04-301-2/+2
|
* cmCPackGenerator: Fix comment in function `InstallCMakeProject`Deniz Bahadir2024-04-301-1/+1
|
* cmCPackGenerator: Slightly simplify function `InstallProject`Deniz Bahadir2024-04-301-7/+7
|
* cmCPackGenerator: Clean up and simplify function `DoPackage`Deniz Bahadir2024-04-301-32/+47
|
* cmCPackGenerator: Clean up and simplify function `PrepareNames`Deniz Bahadir2024-04-301-33/+42
|
* cmCPackGenerator: Refactor copying of package files into own functionDeniz Bahadir2024-04-302-19/+26
|
* cmCPackGenerator: Refactor generation of checksum file into own functionDeniz Bahadir2024-04-302-12/+24
|
* cmCPackGenerator: Handle CPACK_TEMPORARY_[INSTALL]_DIRECTORY properlyDeniz Bahadir2024-04-241-2/+56
| | | | | | | | | | | | | | | | | | | The variable `CPACK_TEMPORARY_DIRECTORY` is an internal variable that is required for proper packaging. Historically, a second variable `CPACK_TEMPORARY_INSTALL_DIRECTORY` existed as well which had the same purpose. Both variables had to be set to the same value. Otherwise, CPack would not succeed with packaging. In order to ease CPack's usage, the variable `CPACK_TEMPORARY_INSTALL_DIRECTORY` is now no longer used. However, as it cannot be guaranteed that neither of these two (internal) variables have been used in the wild, some mechanism was introduced to preserve backwards-compatibility: If one of these variables is set, the other variable will be set to the same value. If, however, both are set to different values, CPack still fails but with an explicit error-message. Fixes: #25046
* CPack: Enable Inno Setup generator on non-Windows hostsAndreas Oetken2024-04-152-10/+21
| | | | | Innosetup tools can be run on Linux using Wine, thus there is no reason to block this in CMake.
* CPack/WIX: Add support for WiX Toolset v4Brad King2024-03-2410-61/+220
| | | | | | | Add a `CPACK_WIX_VERSION` option to specify version WiX for which the project is configured. Fixes: #23910
* CPack/WIX: Remove "candle" from tool-agnostic error messageBrad King2024-03-221-1/+1
|
* CPack/WIX: Improve formatting of CPACK_WIX_CUSTOM_XMLNS expansionBrad King2024-03-221-10/+5
|
* CPack/WIX: Prepare to provide version-specific WiX templatesBrad King2024-03-221-1/+5
| | | | Move our template for WiX Toolset v3 to a versioned location.
* cmCPackGenerator: Add option to FindTemplate to use alternate builtin pathBrad King2024-03-222-5/+11
|
* Source: Use cmValue::IsOn and IsOffVitaly Stakhovsky2024-03-177-20/+20
| | | | Speed up a bit by calling members directly.
* cpack: Simplify config file selectionBrad King2024-02-271-2/+3
|
* cpack: Simplify package directory selection logicBrad King2024-02-271-19/+13
|
* Source: Avoid using CollapseFullPath just to get parent directoryBrad King2024-02-272-3/+2
|
* Reduce scope of variableChristoph Grüninger2024-02-141-2/+1
| | | | Found by Cppcheck (variableScope)
* Use prefix ++ operators for non-primitive typesChristoph Grüninger2024-02-141-1/+1
| | | | | Prevent unnecessary calls to copy constructor Found by Cppcheck (postfixOperator)
* Remove unused variableChristoph Grüninger2024-02-142-4/+0
| | | | Found by Cppcheck.
* CPack/WiX: Make InstallScope configurableMax Gaukler2023-11-161-0/+1
| | | | | | | | Add a new `CPACK_WIX_INSTALL_SCOPE` variable to set the `InstallScope` when using the default WiX template. Set the default to the bug-free value `perMachine`. Fixes: #20962
* CPack: Avoid adding duplicate files to archive when combining componentsAtılhan Emre Dursunoğlu2023-10-262-8/+151
| | | | Fixes: #25280
* Merge topic 'vector-emplace-back'Brad King2023-10-241-3/+5
|\ | | | | | | | | | | | | | | | | | | 9ca6dfc280 Source: Reduce vector entry allocations and copies aaeb2e0aa8 cmLinkItemGraphVisitor: Remove unnecessary syntax d1c1e95331 cmCPackInnoSetupGenerator: Reserve space to reduce allocations Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8891
| * Source: Reduce vector entry allocations and copiesRose2023-10-231-3/+4
| | | | | | | | Prefer `emplace_back` over `push_back`.
| * cmCPackInnoSetupGenerator: Reserve space to reduce allocationsRose2023-10-231-0/+1
| |
* | Fix clang -Wreserved-identifier by renaming an enumSean McBride2023-10-201-1/+1
|/
* Source: Fix mysterious new IWYU warningsKyle Edwards2023-08-291-0/+2
|
* cmCryptoHash: prefer to cmSystemTools::ComputeFileHashBen Boeckel2023-08-081-2/+2
|
* cmCryptoHash: prefer to cmSystemTools::ComputeStringMD5Ben Boeckel2023-08-081-1/+3
| | | | | | | The latter call is no longer post-bootstrap only since 596439b1bb (cmCustomCommandGenerator: Add option to transform depfile, 2020-10-05) via !5325. Convert callers to just use `cmCryptoHash` directly and remove the bootstrap guard.
* Merge topic 'windows-tidy-cmstrcat'Brad King2023-08-0112-125/+145
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d58253d155 clang-tidy: fix `performance-faster-string-find` lints a19ec77200 clang-tidy: fix `readability-static-accessed-through-instance` lints 3d03629f20 cmWIXRichTextFormatWriter: remove identity cast 1df29567ac clang-tidy: fix `modernize-use-equals-default` lints 32fe862b8c clang-tidy: fix `readability-container-size-empty` lints 7eaab9a957 clang-tidy: fix `modernize-raw-string-literal` lints ffa49c23aa clang-tidy: fix `readability-else-after-return` lints 4489e9a85c clang-tidy: fix `modernize-use-auto` lints ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8668
| * clang-tidy: fix `performance-faster-string-find` lintsBen Boeckel2023-07-311-1/+1
| |
| * clang-tidy: fix `readability-static-accessed-through-instance` lintsBen Boeckel2023-07-311-1/+1
| |
| * cmWIXRichTextFormatWriter: remove identity castBen Boeckel2023-07-311-1/+1
| |
| * clang-tidy: fix `modernize-use-equals-default` lintsBen Boeckel2023-07-311-3/+1
| |
| * clang-tidy: fix `readability-container-size-empty` lintsBen Boeckel2023-07-311-1/+1
| |
| * clang-tidy: fix `modernize-raw-string-literal` lintsBen Boeckel2023-07-312-2/+2
| |
| * clang-tidy: fix `readability-else-after-return` lintsBen Boeckel2023-07-282-9/+10
| |
| * clang-tidy: fix `modernize-use-auto` lintsBen Boeckel2023-07-283-3/+3
| |
| * clang-tidy: fix `modernize-use-nullptr` lintsBen Boeckel2023-07-282-4/+5
| |
| * clang-tidy: fix `readability-braces-around-statements` lintsBen Boeckel2023-07-283-8/+16
| |
| * cmLocalVisualStudio10Generator: remove unnecessary `.c_str()`Ben Boeckel2023-07-282-5/+4
| |
| * strings: use `emplace_back` with `cmStrCat` argumentsBen Boeckel2023-07-281-4/+4
| |
| * strings: use character literals where possibleBen Boeckel2023-07-288-42/+42
| |
| * cmStrCat: use in Windows-specific sourcesBen Boeckel2023-07-283-29/+36
| |
| * strings: simplify streaming sequencesBen Boeckel2023-07-271-6/+5
| |
| * strings: combine string literals where possibleBen Boeckel2023-07-271-5/+8
| |
| * strings: compare to static `string_view` instances in Windows-only codeBen Boeckel2023-07-273-14/+18
| |
* | strings: use single characters where possibleBen Boeckel2023-07-303-18/+18
| |