summaryrefslogtreecommitdiffstats
path: root/Source/CPack/WiX
Commit message (Collapse)AuthorAgeFilesLines
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-015-29/+37
| | | | | | | | | | | | 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.
* Fix trivial typos in textluzpaz2017-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some are user facing. Found using codespell -q 3 --skip="./Utilities" -I .cmake-whitelist.txt` whereby the whitelist contained: ans dum helpfull emmited emmitted buil iff isnt nto ot pathes substract te todays upto whitespaces
* cpack wix: support WiX generator on CygwinStephen Sorley2017-10-135-12/+93
| | | | | | | | | | | | Cygwin-built CMake now converts paths from Cygwin to Windows form (using cygpath -w) before they're passed to WiX. The Wix generator on Cygwin requires the libuuid-dev package when building CMake. However, the DLL it links to is installed by default as part of Cygwin's core libs, so it does not need to be distributed. If libuuid-dev isn't available, CMake is simply built without Wix support on Cygwin.
* Meta: modernize old-fashioned loops to range-based `for` (CPack).Pavel Solodovnikov2017-09-197-74/+44
| | | | | | Changes done via `clang-tidy` with some manual fine-tuning for the variable naming and `auto` type deduction where appropriate.
* IWYU: Mark cmConfigure.h with pragma: keepDaniel Pfeifer2017-08-261-1/+1
| | | | Also remove `#include "cmConfigure.h"` from most source files.
* Use C++11 nullptrDaniel Pfeifer2017-08-241-1/+1
|
* c++: prefer vectors over listsBen Boeckel2017-05-041-3/+3
| | | | | | | | | | | None of these usages of `std::list` were inserting or removing elements in the middle of the structure, so there were no benefits to using it. Other uses were related to C pointers being stable in a list of strings whereas in a vector of strings, small pointer optimizations could be moved and become invalid after a modification to the hosting vector. None of these uses modified the vector after handing out a C string to an external store.
* wix: adds ability to modify attributes with patchKeith Holman2017-04-245-12/+30
| | | | | | | | | Adds the ability to attributes to generated XML files for features with the WiX patch system. To modify attributes additional attributes may be added within the 'CPackWixFragment' xml tag. Fixes: #16813 Signed-off-by: Keith Holman <keith.holman@windriver.com>
* wix: fix spelling error in function nameKeith Holman2017-04-242-7/+7
| | | | | | | | The function "AddDirectoryAndFileDefinitions" was missing the last "i" in the function name. This patch corrects the spelling so that the function can be found easier when searching through the source code. Signed-off-by: Keith Holman <keith.holman@windriver.com>
* Use quotes for non-system includesDaniel Pfeifer2017-04-1111-22/+22
| | | | | | | | | | | | | 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'
* CPack: drop CPack prefix for includesDaniel Pfeifer2017-04-1112-13/+13
| | | | | | | | | | Automate with: git grep -l '#include <CPack/' -- Source \ | xargs sed -i 's/#include <CPack\/\(.*\)>/#include "\1"/g' git grep -l '#include "CPack/' -- Source \ | xargs sed -i 's/#include "CPack\/\(.*\)"/#include "\1"/g'
* Add self-sufficient wrapper for <sys/stat.h>Daniel Pfeifer2017-03-241-3/+1
|
* CPackWIX: Introduce new CPACK_WIX_ROOT_FOLDER_ID variableNils Gladitz2017-02-062-6/+16
| | | | | | | | | | The new variable allows specification of a custom root folder ID. The implicit default is "ProgramFiles<64>Folder". The "<64>" token is replaced by "" for 32-bit and "64" for 64-bit builds. Inspired-By: Eric Backus Fixes: #16573
* avoid including cmStandardIncludes.hDaniel Pfeifer2016-11-282-2/+2
|
* Port hash computation to cmCryptoHashBrad King2016-11-101-2/+2
| | | | | Avoid using KWSys MD5 or `cm_sha2` and use the `cmCryptoHash` abstraction instead.
* Encoding: Remove option to use ANSI code page internallyClinton Stimpson2016-11-023-44/+2
| | | | | | The switch to use UTF-8 encoding has been defaulted to on for quite some time since commit v3.2.0-rc1~116^2 (Encoding: Switch to use UTF-8 internally by default on Windows, 2014-12-26).
* Simplify CMake per-source license noticesBrad King2016-09-2720-240/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* CPackWIX: Enabled patching of WIX <Feature> tagsMichael Stürmer2016-09-093-8/+15
|
* CPackWIX: Fix incomplete CPACK_WIX_SKIP_PROGRAM_FOLDER implementationMichael Stürmer2016-09-0610-38/+79
| | | | | | | | | | Commit 17bbf6af (CPackWIX: Implement new CPACK_WIX_SKIP_PROGRAM_FOLDER feature) generates GUIDs for most but not all components when the feature is active. Generate the remaining GUIDs as well. Co-Author: Nils Gladitz <nilsgladitz@gmail.com>
* make sure to include cmConfigure.h before cmStandardIncludes.hDaniel Pfeifer2016-09-031-0/+2
|
* CPackWIX: Implement new CPACK_WIX_SKIP_PROGRAM_FOLDER featureMichael Stürmer2016-08-084-4/+31
| | | | | The new variable allows setting of a custom absolute installation prefix outside of the ProgramFiles folders.
* CPackWIX: Support custom title and description for the root featureMichael Stürmer2016-08-021-1/+8
| | | | | | These can now be specified through the WIX generator specific CPack variables CPACK_WIX_ROOT_FEATURE_TITLE and CPACK_WIX_ROOT_FEATURE_DESCRIPTION.
* CPackWIX: Support CPACK_COMPONENT_<compName>_DISABLEDMichael Stürmer2016-07-221-0/+4
| | | | Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
* Avoid using KWSys auto_ptr by adopting it ourselvesBrad King2016-06-291-1/+1
| | | | | | | | | | | | 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|'
* Prefer istringstream and ostringstream over stringstream.Daniel Pfeifer2016-06-145-10/+10
| | | | Use istringsream for parsing, ostringstream for generation.
* Revise C++ coding style using clang-formatKitware Robot2016-05-1619-1075/+769
| | | | | | | | | | | | | 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.
* 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.
* 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-031-0/+1
| | | | | 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-297-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2910-13/+17
| | | | | 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.
* CPackWIX: Allow multiple patch files and diagnose if any are missingNils Gladitz2015-12-143-4/+21
| | | | | | | CPACK_WIX_PATCH_FILE now accepts a list of patch files. An error will now be produced if any of the patch files is missing. Previously this would be silently ignored.
* CPackWIX: Allow patching of shortcut componentsNils Gladitz2015-12-121-0/+2
|
* CPackWIX: Fix installed file property lookups when using componentsNils Gladitz2015-12-102-4/+22
| | | | | | | | | The WIX generator incorrectly looked for installed file properties by relative paths that included the component specific staging directory prefix. Remove that prefix in installed file property lookups when generating packages with components.
* CPackWIX: Don't allow users to deselect the top-level feature (#15838)Nils Gladitz2015-11-091-0/+1
| | | | | | | | | | The top-level WiX feature implicitly created by the WIX generator represents the package as a whole. As such it does not make sense to allow installer users to deselect it from the installation. Suggested-by: Mark Stijnman
* CPackWIX: Handle text nodes in XML patch contentNils Gladitz2015-10-126-19/+118
|
* Replace foo.size() pattern with !foo.empty().Stephen Kelly2015-08-244-5/+5
|
* cmSystemTools: Teach RunSingleCommand to separate stdout and stderrBrad King2015-04-201-1/+2
| | | | | | | 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 'wix-fix-utf8'Brad King2015-03-303-4/+10
|\ | | | | | | | | 98a3b2e2 CPackWIX: Omit codepage conversion when internal encoding is already UTF-8.
| * CPackWIX: Omit codepage conversion when internal encoding is already UTF-8.Nils Gladitz2015-03-273-4/+10
| |
* | CPackWIX: Add static_casts for XML_Parser.Nils Gladitz2015-03-261-2/+2
|/ | | | | | | "XML_Parser" in cmexpat is a typedef for void* while newer releases of expat seem to use struct XML_ParserStruct *XML_Parser. Add static_casts so that the build works with either variant.
* CPackWIX: Fix .wixobj output locations and filenames.Nils Gladitz2015-03-061-1/+18
| | | | | | | | Preserve all but the last extension when generating .wixobj output filenames from source files and make sure they are unique. Output .wixobj files in cpack staging area instead of the current working directory.
* CPackWIX: Support patching of root <Feature> elements.Nils Gladitz2015-03-061-0/+1
|
* CPackWIX: Add new CPACK_STARTUP_SHORTCUTS property.Nils Gladitz2015-02-215-1/+39
|
* CPackWIX: Add installed file properties for the creation of shortcuts.Nils Gladitz2015-02-216-12/+67
|
* CPackWIX: Refactor start menu and desktop shortcut creation.Nils Gladitz2015-02-216-150/+248
|
* CPackWIX: Extend the patching mechanism to allow adding content to <Product>.Nils Gladitz2015-02-132-2/+16
|
* Use two-iterator std::set::insert where appropriate.Stephen Kelly2015-01-111-6/+1
|
* CPackWiX: Work around RelativePath() returning an empty string for the rootNils Gladitz2014-10-031-0/+5
|
* CPackWiX: Extend CPACK_WIX_ACL to support directoriesNils Gladitz2014-09-273-5/+38
|