summaryrefslogtreecommitdiffstats
path: root/Source/CPack
Commit message (Collapse)AuthorAgeFilesLines
* Update CMake code using KWSys to account for Status return valuesBrad King2021-04-141-6/+7
| | | | | | KWSys as of 2021-04-14 changed the return type of `SystemTools` operations from `bool` to `Status`. Update our call sites. This may improve error reporting accuracy in a few places.
* Merge topic 'ifw-depends-name-version-parsing'Brad King2021-03-301-33/+78
|\ | | | | | | | | | | | | | | a43783a08d CPackIFW: Fix parsing of name and version in component DEPENDS f536e6f3fb CPackIFW: Remove redundant variable assignment Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5929
| * CPackIFW: Fix parsing of name and version in component DEPENDSCraig Scott2021-03-261-32/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DEPENDS or DEPENDENCIES arguments in a call to cpack_ifw_configure_component() or cpack_ifw_configure_component_group() specify a name and optionally a version constraint as a single string. QtIFW also allows a colon (requires QtIFW 3.1 or later) or a hyphen to separate the name and version. The version may optionally contain a leading operator, with = being assumed when no operator is present. The previous code was not handling : as a separator at all and was erroneously dropping the version part when no operator was given. Fix both of those non-conforming behaviors and also warn if trying to use a hyphen in a name with a QtIFW version that isn't recent enough to support it. Fixes: #21697
| * CPackIFW: Remove redundant variable assignmentCraig Scott2021-03-241-1/+1
| | | | | | This was showing up in cppcheck results.
* | Merge branch 'master' into nsis-branding-trim-positionCraig Scott2021-03-243-3/+11
|\ \ | |/
| * CPack: Fix symbolic link detection for directoriesOlivier Iffrig2021-03-051-1/+2
| | | | | | | | | | | | | | | | In the case where the current path is a symlink to a directory, a trailing slash causes the link to be dereferenced, which means that any subsequent `FileIsSymlink` on it will return false. Fixes: #21886
| * cpack: add CPACK_DMG_FILESYSTEMKevin Ushey2021-03-021-1/+6
| | | | | | | | | | | | | | Allow users to configure the filesystem format of the generated `.dmg` via the `CPACK_DMG_FILESYSTEM` option. Fixes: #21874
| * Merge topic 'cpack_nsis_executable_custom'Brad King2021-02-231-1/+3
| |\ | | | | | | | | | | | | | | | | | | 8e8b99d01a CPack/NSIS: Add option for setting custom makensis executable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5839
| | * CPack/NSIS: Add option for setting custom makensis executableJohnny Jazeix2021-02-221-1/+3
| | | | | | | | | | | | | | | | | | It allows users to set a custom one without changing the PATH environment variable. Fixes: #21733
* | | CPack: Validate and document NSIS branding text trim positionsCraig Scott2021-03-241-3/+10
|/ /
* | CPackIFWInstaller: Avoid potential null pointer dereferenceCraig Scott2021-02-191-2/+9
|/ | | | | | | | In d16830324f (CPackIFW: Improve warning and docs for show page list option, 2021-02-14), code was added to report the current QtIFW version. That code didn't check that there was a Generator object before using it, resulting in a scanbuild warning about a potential null pointer dereference. Add a check and output a more general warning message if we don't have the current QtIFW version available to report.
* CPackIFW: Improve warning and docs for show page list optionCraig Scott2021-02-141-3/+5
|
* CPackIFW: Fix cppcheck warningsCraig Scott2021-02-141-3/+4
| | | | | | The cppcheck warnings about uninitialised variables are likely harmless, since they are initialised in ParseResource() anyway. Fix the warnings anyway to reduce linting noise. The warning about a single argument non-explicit constructor is worth fixing in general.
* CPack/NSIS: Add option for setting branding textJohnny Jazeix2021-02-071-0/+19
| | | | | | | See https://nsis.sourceforge.io/Reference/BrandingText for more information. Fixes: #21479
* Merge topic 'clang-tidy-fixes'Brad King2021-01-274-12/+12
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | ef935b17ab clang-tidy: fix `readability-use-anyofallof` warnings 9ac8dbbb94 clang-tidy: fix `readability-simplify-boolean-expr` warnings ca505718f4 clang-tidy: fix `readability-redundant-string-init` warnings b3b6ede6a1 clang-tidy: fix `readability-redundant-access-specifiers` warnings cdfc4e3195 clang-tidy: fix `readability-qualified-auto` warnings 808b17b120 clang-tidy: fix `readability-make-member-function-const` warnings 4470eb5179 clang-tidy: fix `performance-trivially-destructible` warnings 4f396e6528 clang-tidy: fix `performance-no-automatic-move` warnings ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5731
| * clang-tidy: fix `readability-make-member-function-const` warningsBen Boeckel2021-01-274-12/+12
| |
* | CPack: add CPACK_THREADS variable to control compression threadsRodolfo Lima2021-01-262-3/+29
|/ | | | | | | This allows setting how many threads the compressor will use. Currently only implemented for XZ when using system's lzma library. Fixes: #21715
* cpack(DEB): Issue warning if custom script for control file is missingAsit Dhal2021-01-151-0/+9
| | | | Fixes: #17794
* Code style: add missed explicit 'this->'Oleksandr Koval2021-01-0513-226/+245
| | | | | CMake uses explicit 'this->' style. Using custom clang-tidy check we can detect and fix places where 'this->' was missed.
* CPackIFW: Add CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST variableKonstantin Podsvirov2020-11-272-0/+29
| | | | | | Add CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST variable to control visibility of the widget listing installer pages on the left side of the wizard. This feature available only since QtIFW 4.0.
* CPack/DEB: Do not crash when asked for debug symbols when there are noneAndrew Fuller2020-11-161-1/+2
| | | | Fixes: #21356
* configure_file: Add option for user defined permissionsAsit Dhal2020-10-241-1/+1
| | | | | | | User defined permissions and options to copy permissions are implemented. Fixes: #20866
* Merge topic 'cmake-E-cat-binary'Brad King2020-10-151-19/+14
|\ | | | | | | | | | | | | | | | | f7a5f28318 cmake: Fix '-E cat' command for binary files on Windows 90b39a5209 cmConsoleBuf: Factor out cout/cerr console buffer management f1fdd15863 clang-format: Fix include block order in ctest.cxx and cpack.cxx Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5364
| * cmConsoleBuf: Factor out cout/cerr console buffer managementBrad King2020-10-141-10/+5
| |
| * clang-format: Fix include block order in ctest.cxx and cpack.cxxBrad King2020-10-141-9/+9
| |
* | Modernize: Use #pragma once in all header filesKitware Robot2020-09-0336-144/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #pragma once is a widely supported compiler pragma, even though it is not part of the C++ standard. Many of the issues keeping #pragma once from being standardized (distributed filesystems, build farms, hard links, etc.) do not apply to CMake - it is easy to build CMake on a single machine. CMake also does not install any header files which can be consumed by other projects (though cmCPluginAPI.h has been deliberately omitted from this conversion in case anyone is still using it.) Finally, #pragma once has been required to build CMake since at least August 2017 (7f29bbe6 enabled server mode unconditionally, which had been using #pragma once since September 2016 (b13d3e0d)). The fact that we now require C++11 filters out old compilers, and it is unlikely that there is a compiler which supports C++11 but does not support #pragma once.
* | cmMakefile::GetDefinition: return cmPropVitaly Stakhovsky2020-09-022-29/+33
| |
* | CPack/WiX: Add support for custom XML namespacesFritz Elfert2020-08-183-2/+52
| | | | | | | | | | | | Add a `CPACK_WIX_CUSTOM_XMLNS` option to specify these. Fixes: #21098
* | Source: use cmNonempty()Vitaly Stakhovsky2020-07-284-37/+37
| |
* | Clean a few string conversionsVitaly Stakhovsky2020-07-091-1/+1
| |
* | CPack/DragNDrop: Re-implement SLA attachment to avoid deprecated toolsBrad King2020-07-072-233/+248
| | | | | | | | | | | | | | | | | | | | The `Rez` tool has been deprecated since Xcode 6. The `hdiutil flatten` and `hdiutil unflatten` tools have been deprecated since macOS 10.15 and are removed in macOS 11. Instead use `hdiutil udifrez` to attach the SLA resources to disk images. This tool accepts XML input files, so convert our resource file generation to produce that format. Fixes: #20889
* | Merge topic 'restore-cwd-translation-map'Brad King2020-07-031-1/+1
|\ \ | |/ | | | | | | | | | | 85a945a607 Restore handling of build directory inside a symlinked path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4963
| * Restore handling of build directory inside a symlinked pathBrad King2020-07-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit dd8365b3f1 (Merge branch 'upstream-KWSys' into update-kwsys, 2020-04-06, v3.18.0-rc1~397^2) we imported KWSys commit `019afb6ea` (SystemTools: Drop GetCurrentWorkingDirectory 'collapse' argument, 2020-04-03). That caused `GetCurrentWorkingDirectory` to no longer send paths through the KWSys translation map and broke CMake's detection of the absolute path to a build directory containing a symbolic link. Add our own `cmSystemTools::GetCurrentWorkingDirectory` wrapper around the KWSys method in order to restore that mapping. Test-case-by: Ben Boeckel <ben.boeckel@kitware.com> Issue: #16228 Fixes: #20900
* | configure_file: Add option to control file permissions transfer to copyRahul Gottipati2020-06-301-1/+1
| | | | | | | | Issue: #20866
* | CPack: Introduce pre- and post- build actionsAlex Turbov2020-06-151-6/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | CPack External: Introduce `CPACK_EXTERNAL_BUILT_PACKAGES`Alex Turbov2020-06-051-0/+6
|/ | | | | | | The `CPACK_EXTERNAL_PACKAGE_SCRIPT` script may set this list variable to the full paths of generated package files. CPack copy these files from the stage directory back to the top build directory and possibly produce checksum files if the `CPACK_PACKAGE_CHECKSUM` is set.
* GetDefinition: avoid duplicate callsVitaly Stakhovsky2020-05-291-4/+3
|
* Refactoring: Third-parties public headers are under cm3p prefixMarc Chevrier2020-05-073-5/+5
| | | | Fixes: #20666
* CPack: Fix newline output in .deb generatorKyle Edwards2020-04-301-11/+15
| | | | | | | When running CPack on Windows, LF newlines are converted to CRLF unless binary mode is used. Use binary mode whenever possible. Fixes: #20659
* IWYU: mark <cstddef> as neededBen Boeckel2020-04-291-1/+1
| | | | Newer IWYU is not seeing them as needed for `size_t`.
* Merge topic 'cpack-symlinks'Brad King2020-04-222-0/+5
|\ | | | | | | | | | | | | bcc5cd44ed CPack: Do not recurse through directory symlinks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4637
| * CPack: Do not recurse through directory symlinksBrad King2020-04-212-0/+5
| | | | | | | | | | | | | | | | Extend the fix from commit 7b8dcdd173 (CPack: Do not recurse through directory symlinks (#12284), 2011-08-27, v2.8.6~55^2) to more places in CPack. Issue: #12284
* | Refactoring: add cm::contains to <cmext/algorithm>Marc Chevrier2020-04-172-4/+5
| |
* | Merge topic 'cpack-nsis-dpi-aware'Brad King2020-04-151-0/+5
|\ \ | | | | | | | | | | | | | | | | | | d6840a4f3c CPack/NSIS: Add option for setting DPI-aware Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4607
| * | CPack/NSIS: Add option for setting DPI-awareJohnny Jazeix2020-04-141-0/+5
| | | | | | | | | | | | | | | | | | | | | See https://nsis.sourceforge.io/Reference/ManifestDPIAware for more information. Fixes: #17724
* | | clang-tidy: address bugprone-branch-clone lintsBen Boeckel2020-04-131-4/+0
|/ / | | | | | | | | | | | | | | | | Arguably, many of these are bugs in `clang-tidy`. An if/else tree with other conditionals between cloned blocks may be relying on the intermediate logic to fall out of the case and inverting this logic may be non-trivial. See: https://bugs.llvm.org/show_bug.cgi?id=44165
* | Merge topic 'parallel-lzma-compression'Brad King2020-04-063-0/+41
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b3bacf0152 cmCPackArchiveGenerator: support multithreaded compression b71d385ed4 cmCPackArchiveGenerator: support setting archive options 948aa8bd1c cmArchiveWrite: support setting archive filter options b9c17de023 cmArchiveWrite: split out opening the file Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Cristian Adam <cristian.adam@gmail.com> Merge-request: !3195
| * | cmCPackArchiveGenerator: support multithreaded compressionBen Boeckel2020-04-031-1/+18
| | |
| * | cmCPackArchiveGenerator: support setting archive optionsBen Boeckel2020-03-312-0/+14
| | |
| * | cmArchiveWrite: split out opening the fileBen Boeckel2020-03-312-0/+10
| | | | | | | | | | | | | | | This allows options to be set before the "header" phase of libarchive's API.