Commit Graph

638 Commits

Author SHA1 Message Date
Konstantin Podsvirov 06ca7795f4 CPackIFW: Command cpack_ifw_configure_component learned ESSENTIAL option 2016-05-23 19:09:03 +03:00
Brad King acd039ae0e Merge topic 'minor-cleanup'
40bee43a cmCPackDragNDropGenerator: Replace std::{ostringstream => string}
2016-05-20 09:15:52 -04:00
Konstantin Podsvirov 41199f8c1e CPackIFW: Add support for Promoting Updates
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.
2016-05-18 09:49:14 -04:00
Brad King 40bee43a58 cmCPackDragNDropGenerator: Replace std::{ostringstream => string} 2016-05-17 13:47:21 -04:00
Kitware Robot d9fd2f5402 Revise C++ coding style using clang-format
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.
2016-05-16 16:05:19 -04:00
Brad King bc7598fde0 Merge topic 'cpack-rpm-different-package-names'
44ee2d71 CPack/RPM different package names
2016-05-16 10:11:32 -04:00
Domen Vrankar 44ee2d717a CPack/RPM different package names
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.
2016-05-15 03:01:34 +02:00
Domen Vrankar 316dd61367 CPack/Deb proper package file naming
Proper Debian packages file naming for single package
setup (breaks compatibility with previous versions)
2016-05-13 10:46:04 -04:00
Alexander Smorkalov 3a55a0e72c CPack/Deb proper component packages file naming
Proper Debian packages file naming for multi-component setup
(breaks compatibility with previous versions)
2016-05-13 10:46:03 -04:00
Alexander Smorkalov c7f388e723 CPack/Deb generation of postinst and postrm ldconfig files
DEBIAN/postinst and DEBAIN/postrm files generation if
the package installs libraries in ldconfig controlled
location (/lib/, /usr/lib/)
2016-05-13 10:46:03 -04:00
Alexander Smorkalov 2d5896530b CPack/Deb generation of DEBIAN/shlibs control file
DEBIAN/shlibs control file generation if the package
contains libraries
2016-05-13 10:46:02 -04:00
Brad King 0ac18d40c8 Remove `//------...` horizontal separator comments
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.
2016-05-09 09:41:43 -04:00
Brad King afca373510 Help clang-format wrap after braces on long initializer lists
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.
2016-05-06 15:54:32 -04:00
Brad King 85425a3e6c Move comments off of class access specifier lines
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.
2016-05-06 14:51:26 -04:00
Brad King 64b5520346 Isolate formatted streaming blocks with clang-format off/on
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.
2016-05-06 14:25:55 -04:00
Brad King 54f71cd72c Source: Sort includes the way clang-format would
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`.
2016-05-03 10:08:41 -04:00
Brad King be14fe4857 Source: Stabilize include order of sys/types.h before sys/stat.h
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.
2016-05-03 10:08:41 -04:00
Brad King e1c7747253 Format include directive blocks and ordering with clang-format
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>
2016-04-29 13:58:54 -04:00
Brad King 180538c706 Source: Stabilize include order
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.
2016-04-29 13:58:31 -04:00
Daniel Pfeifer 51465da1ec CPack/IFW: port to cmXMLWriter 2016-03-23 11:18:16 -04:00
Brad King cd992170db Merge topic 'cpack-osx-optional-CoreServices'
d84ba668 CPack: Avoid using OS X CoreServices if compiler fails on header (#16021)
2016-03-21 09:39:24 -04:00
Brad King d84ba668d7 CPack: Avoid using OS X CoreServices if compiler fails on header (#16021)
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.
2016-03-18 11:12:51 -04:00
Brad King 66d146431d Merge topic 'cpack-osx-no-carbon'
c718070c CPack: Avoid requiring Carbon framework on OS X (#16021)
2016-03-18 09:43:15 -04:00
Sean McBride c718070c08 CPack: Avoid requiring Carbon framework on OS X (#16021)
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.
2016-03-17 13:53:51 -04:00
Daniel Wirtz 26fdd9c30a CPack: Fix CPACK_INSTALL_CMAKE_PROJECTS SubDirectory (4th) option 2016-02-18 09:37:59 -05:00
Andrey Mishchenko bbb3c4ffc1 CPack/DragNDrop: Fix handling of certain license file content (#15899)
There were issues in the special-character-escaping and line-wrapping
code which caused DragNDrop packaging to fail mysteriously at a later
step with parsing errors in the `sla.r` file generated by the following
code.
2016-01-07 15:24:42 -05:00
Nils Gladitz de77d4a741 CPackWIX: Allow multiple patch files and diagnose if any are missing
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.
2015-12-14 23:28:42 +01:00
Nils Gladitz 38d723b37e CPackWIX: Allow patching of shortcut components 2015-12-12 10:36:51 +01:00
Nils Gladitz ecdc77f14d CPackWIX: Fix installed file property lookups when using components
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.
2015-12-10 17:38:18 +01:00
Simon Levermann ae434ee2dd CPack/DragNDrop: Allow single license for multiple languages
When both CPACK_DMG_SLA_DIR and CPACK_RESOURCE_FILE_LICENSE are defined,
use the license file for all languages instead of looking for a license
file for each language.  Also expand the documentation on the SLA
variables.
2015-12-02 08:26:01 -05:00
Simon Levermann 0c5b96bf7c CPack/DragNDrop: Use documented CPACK_DMG_SLA_LANGUAGES variable
The change in commit f88533cc (CPackDMG: Add support for multilingual
SLAs, 2015-10-19) accidentally used CPACK_DMG_LANGUAGES in its
implementation instead of the intended CPACK_DMG_SLA_LANGUAGES added to
the documentation.
2015-11-23 10:22:15 -05:00
Robert Maynard 167a465565 CPack/DragNDrop: Optionally run an AppleScript when making a package
While the DragNDropGenerator supports custom DS_Store and backgrounds,
it is still very hard to automatically setup nice looking packages. The
primary issue is that the DS_Store embeds the name of the volume in the
path to backgrounds, which means that if a package embeds the version in
its volume name a new DS_Store must generated for each release.

Instead one now can use applescript to setup the DS_Store.

This change also ensures that temporary RW image has enough space for
these changes, creating 1 MB dummy padding file, that is later removed
from the image.

Co-Author: Adam Strzelecki <adam.strzelecki@java.pl>
2015-11-13 08:44:15 -05:00
Robert Maynard 9c1dfbfd60 CPack/DragNDrop: Place the background image file in a hidden folder
By using a hidden folder we avoid the need to mark the file as hidden
from finder, and it makes it easier for future work to refer to the
background image file.
2015-11-13 08:43:50 -05:00
Robert Maynard 47302038c1 CPack/DragNDrop: Use source file extension for background image
Instead of blindly copying the `CPACK_DMG_BACKGROUND_IMAGE` file to
`background.png`, we instead use the same file extension as the source
image.  This is needed for proper support of multi resolution `tif`
backgrounds.
2015-11-13 08:42:49 -05:00
Nils Gladitz d3625b7283 CPackWIX: Don't allow users to deselect the top-level feature (#15838)
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
2015-11-09 17:50:21 +01:00
Brad King 0ecb5e7f8b Merge topic 'cpack-dmg-multilanguage-sla'
f88533cc CPackDMG: Add support for multilingual SLAs
2015-11-09 10:06:38 -05:00
Simon Levermann f88533cc06 CPackDMG: Add support for multilingual SLAs
Multiple languages for SLAs and the SLA UI can be added via the CPack
variables CPACK_DMG_SLA_DIR and CPACK_DMG_SLA_LANGUAGES.  For each
language defined in the languages variable, CPack will search for
<language>.menu.txt and <language>.license.txt in CPACK_DMG_SLA_DIR.
If the sla directory variable is not defined, the old behaviour using
CPACK_RESOURCE_FILE_LICENSE is retained.
2015-11-06 11:14:49 -05:00
Raffi Enficiaud e5b70ed013 CPackDEB: added config file optional Source field 2015-11-04 21:46:22 +01:00
Brad King 06ee07b854 Merge topic 'cpack-deb-fakeroot-removal'
66178ae5 CPackDEB: Use proper compression scheme for control.tar.gz
2015-10-26 13:12:53 -04:00
Raffi Enficiaud 66178ae5a0 CPackDEB: Use proper compression scheme for control.tar.gz
Changes in commit v3.4.0-rc1~79^2~1 (CPackDeb: use of libarchive and
removal of fakeroot, 2015-09-11) accidentally set the wrong compression
scheme for the `control.tar.gz` file.  Set it explicitly to GZip.
2015-10-23 10:58:43 -04:00
Brad King 088fcbf733 Merge topic 'wix-text-node'
5a266095 CPackWIX: Handle text nodes in XML patch content
2015-10-14 13:36:02 -04:00
Stephen Kelly 20b95ef8c8 cmState: Initialize default definitions immediately.
Don't leave this as cmMakefile responsibility.
2015-10-14 00:16:20 +02:00
Nils Gladitz 5a266095ee CPackWIX: Handle text nodes in XML patch content 2015-10-12 21:53:08 +02:00
Brad King c997595ea3 Merge topic 'cpack-nsis-bitmap'
3758af12 CPackNSIS: Add options to set the bitmap for NSIS installer left side
2015-10-08 10:31:48 -04:00
Colin Tracey 3758af12fa CPackNSIS: Add options to set the bitmap for NSIS installer left side
set MUI_WELCOMEFINISHPAGE_BITMAP
set MUI_UNWELCOMEFINISHPAGE_BITMAP
2015-10-06 09:08:37 -04:00
Stephen Kelly 74d565e0e9 Remove unused cmLocalGenerator include. 2015-10-05 20:59:56 +02:00
Stephen Kelly 94cc4e74ae CPack: Remove needless cmLocalGenerator creation. 2015-10-05 19:59:23 +02:00
Domen Vrankar 9298f56dce CPack: allow packaging of empty directories 2015-09-29 01:18:18 +02:00
Raffi Enficiaud 749a140a0c CPackDeb: allow empty directories in component packages 2015-09-29 01:18:04 +02:00
Brad King 4fa1755315 Revert topic 'cpack-package-empty-dirs'
The changes in commit 47b060ae (CPackDeb: allow empty directories in
component packages, 2015-09-21), commit b58de9fe (CPack: allow packaging
of empty directories, 2015-09-21), and commit b761e90d (CPack: remove
accidental changes, 2015-09-22) regressed packaging of CMake itself.
Revert the changes until they can be revised and rebased on other
changes that make additional fixes.
2015-09-25 11:55:59 -04:00
Domen Vrankar b761e90d70 CPack: remove accidental changes
Remove changes accidentally included in commit b58de9fe (CPack: allow
packaging of empty directories, 2015-09-22).
2015-09-23 09:15:57 -04:00
Domen Vrankar b58de9fe2b CPack: allow packaging of empty directories 2015-09-22 02:08:26 +02:00
Raffi Enficiaud 47b060aee0 CPackDeb: allow empty directories in component packages 2015-09-22 01:57:44 +02:00
Raffi Enficiaud 7c7874c86e CPackDeb: preventing md5sum on symlinks
- Direct call to cmSystemTools::ComputeFileMD5
- Avoiding hashing symlinks
- Tests
2015-09-18 22:20:42 +02:00
Raffi Enficiaud 7044e8ee4b CPackDeb: use of libarchive and removal of fakeroot 2015-09-17 15:30:39 -04:00
Stephen Kelly ff8ac8ee6a cmLocalGenerator: Create from already-constructed cmMakefile.
Don't manage the lifetime of the cmMakefile with cmLocalGenerator.
2015-08-28 18:44:39 +02:00
Stephen Kelly 92041eec49 cmGlobalGenerator: Remove MakeLocalGenerator method.
Inline implementation to callers.
2015-08-28 18:44:38 +02:00
Stephen Kelly acb006229d cmGlobalGenerator: Require a snapshot to create a local generator. 2015-08-28 18:44:38 +02:00
Stephen Kelly 44ffb9cdb4 Replace foo.size() pattern with !foo.empty(). 2015-08-24 20:47:18 +02:00
Stephen Kelly 524610f967 Replace 'foo.size() == 0' pattern with foo.empty(). 2015-08-24 20:47:17 +02:00
Stephen Kelly 0e14c7ee63 Replace 'foo.size() > 0' pattern with !foo.empty(). 2015-08-24 20:47:17 +02:00
Brad King 6db713c07f Remove use of include <cmsys/ios/*> and cmsys_ios::*
We no longer need this compatibility layer for the compilers we support.
2015-08-20 16:19:08 -04:00
Konstantin Podsvirov ad5c76af64 CPackIFW: Load module to set CPACK_IFW_FRAMEWORK_VERSION
This setting was added to support QtIFW 2.0 in commit v3.3.0-rc1~70^2~1
(CPackIFW: Add QtIFW 2.0 support, 2015-04-27).  We need to load the
CPackIFW module to initialize it if it is not set.
2015-07-08 16:02:03 -04:00
Stephen Kelly c7b79aa16a cmGlobalGenerator: Require a cmake instance in ctor.
It is required anyway, so this makes it explicit.
2015-05-27 09:18:31 -04:00
Brad King 6fbd4cae0d Use cmSystemTools::GetCMakeCommand() to get path to cmake internally
This is much simpler than finding a way to lookup "CMAKE_COMMAND"
everywhere.
2015-05-20 11:20:42 -04:00
Brad King be248ab435 Merge topic 'refactor-cmLocalGenerator'
fa9eb814 cmLocalGenerator: Remove redundant path access.
1933f3d1 cmLocalGenerator: Remove redundant path conversions.
9e4b6cc2 cmState: Store computed relative paths to to current directories.
991f5e49 cmState::Snapshot: Store components for current directories.
57bdc1a2 cmState: Compute and store directory components.
2015-05-19 11:09:39 -04:00
Brad King 93acb504c0 Merge topic 'clean-up-makefile-generators'
036372c4 Remove obsolete overrides of CreateLocalGenerator.
684e5cef cmGlobalGenerator: Host the MakeSilentFlag.
2047144f cmLocalGenerator: Remove unused IgnoreLibPrefix.
333c1fa8 cmGlobalUnixMakefileGenerator3: Host the UnixCD.
a97df5e1 cmGlobalUnixMakefileGenerator3: Host the PassMakeflags.
14f171c3 Remove method calls just repeating the default.
cf7f03e5 cmGlobalUnixMakefileGenerator3: Host the DefineWindowsNULL.
e9b134b9 cmGlobalUnixMakefileGenerator3: Host the include directive.
24613d8b cmLocalGenerator: Remove unused method.
b659d161 cmGlobalGenerator: Add NVI wrapper to create local generator.
2015-05-19 11:09:31 -04:00
Stephen Kelly 57bdc1a2f7 cmState: Compute and store directory components.
There is no need to duplicate these in all cmLocalGenerators.

Rename the symbols according to current conventions.

Add explicit calls to Set{Source,Binary}Directory with empty strings
in order to trigger the population of the components containers with
the current working directory in cmLocalGenerator.  Having
directories set to empty is a special case in CMake, which is relied
on for the `if(CMAKE_BINARY_DIR)` condition at the end of
CMakeDetermineSystem.cmake.
2015-05-16 08:11:33 +02:00
Stephen Kelly b659d161da cmGlobalGenerator: Add NVI wrapper to create local generator. 2015-05-16 05:18:25 +02:00
Konstantin Podsvirov 9a0ba4d24a CPackIFW: Add QtIFW 2.0 support
Add variables:

- CPACK_IFW_FRAMEWORK_VERSION
- CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
- CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
- CPACK_IFW_PACKAGE_CONTROL_SCRIPT
- CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
- CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
- CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
- CPACK_IFW_VERBOSE
2015-05-15 11:02:49 -04:00
Raffi Enficiaud fdfe4586a0 CPackDeb: Fix lintian md5sum file warning
Lintian warned about invalid md5sum file permissions.
2015-04-23 09:02:49 -04:00
Brad King 81c01d4a34 Merge topic 'disable-cmMakefile-copy'
80909041 cmMakefile: Disable copy constructor.
f3af9517 CPack: Don't copy cmMakefile. Just push a scope instead.
2015-04-21 09:39:53 -04:00
Domen Vrankar c8375e15eb CPackDeb: Refactor package variable lookup by generator
Preparation for per component variables.
Patch makes sure we know which variables
will be set for per component generator
and also prevents accidental overflows
of variable values between components.
2015-04-21 08:47:18 -04:00
Stephen Kelly f3af9517ff CPack: Don't copy cmMakefile. Just push a scope instead. 2015-04-21 00:21:53 +02:00
Brad King 356c26ebdf cmSystemTools: Teach RunSingleCommand to separate stdout and stderr
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.
2015-04-20 15:47:50 -04:00
Stephen Kelly 6e23a4bddd cmMakefile: Remove always-null first parameter to ReadListFile. 2015-04-18 15:31:18 +02:00
Stephen Kelly fc7ab8874b CPack: Read the config listfile in the normal way.
This is a unique function call in CMake, and it was likely a
programming error when introduced.  All other similar calls to
ReadListFile use a null first paramter.

The effect of this patch is to no-longer define CMAKE_PARENT_LIST_FILE
to the config file itself while evaluating it.

The ReadListFile method also no longer hits a condition that it uses
CollapseFullPath on the input file.  However, as cpack does not
set the StartDirectory anyway, this has no effect. See bug 15522.
2015-04-18 15:26:12 +02:00
Brad King 1f1b62b0e2 Merge topic 'cpack-one-component-only'
ed0b0630 CPack: Fix single component packaging
2015-04-17 10:50:15 -04:00
Raffi Enficiaud ed0b063085 CPack: Fix single component packaging
Refine logic added in commit 0ffd3534 (CPack single component packaging,
2015-04-02).  Component packaging should be enabled if either at least
one component or one group is set and should not require both.
2015-04-16 16:29:33 -04:00
Stephen Kelly 0aec491328 Port cmCommand consumers to cmState. 2015-04-15 11:43:49 -04:00
Nils Gladitz d2cc580704 cmake: Teach "-E tar" command a "--format=" option
Allows specifying a libarchive defined archive format currently restricted to
7zip, gnutar, pax, paxr and zip.

The default is "paxr" (pax restricted).
2015-04-10 08:32:31 -04:00
Brad King 0e6b00ee49 Merge topic 'cpack-one-component-only'
0ffd3534 CPack single component packaging
2015-04-06 09:11:34 -04:00
Brad King 9ddbacdb74 Merge topic 'test_cpack_symlinks'
5f686b8a Tests: Add case for CPack source package with symlinks
aca1d93b cpack: Disable CMake Cygwin legacy warning while packaging
2015-04-06 08:58:14 -04:00
Domen Vrankar 0ffd35340e CPack single component packaging
RPM, DEB and archive packages were not created
in cases when CPACK_<generator>_COMPONENT_INSTALL
was set to ON and a single component existed.
Patch also changes CPackRPM test to implicitly
test for this case.
2015-04-05 22:49:41 +02:00
Brad King 0de7807c36 Merge topic 'cpack-deb-format-cast'
e86f44b7 cmCPackDebGenerator: Cast file mode to proper type for %o formatter
2015-04-01 13:19:41 -04:00
Brad King aca1d93bd9 cpack: Disable CMake Cygwin legacy warning while packaging
In cpack we load the platform information modules to give the
configuration scripts access to the host system information.
CYGWIN.cmake warns unless we explicitly tell it not to warn
since there is no chance for a cmake_minimum_required(VERSION)
to be called.
2015-04-01 12:57:43 -04:00
Brad King e86f44b726 cmCPackDebGenerator: Cast file mode to proper type for %o formatter 2015-03-31 16:28:28 -04:00
Brad King 93a3ec8b77 CPack: Fix make tool selection during preinstall (#15483)
The CMAKE_MAKE_PROGRAM selected by CMake while configuring the project
should also be used to drive the "preinstall" target during packaging.
Teach CPack to use "cmake --build" instead of constructing the build
command line itself.  The "cmake --build" command already knows how
to select the proper make tool.
2015-03-31 10:30:25 -04:00
Brad King c1f8c6cdf9 Merge topic 'cpack-archive-prefix'
e3f84fc5 cpack: Fix CPACK_PACKAGING_INSTALL_PREFIX handling for archives (#14677)
2015-03-30 09:27:55 -04:00
Brad King 136a534f72 Merge topic 'wix-fix-utf8'
98a3b2e2 CPackWIX: Omit codepage conversion when internal encoding is already UTF-8.
2015-03-30 09:27:45 -04:00
Brad King aa15ef8a84 Merge topic 'clean-scanbuild-warnings'
e680d43d Fix an unused variable warning from scanbuild.
a4a1b729 Fix warnings from clang scanbuild.
2015-03-30 09:27:42 -04:00
Clinton Stimpson e3f84fc504 cpack: Fix CPACK_PACKAGING_INSTALL_PREFIX handling for archives (#14677)
Fix the case when the archive generator is used to package components
with an install prefix.
2015-03-30 09:22:14 -04:00
Nils Gladitz 98a3b2e29e CPackWIX: Omit codepage conversion when internal encoding is already UTF-8. 2015-03-27 12:22:15 +01:00
Nils Gladitz 8603791553 CPackWIX: Add static_casts for XML_Parser.
"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.
2015-03-26 16:56:44 +01:00
Bill Hoffman a4a1b729c6 Fix warnings from clang scanbuild. 2015-03-25 12:38:37 -04:00
André Klitzing fb3e4de8e8 CPack: Add support to overwrite or pass additional parameter to codesign 2015-03-23 09:15:43 -04:00
Nils Gladitz 2e16aff1e2 CPackWIX: Fix .wixobj output locations and filenames.
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.
2015-03-06 21:09:19 +01:00
Nils Gladitz b0852ebc09 CPackWIX: Support patching of root <Feature> elements. 2015-03-06 21:06:42 +01:00
Gregor Jasny ce935ebe50 cmake: Teach --build to honor CMAKE_VERBOSE_MAKEFILE for Ninja
The Ninja build system does not support a in-file verbositiy switch.
Instead teach 'cmake --build' to extract the CMAKE_VERBOSE_MAKEFILE
setting and pass it as an optional '-v' argument to Ninja.  This can
serve as a reasonable fallback.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-02-26 09:51:11 -05:00
Brad King cb16c7844d Merge topic 'wix-shortcut-properties'
6cc01c14 CPackWIX: Add release notes for the wix-shortcut-properties topic.
135febf0 CPackWIX: Enhance CMake CPack WIX generated installer.
e6731f48 CPackWIX: Add new CPACK_STARTUP_SHORTCUTS property.
279605f5 CPackWIX: Add installed file properties for the creation of shortcuts.
53d7daff CPackWIX: Refactor start menu and desktop shortcut creation.
dc0f3fb4 CPackWIX: Explicitly list CPack WIX headers for IDE convenience.
2015-02-23 11:06:07 -05:00