summaryrefslogtreecommitdiffstats
path: root/Source/CPack/cmCPackArchiveGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Merge topic 'CPack-APIredesign'Brad King2010-08-171-6/+6
|\ | | | | | | | | | | | | bd510fe CPack: Avoid member shadowing after API refactor (part2) 31a313d CPack: Avoid member shadowing after API refactor cd7b8a0 CPack: Refactor API in order to handle multi-file packages
| * CPack: Refactor API in order to handle multi-file packagesEric NOULARD2010-08-111-6/+6
| | | | | | | | | | | | | | | | The multi-argument CompressFiles(...) method has been replace by the no-argument PackageFiles() method and 3 more member variables. This will enable implemention of multi-package generators. Now each specific generator (which overloads PackageFiles()) may decide to change the name and/or the number of generated package files.
* | Include headers from chosen libarchive (#10923)Brad King2010-08-051-3/+1
|/ | | | | When CMAKE_USE_SYSTEM_LIBARCHIVE is on we must include the system libarchive headers to match the library that will be linked.
* Add missing archive_read_finish calls to fix some of the presently reported ↵David Cole2009-12-281-0/+1
| | | | valgrind memory leaks.
* use different tar format to handle longer file namesBill Hoffman2009-11-141-2/+1
|
* add better error checking and run from correct directory.Bill Hoffman2009-11-091-3/+9
|
* add better error checking and support for symlinks to cpack's use of libarchiveBill Hoffman2009-11-091-28/+49
|
* Fix warningBill Hoffman2009-11-031-1/+1
|
* Fix warnings for unused variablesBill Hoffman2009-11-031-3/+3
|
* Fix cygwin package stuff to work with libarchiveBill Hoffman2009-11-031-15/+23
|
* Fix for hpux...Bill Hoffman2009-11-021-1/+1
|
* Switch to using libarchive from libtar for cpack and cmake -E tarBill Hoffman2009-10-301-0/+230
This allows for a built in bzip and zip capability, so external tools will not be needed for these packagers. The cmake -E tar xf should be able to handle all compression types now as well.