summaryrefslogtreecommitdiffstats
path: root/Source/CPack/cmCPackArchiveGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-6/+6
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* CPack: Add generator for .tar.zst packagesRegina Pfeifer2019-09-041-0/+6
|
* cmCPackArchiveGenerator: Code cleanupRegina Pfeifer2019-09-041-4/+41
|
* Source sweep: Use cmStrCat for string concatenationSebastian Holtermann2019-08-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is generated by a python script that uses regular expressions to search for string concatenation patterns of the kind ``` std::string str = <ARG0>; str += <ARG1>; str += <ARG2>; ... ``` and replaces them with a single `cmStrCat` call ``` std::string str = cmStrCat(<ARG0>, <ARG1>, <ARG2>, ...); ``` If any `<ARGX>` is itself a concatenated string of the kind ``` a + b + c + ...; ``` then `<ARGX>` is split into multiple arguments for the `cmStrCat` call. If there's a sequence of literals in the `<ARGX>`, then all literals in the sequence are concatenated and merged into a single literal argument for the `cmStrCat` call. Single character strings are converted to single char arguments for the `cmStrCat` call. `std::to_string(...)` wrappings are removed from `cmStrCat` arguments, because it supports numeric types as well as string types. `arg.substr(x)` arguments to `cmStrCat` are replaced with `cm::string_view(arg).substr(x)`
* clang-tidy: Use `= default`Regina Pfeifer2019-01-251-3/+1
| | | | | | Suppress some cases in `Source/cmGeneratorExpressionNode.cxx` and `Source/cmUVHandlePtr.h` where a few older compilers require a user-defined default constructor (with `{}`).
* Fix most clang -Wextra-semi-stmt warnings in C++ filesSean McBride2019-01-151-7/+9
| | | | Suppress one in code generated by flex.
* IWYU: Update CMake code for IWYU built with Clang 6Brad King2019-01-151-0/+1
| | | | | IWYU now correctly requires `<utility>` for `std::move`. It also requires a container header when used via a range-based for loop.
* cmGeneratedFileStream: clang-tidy applied to remove redundant ``c_str`` callsSebastian Holtermann2018-08-071-1/+1
| | | | | | | | | | | | | | | After changing the ``cmGeneratedFileStream`` methods to accept ``std::string const&`` instead of ``const char*`` we don't need to call ``std::string::c_str`` anymore when passing a ``std::string`` to a ``cmGeneratedFileStream`` method. This patch removes all redundant ``std::string::c_str`` calls when passing a string to a ``cmGeneratedFileStream`` method. It was generated by building CMake with clang-tidy enabled using the following options: -DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-4.0;-checks=-*,readability-redundant-string-cstr;-fix;-fix-errors
* CPack: Fix log typos (spaces in the wrong places)Sylvain Joubert2018-07-181-5/+5
|
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-011-5/+9
| | | | | | | | | | | | Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 6.0. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* cmWorkingDirectory: Check success of current dir changesCraig Scott2018-03-081-0/+16
|
* Reduce raw string pointers usage.Pavel Solodovnikov2018-01-311-2/+1
| | | | | | | | | | * Change some functions to take `std::string` instead of `const char*` in the following classes: `cmMakeFile`, `cmake`, `cmCoreTryCompile`, `cmSystemTools`, `cmState`, `cmLocalGenerator` and a few others. * Greatly reduce using of `const char*` overloads for `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`. * Remove many redundant `c_str()` conversions throughout the code.
* Reduce allocation of temporary values on heap.Pavel Solodovnikov2018-01-261-4/+4
| | | | | - Use `std::move` while inserting temporary results into vectors. - Change `push_back` to `emplace_back` where appropriate.
* Meta: modernize old-fashioned loops to range-based `for` (CPack).Pavel Solodovnikov2017-09-191-37/+23
| | | | | | Changes done via `clang-tidy` with some manual fine-tuning for the variable naming and `auto` type deduction where appropriate.
* Use C++11 nullptrDaniel Pfeifer2017-08-241-3/+3
|
* CPack/Archive: per component filenames supportDomen Vrankar2017-05-161-16/+41
| | | | | | Support for setting archive packager specific per component filenames and monolithic package filenames.
* cmWorkingDirectory: use the new classBen Boeckel2017-03-061-7/+3
| | | | | | These functions just need to change the directory for a block of code and then go back to the caller's expected location. Use cmWorkingDirectory to ensure that all return paths are handled.
* Simplify CMake per-source license noticesBrad King2016-09-271-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* CPack: include what you useDaniel Pfeifer2016-09-061-7/+6
|
* surround macro arguments with parenthesesDaniel Pfeifer2016-09-051-4/+4
|
* CPack: don't use else after returnDaniel Pfeifer2016-08-181-4/+2
|
* Make sure unnused parameters are /*named*/Daniel Pfeifer2016-08-161-1/+1
|
* use CM_NULLPTRDaniel Pfeifer2016-06-281-3/+3
|
* Simplify boolean expressionsDaniel Pfeifer2016-06-021-5/+1
| | | | | | Use clang-tidy's readability-simplify-boolean-expr checker. After applying the fix-its, revise all changes *very* carefully. Be aware of false positives and invalid changes.
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-137/+101
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* Remove `//------...` horizontal separator commentsBrad King2016-05-091-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | Modern editors provide plenty of ways to visually separate functions. Drop the explicit comments that previously served this purpose. Use the following command to automate the change: $ git ls-files -z -- \ "*.c" "*.cc" "*.cpp" "*.cxx" "*.h" "*.hh" "*.hpp" "*.hxx" | egrep -z -v "^Source/cmCommandArgumentLexer\." | egrep -z -v "^Source/cmCommandArgumentParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmDependsJavaLexer\." | egrep -z -v "^Source/cmDependsJavaParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmExprLexer\." | egrep -z -v "^Source/cmExprParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmFortranLexer\." | egrep -z -v "^Source/cmFortranParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmListFileLexer\." | egrep -z -v "^Source/cm_sha2" | egrep -z -v "^Source/(kwsys|CursesDialog/form)/" | egrep -z -v "^Utilities/(KW|cm).*/" | xargs -0 sed -i '/^\(\/\/---*\|\/\*---*\*\/\)$/ {d;}' This avoids modifying third-party sources and generated sources.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-291-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sort include directives within each block (separated by a blank line) in lexicographic order (except to prioritize `sys/types.h` first). First run `clang-format` with the config file: --- SortIncludes: false ... Commit the result temporarily. Then run `clang-format` again with: --- SortIncludes: true IncludeCategories: - Regex: 'sys/types.h' Priority: -1 ... Commit the result temporarily. Start a new branch and cherry-pick the second commit. Manually resolve conflicts to preserve indentation of re-ordered includes. This cleans up the include ordering without changing any other style. Use the following command to run `clang-format`: $ git ls-files -z -- \ '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' | egrep -z -v '(Lexer|Parser|ParserHelper)\.' | egrep -z -v '^Source/cm_sha2' | egrep -z -v '^Source/(kwsys|CursesDialog/form)/' | egrep -z -v '^Utilities/(KW|cm).*/' | egrep -z -v '^Tests/Module/GenerateExportHeader' | egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' | xargs -0 clang-format -i This selects source files that do not come from a third-party. Inspired-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
* Remove unused cmLocalGenerator include.Stephen Kelly2015-10-051-1/+0
|
* CPack: allow packaging of empty directoriesDomen Vrankar2015-09-281-2/+2
|
* cmake: Teach "-E tar" command a "--format=" optionNils Gladitz2015-04-101-3/+3
| | | | | | | Allows specifying a libarchive defined archive format currently restricted to 7zip, gnutar, pax, paxr and zip. The default is "paxr" (pax restricted).
* cpack: Fix CPACK_PACKAGING_INSTALL_PREFIX handling for archives (#14677)Clinton Stimpson2015-03-301-0/+8
| | | | | Fix the case when the archive generator is used to package components with an install prefix.
* strings: Remove redundant calls to std::string::c_str()Nils Gladitz2014-10-151-4/+4
| | | | | Replacements were detected and performed by the clang tool remove-cstr-calls on a linux build.
* Handle CPACK_MONOLITHIC_INSTALL in some rare use cases.Eric NOULARD2012-03-181-1/+1
| | | | | | | | | | | | | For example, when CPACK_<GEN>_COMPONENT_INSTALL and CPACK_MONOLITHIC_INSTALL are both set. Previously, this combination of variable settings produced an error without any explanation. Now, in this case CPACK_MONOLITHIC_INSTALL wins without trouble. This is useful for when e.g. CPACK_ARCHIVE_COMPONENT_INSTALL is globally on and one wants MONOLITHIC install for STGZ (but not other generators). The same behavior may be obtained by re-setting CPACK_ARCHIVE_COMPONENT_INSTALL to 0 but in any case the 'both set' case should have been handled without error.
* CPackArchive restore default behavior and provide new variable.Eric NOULARD2012-02-011-1/+1
| | | | | | | CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY should be set by the user in order to get the toplevel directory included in the archive whenever a componentized archive is requested. This solves bug #12129 and keeps fully backward compatible behavior.
* CPack Add top level directory in component install for Archive GeneratorsDaniel Nelson2012-01-131-2/+9
| | | | | This patch fixes bug #0012129 Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
* Fix KWStyle warningsEric NOULARD2011-04-041-1/+2
|
* Combine component packaging methods into an enum.Clinton Stimpson2011-03-311-2/+2
| | | | | Also allow generators to override the default packaging method. Add a ONE_PER_GROUP option so that method can be specified by the user without relying on defaults.
* CPack fix #11930 and simplifies component packaging optionsEric NOULARD2011-03-231-37/+12
|
* CPackArchive package all components specified in CPACK_COMPONENTS_ALLEric NOULARD2011-03-031-0/+33
| | | | | When asking for group packaging the components not belonging to any group should be packaged separately.
* CPack Authorize DISPLAY_NAME usage in component packageEric NOULARD2011-02-221-6/+10
| | | | Second (last) part fix of feature request #11814
* CPack remove "-ALL" suffix for ALL-IN-ONE packagesEric NOULARD2011-02-221-1/+1
| | | | First part fix of feature request 11814
* CPackRPM honors all the different ways of packaging componentsEric NOULARD2011-02-061-2/+0
| | | | | | | RPM cannot easily 'merge' differents directory into a single RPM with shared prefix. So more flexibility has been added to generic CPackGenerator in order to let the specific generator chose the local installation directory for each component.
* CPack use IsOn when it's better than IsSetEric NOULARD2010-12-121-1/+1
| | | | | | | | This authorize more control because one can set CPACK_ARCHIVE_COMPONENT_INSTALL to ON globally and then set it selectively to OFF inside a CPack project config file. Sidenote: GetOption ought to be a 'const' method.
* CPack Fix KWStyle errorEric NOULARD2010-12-011-1/+3
|
* CPack backward compatibility fix 2.8.3-2.8.2 (bug 11452)Eric NOULARD2010-11-291-16/+28
| | | | | One should set CPACK_ARCHIVE_COMPONENT_INSTALL=1 in order to trigger component install for ARCHIVE generators
* CPackRPM add basic component support to CPackRPMEric NOULARD2010-11-131-60/+5
| | | | | basic means 1 RPM per component and no dependency handling this implies some CPackGenerator refactoring
* Fix KWStyle line length issues.Bill Hoffman2010-09-151-15/+37
|
* CPackArchiveGenerator improve usability and robustnessEric NOULARD2010-08-241-2/+46
| | | | | | Handle the "no group defined" case Implement the idea from Rolf Eike Beer to have a single var CPACK_COMPONENTS_GROUPING with several values
* CPackArchiveGenerator add component supportsEric NOULARD2010-08-241-17/+187
|
* CPackArchiveGenerator use cmArchiveWrite wrapperEric NOULARD2010-08-241-194/+32
|