Commit Graph

24 Commits

Author SHA1 Message Date
Erlend E. Aasland e8e07a90c1 CPackIFW: add support for signing the generated app bundles on macOS
Adds the CPACK_IFW_PACKAGE_SIGNING_IDENTITY CPackIFW variable.

This variable mirrors the --sign option of the binarycreator tool.

Fixes: #22927
2021-11-22 23:30:57 +01:00
Erlend E. Aasland f2f4e66f64 CPackIFW: Add support for RunProgram* config variables
This patch adds support for specifying <RunProgram>,
<RunProgramArguments>, and <RunProgramDescription> in the IFW
configuration file.
2021-10-17 21:15:57 +02:00
Konstantin Podsvirov 6b12edfe82 CPackIFW: Add support for DisableCommandLineInterface config attribute 2021-10-14 11:57:38 -04:00
Erlend E. Aasland 6d39c845ee CPackIFW: Add support for ProductImages config option 2021-10-08 22:20:06 +02:00
Konstantin Podsvirov 8b5a0e0fef CPackIFW: Add CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST variable
Add CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST variable to
control visibility of the widget listing installer pages on the left side
of the wizard. This feature available only since QtIFW 4.0.
2020-11-27 22:32:45 +03:00
Kitware Robot bdca8b01d2 Modernize: Use #pragma once in all header files
#pragma once is a widely supported compiler pragma, even though it is
not part of the C++ standard. Many of the issues keeping #pragma once
from being standardized (distributed filesystems, build farms, hard
links, etc.) do not apply to CMake - it is easy to build CMake on a
single machine. CMake also does not install any header files which can
be consumed by other projects (though cmCPluginAPI.h has been
deliberately omitted from this conversion in case anyone is still using
it.) Finally, #pragma once has been required to build CMake since at
least August 2017 (7f29bbe6 enabled server mode unconditionally, which
had been using #pragma once since September 2016 (b13d3e0d)). The fact
that we now require C++11 filters out old compilers, and it is unlikely
that there is a compiler which supports C++11 but does not support
#pragma once.
2020-09-03 09:30:21 -04:00
Kitware Robot ed98209ddc Revise include order using clang-format-6.0
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.
2019-10-01 12:26:36 -04:00
Regina Pfeifer a1ddf2d0ba clang-tidy: Replace typedef with using
Automate the conversion with

  perl -i -0pe 's/typedef ([^;]*) ([^ ]+);/using $2 = $1;/g'

then manually fix a few places.
2019-09-04 18:03:01 +02:00
Zaytsev Yuriy c474fb2777 CPack/IFW: Add StyleSheet field 2019-05-02 13:01:31 -04:00
Jean-Philippe Lebel 739ae1d090 CPack/IFW: Add option to control deletion of the install directory
Added support for QT IFW "RemoveTargetDir" boolean option.  QTIFW
supports an option to prevent, or not, deletion of the installation
directory. This is a direct pass-through to that variable.
2017-12-15 13:24:58 -05:00
Konstantin Podsvirov 9c13e8eb6f CPackIFW: Refactor out some commonly used code
Move common used code to new cmCPackIFWCommon base class.
2017-05-03 11:32:05 -04:00
Daniel Pfeifer 1d829c862c Use quotes for non-system includes
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'
2017-04-11 22:35:21 +02:00
Alexander Voitenko 3fc4a2b71a QtIFW: Added new options to QtIFW cpack generator for modifying wizard style 2017-01-17 14:12:02 +03:00
Brad King 86578eccf2 Simplify CMake per-source license notices
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.
2016-09-27 15:14:44 -04:00
Konstantin Podsvirov b807cd9b54 CPackIFW: Add 'cpack_ifw_add_package_resources' command 2016-09-19 13:17:59 -04:00
Daniel Pfeifer d47c7bf608 CPack: include what you use 2016-09-07 00:21:35 +02: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
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 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
Daniel Pfeifer 51465da1ec CPack/IFW: port to cmXMLWriter 2016-03-23 11:18:16 -04: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
Konstantin Podsvirov ed9684a22c CPackIFW: Added support for multiple repositories
Now user can add IFW specific repo with cpack_ifw_add_repository macro
2014-10-05 12:52:57 +04:00
Konstantin Podsvirov e6496b6023 CPackIFW: Revise this generator
CPack IFW generator updates:
- Group now can have script;
- Root package (for monolithic or one package installers) can be
  configured from group.

CMake updates:
- Native installation (no Unspecified component).
2014-08-12 15:20:59 -04:00
Konstantin Podsvirov ebe8d51b11 CPackIFW: Refactor and revise this generator
Split the monolithic cmCPackIFWGenerator source into three parts:
cmCPackIFWGenerator, cmCPackIFWInstaller, and cmCPackIFWPackage
to isolate the implementations somewhat.

Add a COMMON option to the cpack_ifw_configure_component command to make
the data component common to its parent group.

Change the default packaging method to ONE_PACKAGE_PER_COMPONENT.
This is not incompatible because the CPack IFW generator has not
yet been in a release.
2014-08-11 09:40:28 -04:00