summaryrefslogtreecommitdiffstats
path: root/Source/CPack/cmCPackPackageMakerGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* CPack: Remove the deprecated PackageMaker generatorCraig Scott2022-05-041-577/+0
| | | | | | This CPack generator has been deprecated since commit 7bf187499f (CPack: Deprecate PackageMaker generator, 2020-01-31). Fixes: #23344
* Rename cmProp in cmValueMarc Chevrier2021-09-211-7/+7
|
* Use new SetOption signaturesMarc Chevrier2021-09-151-5/+3
|
* cmCPackGenerator::GetOption returns cmPropMarc Chevrier2021-09-131-11/+12
|
* CPack: Deprecate PackageMaker generatorBrad King2020-01-311-0/+3
| | | | | | | Xcode no longer distributes the PackageMaker tools. Add a deprecation warning when the generator is used. Issue: #20235
* CPack: Set background image in macOS installerSergey Larin2019-11-081-1/+1
| | | | | Now you can set a background image and it's parameters in productbuild and PackageMaker based installers.
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-2/+3
| | | | | 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.
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-3/+3
|
* Source sweep: Use cmStrCat for string concatenationSebastian Holtermann2019-08-221-27/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)`
* cmSystemTools::RunSingleCommand: Accept std::string argumentVitaly Stakhovsky2019-02-061-2/+2
|
* 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 `{}`).
* clang-tidy: Use emplaceRegina Pfeifer2019-01-171-10/+10
|
* clang-tidy: fix warnings in macOS-only codeBrad King2018-11-271-2/+2
|
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-011-19/+23
| | | | | | | | | | | | 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.
* Make use of std::chrono throughout every componentWouter Klouwen2018-01-231-4/+6
| | | | | | | | This commit continues the changes made in CTest to support std::chrono by applying it throughout every component where a duration was used. No functional change intended.
* CPack: Fix PackageMaker .dmg HFS+ creation on macOS APFS hostsBrad King2017-10-051-2/+2
| | | | | | | | | | | | When running `hdiutil create`, specify the HFS+ filesystem explicitly. Otherwise `hdiutil` may choose a filesystem based on the host. We do not want to create APFS images for `.dmg` packages because they may not mount on macOS versions prior to 10.12. This was missed in commit 39b50975d9 (CPack: Fix .dmg HFS+ creation on macOS APFS hosts, 2017-10-02). Reported-by: Alan Garny
* Fix some occurrences of readability-braces-around-statementsMatthias Maennich2017-09-281-1/+2
| | | | | | Fix issues diagnosed by clang-tidy [readability-braces-around-statements] Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Use C++11 nullptr (cont.)Matthias Maennich2017-09-191-4/+4
| | | | | | | Fix remaining occurrences of the issue addressed in commit 5962db4389 (Use C++11 nullptr, 2017-08-22) that are only showing up on macOS. Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Use quotes for non-system includesDaniel Pfeifer2017-04-111-2/+2
| | | | | | | | | | | | | Automate with: git grep -l '#include <cm_' -- Source \ | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g' git grep -l '#include <cmsys/' -- Source \ | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g' git grep -l '#include <cm[A-Z]' -- Source \ | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
* iwyu: Fix OSX specific issuesDaniel Pfeifer2016-11-221-9/+9
|
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+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.
* tidy: Fix readability-redundant-string-cstr issuesGregor Jasny2016-09-041-8/+8
|
* CPack/PackageMaker: port to cmXMLWriterDaniel Pfeifer2016-06-091-15/+17
|
* Remove c_str() calls from stream arguments.Daniel Pfeifer2016-06-061-13/+13
| | | | | | Mostly automated: git grep -l '.c_str() <<' | xargs sed -i 's|\.c_str() <<| <<|g'
* productbuild: Add new productbuild cpack generator.Clinton Stimpson2016-06-031-0/+2
| | | | This cpack generator basically replaces the obsolete PackageMaker generator.
* PackageMaker: factor out common code for creating pkg files.Clinton Stimpson2016-06-021-324/+0
|
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-449/+311
| | | | | | | | | | | | | 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-17/+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-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
|
* cmSystemTools: Teach RunSingleCommand to separate stdout and stderrBrad King2015-04-201-5/+6
| | | | | | | Extend the RunSingleCommand signature to capture stdout and stderr separately. Allow both to be captured to the same std::string to preserve existing behavior. Update all call sites to do this so that this refactoring does not introduce functional changes.
* Merge topic 'cpack-PackageMaker-OSX-10.10'Brad King2015-01-151-9/+25
|\ | | | | | | | | 70abf6e7 CPack: Fix PackageMaker internal versioning for OS X 10.10
| * CPack: Fix PackageMaker internal versioning for OS X 10.10Calin Cascaval2015-01-121-9/+25
| | | | | | | | | | Avoid using a floating point value to represent the version, since "10.10" would be treated as "10.1".
* | Port all cmOStringStream to std::ostringstream.Stephen Kelly2015-01-111-10/+11
| | | | | | | | All compilers hosting CMake support the std class.
* | cpack: Fix installed size computation with PackageMaker generatorCalin Cascaval2014-12-221-0/+1
|/ | | | | Use the CPACK_PACKAGING_INSTALL_PREFIX when looking for files in a component. Otherwise we report all packages having size 1.
* stringapi: Miscellaneous char* parametersBen Boeckel2014-03-081-7/+8
|
* stringapi: Use string for OS X resource namesBen Boeckel2014-03-081-4/+5
|
* Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.Clinton Stimpson2014-01-071-2/+3
| | | | | Also use SystemTools::Fopen() instead of fopen(). This is to eventually support utf-8 filenames.
* PackageMaker: Enable postflight script in component mode (#12375)Clinton Stimpson2012-10-311-35/+91
| | | | | | | | | | | Previously, setting CPACK_POSTFLIGHT_SCRIPT had no effect in component mode, when CPACK_COMPONENTS_ALL was set. In component mode, a .mpkg is created that contains multiple .pkg's. Because postflight scripts only work in a .pkg, add another .pkg to the .mpkg and put the postflight script in that. This is the same approach taken by the PackageMaker GUI when adding a postflight script to a metapackage.
* Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-131-46/+46
| | | | | | | | | | | | | | | | | Our Git commit hooks disallow modification or addition of lines with trailing whitespace. Wipe out all remnants of trailing whitespace everywhere except third-party code. Run the following shell code: git ls-files -z -- \ bootstrap doxygen.config '*.readme' \ '*.c' '*.cmake' '*.cpp' '*.cxx' \ '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \ '*.mm' '*.pike' '*.py' '*.txt' '*.vim' | egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' | egrep -z -v '^(Modules/CPack\..*\.in)' | xargs -0 sed -i 's/ \+$//'
* Merge topic 'fix-12621-xcode43'Brad King2012-03-191-23/+64
|\ | | | | | | | | | | 0f4dfa6 CPack: Use real path to PackageMaker to find its version file (#12621) 4693cf8 Xcode: Detect new default locations of Xcode 4.3 bits and pieces (#12621)
| * CPack: Use real path to PackageMaker to find its version file (#12621)David Cole2012-03-131-0/+3
| | | | | | | | | | | | | | On machines where a usr/bin/packagemaker symlink is found, we were unable to find the version.plist file relative to the symlink. Resolve the symlink first, so we can find it relative to the real PackageMaker.
| * Xcode: Detect new default locations of Xcode 4.3 bits and pieces (#12621)David Cole2012-03-091-23/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode 4.3 installs into "/Applications" by default, from the Mac App Store. Also, the paths to the available SDKs changed: they are now within the Xcode.app bundle. PackageMaker is installed as a separate program, and may be installed anywhere. It is not installed with Xcode 4.3 by default anymore. Download the "Auxiliary Tools for Xcode" to get PackageMaker. Put PackageMaker inside the Xcode.app bundle, in its nested Applications folder, or put it alongside Xcode in "/Applications" and CMake will find it. Update references to "find" paths: add new possible locations for finding Xcode.app and PackageMaker.app. Prefer the most recent version's locations first, but keep the old locations as fallback search paths, too. Thanks to all the contributors who provided and tested out various patches for fixing this issue. Especially, but by no means limited to: Francisco Requena Espí, Jamie Kirkpatrick and drfrogsplat.
* | CPack: Fix retry logic when calls to hdiutil failDavid Cole2012-03-091-2/+4
|/ | | | | | | | | | | | | | | | | | | | The long-standing sporadic failures of CPack tests on the Mac dashboards are caused by an occasional problem running hdiutil. To compensate for this, a retry loop was added in the code in a previous commit: a9fa71a4 ... but the logic for breaking out of the retry loop was flawed, breaking out of the loop (and not retrying) when the hdiutil command returns an error instead of when it returns success. This commit fixes the flawed logic, bumps up the number of retries from 4 to 10, and adds a half-second delay in between retries. The delay is specifically added in case a virus checker or spotlight indexer is temporarily causing the hdiutil failure by hanging onto a newly created file longer than hdiutil expects it to. As with all sporadically occurring issues, we'll never know if this is really fixed all the way. But I'll be happy even if we can only get it to happen just a bit less often.
* Silence the may be used uninitialized warnings: initialize stuff.David Cole2011-02-031-1/+1
|
* CPack: Refactor API in order to handle multi-file packagesEric NOULARD2010-08-111-6/+4
| | | | | | | | 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.
* Try to avoid cronic random failures on some Macs.Bill Hoffman2009-10-041-2/+13
|
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
* STYLE: fix line length stuff for KWStyleBill Hoffman2008-10-011-10/+21
|
* BUG: Fix issue #7414 - do not crash when given components with circular ↵David Cole2008-07-301-5/+22
| | | | dependencies. Thanks to Doug Gregor for the patch.