summaryrefslogtreecommitdiffstats
path: root/Source/CPack/cmCPackPackageMakerGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* ENH: One more patch from Doug Gregor including PackageMaker functionality ↵David Cole2008-07-091-98/+191
| | | | for componentized-for-the-end-user and download-some-bit-on-demand installers.
* ENH: Further refinement of the CPack components functionality from Doug Gregor.David Cole2008-07-081-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Details: ========== - New cpack_add_component, cpack_add_component_group, and cpack_add_install_type "commands" defined as macros in the CPack module. - Documentation for all of the variables and commands in the CPack module. - Added get_cmake_property(... COMPONENTS) to CMake to ask for the names of all components. Used in the CPack module to automatically build component-based installers. (Set CPACK_MONOLITHIC_INSTALL to turn off component-based installation). - A group can declare its PARENT_GROUP, to build an arbitrary hierarchy of groups. - New CPack command cpack_configure_downloads, which creates an installer that downloads only the selected components on-the-fly. Those components marked DOWNLOADED will be separate packages downloaded on-the-fly (or, all packages can be marked as such with the ALL option to cpack_configure_downloads). Individual components are compressed with ZIP at installer-creation time and downloaded/uncompressed by the installer as needed. This feature is only available on Windows with NSIS at the moment. - NSIS installers can install themselves and enable the "Change" button in Add/Remove programs, allowing users to go back and install or remove components. This can be disabled through cpack_configure_downloads, because it's only really useful is most of the application's functionality is in downloaded components. - Bug fix: automatically install everything whose COMPONENT was not specified (it's a hidden, required group) - Bug fix: fixed removal of components when re-running the NSIS installer and unchecking components - Bug fix: NSIS installers now only install/remove the minimal number of files when re-run to update the installation (or by clicking "Change" in Add/Remove programs)
* BUG: Workaround PackageMaker 3.0 issue for new CPack components feature. ↵David Cole2008-06-181-49/+86
| | | | Thanks again to Doug Gregor for the patch.
* ENH: Add patch for feature request #6847 - CPack components for NSIS and ↵David Cole2008-06-171-57/+461
| | | | PackageMaker installers. Thanks to Doug Gregor for all the hard work involved with implementing this patch! Also added new test CPackComponents that is conditionally executed only when NSIS or PackageMaker installer builders are available.
* ENH: install working with symlink qt toolBill Hoffman2008-02-191-8/+60
|
* ENH: try to fix dashboardBill Hoffman2007-12-171-1/+17
|
* COMP: Fix warnings on 64-bit Mac OS X build. Patch from issue #3697.Brad King2007-11-051-2/+2
|
* ENH: Add CPACK_SET_DESTDIR handling to enable packaging of installed files ↵David Cole2007-10-311-0/+1
| | | | in absolute locations. With this setting on, cpack will set the DESTDIR env var when building the package so that files end up in their intended locations. Default behavior is not to set DESTDIR for backwards compatibility. Helps address issue #4993 and issue #5257. Also, remove unused CPACK_USE_DESTDIR variable. ENH: Add variable CPACK_PACKAGING_INSTALL_PREFIX to allow overriding the CPack GetPackagingInstallPrefix from a project's CMakeLists file if necessary. Could be used to remove the annoying /usr prefix still used by default in the Mac PackageMaker generator.
* ENH: make sure null const char* is not put into ossttringstream to avoid seg ↵Bill Hoffman2006-10-301-6/+10
| | | | faults
* STYLE: fix line lengthKen Martin2006-05-121-1/+2
|
* ENH: Add support for stipping and make more things overwritableAndy Cedilnik2006-05-021-2/+2
|
* ENH: Support for packaging source, several cleanups and more yeehaa...Andy Cedilnik2006-04-151-7/+2
|
* ENH: Add ZIP generator and add support for including or excluding the ↵Andy Cedilnik2006-04-021-0/+4
| | | | toplevel directory