summaryrefslogtreecommitdiffstats
path: root/Source/CPack
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'cpack-ifw-fix-repo-attributes'Brad King2016-07-061-2/+2
|\ | | | | | | | | 7a30fa1a CPackIFW: Fix attributes for Promoting Updates repository replacement
| * CPackIFW: Fix attributes for Promoting Updates repository replacementKonstantin Podsvirov2016-07-051-2/+2
| | | | | | | | | | Fix spelling of attributes added by commit v3.6.0-rc1~52^2 (CPackIFW: Add support for Promoting Updates, 2016-05-17).
* | Avoid using KWSys auto_ptr by adopting it ourselvesBrad King2016-06-293-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Replace use of cmsys::auto_ptr with a CM_AUTO_PTR macro that maps to our own implementation adopted from the KWSys auto_ptr implementation. Later we may be able to map CM_AUTO_PTR to std::auto_ptr on compilers that do not warn about it. Automate the client site conversions: git grep -l auto_ptr -- Source/ | grep -v Source/kwsys/ | xargs sed -i \ 's|cmsys::auto_ptr|CM_AUTO_PTR|;s|cmsys/auto_ptr.hxx|cm_auto_ptr.hxx|'
* | use CM_NULLPTRDaniel Pfeifer2016-06-2814-56/+62
| |
* | mark functions with CM_OVERRIDEDaniel Pfeifer2016-06-2715-61/+63
| |
* | Add CM_OVERRIDE to some functionsDaniel Pfeifer2016-06-271-3/+3
| | | | | | | | | | | | | | Run clang-tidy's modernize-use-override checker. This checker must have issues in version 3.8. It has way too little matches. And it adds override to destructors. Revert the changes on the destructors and change override to CM_OVERRIDE.
* | Prefer istringstream and ostringstream over stringstream.Daniel Pfeifer2016-06-147-12/+12
| | | | | | | | Use istringsream for parsing, ostringstream for generation.
* | Access std::ios_base with std::iosDaniel Pfeifer2016-06-141-1/+1
| | | | | | | | Just because it is shorter.
* | Add missing braces around statements.Daniel Pfeifer2016-06-105-27/+53
| | | | | | | | | | Apply fixits of clang-tidy's readability-braces-around-statements checker.
* | Merge topic 'small-cleanups'Brad King2016-06-092-7/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 9f25fc4d Prefer std::ostream& over derivatives as parameters f9cc43ea cmake: remove unnused member Verbose 6e658085 cmake: Fix constness of methods 87ffd76d cmake: Make internal method file static fa169fe8 Parser: Merge identical conditions
| * | Prefer std::ostream& over derivatives as parametersDaniel Pfeifer2016-06-082-7/+7
| | |
* | | CPack/PackageMaker: port to cmXMLWriterDaniel Pfeifer2016-06-093-85/+85
|/ /
* | Source/CPack: Run clang-format to fix styleBrad King2016-06-076-110/+75
| |
* | Remove c_str() calls from stream arguments.Daniel Pfeifer2016-06-066-46/+43
| | | | | | | | | | | | Mostly automated: git grep -l '.c_str() <<' | xargs sed -i 's|\.c_str() <<| <<|g'
* | Merge topic 'productbuild'Brad King2016-06-067-386/+799
|\ \ | | | | | | | | | | | | | | | | | | 63e5eb5f Help: Add notes for 'productbuild' topic 2e3c67d1 productbuild: Add new productbuild cpack generator. 50a3d340 PackageMaker: factor out common code for creating pkg files.
| * | productbuild: Add new productbuild cpack generator.Clinton Stimpson2016-06-035-1/+327
| | | | | | | | | | | | This cpack generator basically replaces the obsolete PackageMaker generator.
| * | PackageMaker: factor out common code for creating pkg files.Clinton Stimpson2016-06-024-388/+475
| |/
* | Simplify boolean expressionsDaniel Pfeifer2016-06-025-29/+9
|/ | | | | | 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.
* Merge topic 'remove-needless-copies'Brad King2016-05-274-6/+8
|\ | | | | | | | | | | 27ead963 Remove unnecessary local copies. 618fb23f Pass arguments that are not modified as const&.
| * Pass arguments that are not modified as const&.Daniel Pfeifer2016-05-264-6/+8
| | | | | | | | | | | | | | Use clang-tidy's performance-unnecessary-value-param checker to find value parameter declarations of expensive to copy types that are not modified inside the function. Ignore findings in kwsys. After applying the fix-its, manually change `const T&` to `T const&`.
* | Remove redundant c_str() calls.Daniel Pfeifer2016-05-261-2/+2
|/ | | | | Run clang-tidy's readability-redundant-string-cstr checker. Ignore findings in kwsys.
* CPack/DragNDrop: Optionally disable `/Applications` symlinkHarry Mallon2016-05-251-5/+10
|
* Improve string find: prefer character overloads.Daniel Pfeifer2016-05-242-4/+4
| | | | | Apply fix-its from clang-tidy's performance-faster-string-find checker. Ignore findings in kwsys.
* Use std::replace for replacing chars in strings.Daniel Pfeifer2016-05-242-7/+7
| | | | | | | | | | | Find uses of `cmSystemTools::ReplaceString` where both `replace` and `with` are string literals with a size of one. Automate with: git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\(.\)\", \"\(.\)\");|std::replace(\1.begin(), \1.end(), '\2', '\3');|g" git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\(.\)\", \"\\\\\\\\\");|std::replace(\1.begin(), \1.end(), '\2', '\\\\\\\\');|g" git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\\\\\\\\\", \"\(.\)\");|std::replace(\1.begin(), \1.end(), '\\\\\\\\', '\2');|g"
* Merge topic 'cpack-deb-different-package-names'Brad King2016-05-241-4/+4
|\ | | | | | | | | adbd3985 CPack/Deb possibility to change package name
| * CPack/Deb possibility to change package nameDomen Vrankar2016-05-231-4/+4
| | | | | | | | | | | | | | | | This patch preserves backward compatibility of deb package names with previous CMake versions but similarly to CPack/RPM allows to change package name format and supports DEB-DEFAULT setting that produces proper Debian package names.
* | CPackIFW: Command cpack_ifw_configure_component learned ESSENTIAL optionKonstantin Podsvirov2016-05-232-0/+14
|/
* Merge topic 'minor-cleanup'Brad King2016-05-201-5/+4
|\ | | | | | | | | 40bee43a cmCPackDragNDropGenerator: Replace std::{ostringstream => string}
| * cmCPackDragNDropGenerator: Replace std::{ostringstream => string}Brad King2016-05-171-5/+4
| |
* | CPackIFW: Add support for Promoting UpdatesKonstantin Podsvirov2016-05-186-90/+518
|/ | | | | | | | Add support for this feature added by QtIFW 2.0.3: http://doc.qt.io/qtinstallerframework/ifw-updates.html Add a `cpack_ifw_update_repository` command as porcelain.
* Revise C++ coding style using clang-formatKitware Robot2016-05-1664-5690/+4184
| | | | | | | | | | | | | 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.
* Merge topic 'cpack-rpm-different-package-names'Brad King2016-05-162-31/+44
|\ | | | | | | | | 44ee2d71 CPack/RPM different package names
| * CPack/RPM different package namesDomen Vrankar2016-05-152-31/+44
| | | | | | | | | | | | | | | | Packagers may now set their own rpm package file names or request that rpmbuild tool chooses one for them. It also supports handing of situations where one spec file may produce multiple rpm packages.
* | CPack/Deb proper package file namingDomen Vrankar2016-05-132-29/+21
| | | | | | | | | | Proper Debian packages file naming for single package setup (breaks compatibility with previous versions)
* | CPack/Deb proper component packages file namingAlexander Smorkalov2016-05-131-2/+9
| | | | | | | | | | Proper Debian packages file naming for multi-component setup (breaks compatibility with previous versions)
* | CPack/Deb generation of postinst and postrm ldconfig filesAlexander Smorkalov2016-05-131-0/+56
| | | | | | | | | | | | DEBIAN/postinst and DEBAIN/postrm files generation if the package installs libraries in ldconfig controlled location (/lib/, /usr/lib/)
* | CPack/Deb generation of DEBIAN/shlibs control fileAlexander Smorkalov2016-05-131-7/+31
|/ | | | | DEBIAN/shlibs control file generation if the package contains libraries
* Remove `//------...` horizontal separator commentsBrad King2016-05-0925-201/+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.
* Help clang-format wrap after braces on long initializer listsBrad King2016-05-061-0/+1
| | | | | | Add a long comment inside a few braced initializer lists in order to convince clang-format to break after the opening brace and format the list without indenting every value past the opening brace.
* Move comments off of class access specifier linesBrad King2016-05-063-11/+23
| | | | | | | | | | | | | | | | | | The clang-format tool may turn this: public: // comment about access specifier // unrelated comment indented with code ... Into: public: // comment about access specifier // unrelated comment indented with code ... Avoid this by moving comments off of access specifier lines.
* Isolate formatted streaming blocks with clang-format off/onBrad King2016-05-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The clang-format tool can do a good job formatting most code, but well-organized streaming blocks are best left manually formatted. Find blocks of the form os << "...\n" "...\n" ; using the command $ git ls-files -z -- Source | egrep -v -z '^Source/kwsys/' | xargs -0 pcregrep -M --color=always -B 1 -A 1 -n \ '<<[^\n]*\n(^ *("[^\n]*("|<<|;)$|;)\n){2,}' Find blocks of the form os << "...\n" << "...\n" << "...\n"; using the command $ git ls-files -z -- Source | egrep -v -z '^Source/kwsys/' | xargs -0 pcregrep -M --color=always -B 1 -A 1 -n \ '<<[^\n]*\n(^ *<<[^\n]*(\\n"|<<|;)$\n){2,}' Surround such blocks with the pair /* clang-format off */ ... /* clang-format on */ in order to protect them from update by clang-format. Use the C-style `/*...*/` comments instead of C++-style `//...` comments in order to prevent them from ever being swallowed by re-formatting of surrounding comments.
* Source: Sort includes the way clang-format wouldBrad King2016-05-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Re-apply the approach from commit e1c77472 (Format include directive blocks and ordering with clang-format, 2016-04-29) but this time be more careful about exclusion of parser generator sources: $ git ls-files -z -- \ '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' | egrep -z -v '^Source/cmCommandArgumentLexer\.' | egrep -z -v '^Source/cmCommandArgumentParser\.' | egrep -z -v '^Source/cmDependsJavaLexer\.' | egrep -z -v '^Source/cmDependsJavaParser\.' | egrep -z -v '^Source/cmExprLexer\.' | egrep -z -v '^Source/cmExprParser\.' | egrep -z -v '^Source/cmFortranLexer\.' | egrep -z -v '^Source/cmFortranParser\.' | egrep -z -v '^Source/cmListFileLexer\.' | 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 Also drop use of custom sorting for `sys/types.h`.
* Source: Stabilize include order of sys/types.h before sys/stat.hBrad King2016-05-033-1/+5
| | | | | Include the two headers in an isolated block with a comment separating them so that tools that re-order includes do not re-order these.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-2923-90/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Source: Stabilize include orderBrad King2016-04-2924-19/+29
| | | | | Each source file has a logical first include file. Include it in an isolated block so that tools that sort includes do not move them.
* CPack/IFW: port to cmXMLWriterDaniel Pfeifer2016-03-236-103/+81
|
* Merge topic 'cpack-osx-optional-CoreServices'Brad King2016-03-211-0/+6
|\ | | | | | | | | d84ba668 CPack: Avoid using OS X CoreServices if compiler fails on header (#16021)
| * CPack: Avoid using OS X CoreServices if compiler fails on header (#16021)Brad King2016-03-181-0/+6
| | | | | | | | | | | | Some compilers on OS X report errors in the CoreServices framework headers. Check for support of the header ahead of time and compile the relevant code only when the header is available.
* | Merge topic 'cpack-osx-no-carbon'Brad King2016-03-181-15/+6
|\ \ | |/ | | | | | | c718070c CPack: Avoid requiring Carbon framework on OS X (#16021)
| * CPack: Avoid requiring Carbon framework on OS X (#16021)Sean McBride2016-03-171-15/+6
| | | | | | | | | | | | | | | | | | | | In commit v3.5.0-rc1~232^2 (CPackDMG: Add support for multilingual SLAs, 2015-10-19) we added use of the Carbon framework in order to get access to its APIs to convert Script Manager RegionCode values. This is not necessary. Instead we can use CoreServices. While at it, replace individual CoreFoundation includes with including the entire framework, which is the correct way.