Commit Graph

443 Commits

Author SHA1 Message Date
Bill Hoffman aea40fcb43 Fix scan-build warning parsed is never read after being set. 2014-08-04 15:38:56 -04:00
Brad King 2ba18f6284 Merge topic 'cpack-ifw-generator'
e7511b7f CPackIFW: Add package configuration variables
b2340001 CPackIFW: Document cpack_ifw_configure_component DEPENDS option
2014-07-31 09:17:37 -04:00
Konstantin Podsvirov e7511b7fbe CPackIFW: Add package configuration variables 2014-07-29 15:55:19 -04:00
Daniel Pfeifer f931a18c33 CPack: add generators for .7z and .tar.xz (#13072, #14519) 2014-07-29 09:48:41 -04:00
Brad King 73b336c9f1 CPackIFW: Replace use of strftime with cmTimestamp
The latter is more portable.
2014-07-28 10:24:03 -04:00
Konstantin Podsvirov 44850a267d CPack: Add an "IFW" generator for Qt Framework Installer
Add support for packaging with the Qt Framework Installer tools:

 http://qt-project.org/doc/qtinstallerframework/index.html

Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
2014-07-28 10:24:03 -04:00
Brad King 3bae343f62 cmCPackGenerator: Avoid crash on undefined CMAKE_MAKE_PROGRAM
Since commit 6557382d (stringapi: Use strings for program
paths, 2014-02-24), cmGlobalGenerator::GenerateBuildCommand
takes the make program path as a std::string.  Fix the lookup
in cmCPackGenerator::InstallProjectViaInstallCMakeProjects to
use GetSafeDefinition for CMAKE_MAKE_PROGRAM to avoid possible
construction of std::string from a NULL.

Reported-by: Richard Wirth <richard@califax.de>
2014-06-25 09:18:27 -04:00
Brad King f69501dfe2 Merge topic 'setlocale'
c746b00e Encoding:  Change to only set LC_CTYPE to fix encoding issues with libarchive.
2014-06-13 15:44:59 -04:00
Clinton Stimpson c746b00eee Encoding: Change to only set LC_CTYPE to fix encoding issues with libarchive.
Changing all categories with LC_ALL causes test failures in some locales.
For example, in some locales, the decimal characer could be a comma instead of period.
2014-06-11 22:29:16 -06:00
Ben Boeckel 3e7194a215 regex: Use static regexs where possible
Rather than declaring and compiling a constant regex every time a chunk
of code is executed, build the regex once.
2014-06-09 14:45:35 -04:00
Clinton Stimpson 730e386291 Encoding: Add setlocale() to applications.
See also bug #14934 where chinese characters could not be used with cpack.
2014-06-03 18:22:25 -06:00
Nils Gladitz d0b1d2a65b CPackWiX: Implement CPACK_NEVER_OVERWRITE and CPACK_PERMANENT properties 2014-05-28 12:30:44 -04:00
Nils Gladitz 15a8af21e8 Add an "installed file" property scope
Teach set_property and get_property an "INSTALL" property type to be
associated with install-tree file paths.  Make the properties available
to CPack for use during packaging.  Add a "prop_inst" Sphinx domain
object type for documentation of such properties.
2014-05-28 12:28:18 -04:00
Nils Gladitz cb59f5da97 CPackWIX: Delay creation of cmWIXPatch until CPack has initialized Logger
Without the fix CPack will crash when the cmWIXPatch class tries to issue
any diagnostics.
2014-04-18 22:45:30 +02:00
Stephen Kelly 4bef02e7aa cmTypeMacro: Add a class to eat the semicolon following the macro use.
Apply the same workaround to the cmCPackTypeMacro. Additionally
change that macro to not use 'class' as a macro parameter.
2014-04-03 21:53:13 +02:00
Sean D'Epagnier 13778cd3be CPackDeb: Add option to set compression type
Add a CPACK_DEBIAN_COMPRESSION_TYPE option to set the compression type.
Default to 'gzip' to preserve existing behavior.  Use "cmake -E tar"
for 'gzip', 'bzip2', and 'none'.  Use system "tar" for 'lzma' and 'xz'.
2014-03-14 09:29:54 -04:00
Brad King 3be265b304 Workaround Sun C++ 5.9 compiler crash
Adjust whitespace in Source/CPack/cpack.cxx to avoid a strange
internal compiler crash.
2014-03-12 10:40:45 -04:00
Stephen Kelly af8a1643c1 Remove c_str calls when using stream APIs.
Use an ad-hoc clang tool for matching the calls which should be
ported.
2014-03-11 15:03:50 +01:00
Stephen Kelly 21c573f682 Remove some c_str() calls.
Use the clang RemoveCStrCalls tool to automatically migrate the
code. This was only run on linux, so does not have any positive or
negative effect on other platforms.
2014-03-11 15:03:50 +01:00
Ben Boeckel 191f25e2bd stringapi: Prevent a NULL dereference in WiX 2014-03-08 13:05:40 -05:00
Ben Boeckel b3bf31a548 stringapi: Miscellaneous char* parameters 2014-03-08 13:05:37 -05:00
Ben Boeckel 2b17626e9b stringapi: Pass strings as install directories in CPack 2014-03-08 13:05:37 -05:00
Ben Boeckel 84fdc9921c stringapi: Pass configuration names as strings 2014-03-08 13:05:36 -05:00
Ben Boeckel 270eb96df0 strings: Remove cmStdString references
Casts from std::string -> cmStdString were high on the list of things
taking up time. Avoid such implicit casts across function calls by just
using std::string everywhere.

The comment that the symbol name is too long is no longer relevant since
modern debuggers alias the templates anyways and the size is a
non-issue since the underlying methods are generated since it's
inherited.
2014-03-08 13:05:35 -05:00
Ben Boeckel 473ca1ac4a stringapi: Use string for OS X resource names 2014-03-08 13:05:32 -05:00
Ben Boeckel 9f48d3bac2 stringapi: Use strings in CPack generator parameters
Most of these are turned into strings in the body of the method
(multiple times in some cases). Accept strings to simplify the API and
keep string construction down.
2014-03-08 13:05:30 -05:00
Ben Boeckel 3742bb0d32 stringapi: Use strings for variable names
Variable names are always generated by CMake and should never be NULL.
2014-03-08 13:05:28 -05:00
Nils Gladitz 642fa25da0 CPackWIX: support installation of empty directories 2014-03-02 00:51:42 +01:00
Nils Gladitz 378eb5b712 CPackWIX: Allow Windows Installer property customization 2014-03-01 23:13:35 +01:00
Nils Gladitz 6fcd835c07 CPackWIX: refactor and cleanup
Extract addtional classes and functions which are getting unsightly large.
Use some of the coding conventions more consistently.
2014-02-26 14:15:13 +01:00
Timo Rothenpieler b78d74de64 CPackWiX: Add support for CPACK_CREATE_DESKTOP_LINKS 2014-02-08 19:19:33 +01:00
Nils Gladitz 92c4d4039e CPackWiX: added new CPACK_WIX_CMAKE_PACKAGE_REGISTRY variable
Allows automatic registration of installed packages with
the cmake package registry.
2014-01-08 01:28:24 +01:00
Brad King 3a024ce0d8 Merge topic 'unicode-fstream'
5730710 Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.
2014-01-07 09:39:17 -05:00
Clinton Stimpson 5730710c86 Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.
Also use SystemTools::Fopen() instead of fopen().
This is to eventually support utf-8 filenames.
2014-01-07 09:27:44 -05:00
Clinton Stimpson a1e542f195 Use Encoding::CommandLineArguments for main() functions. 2014-01-04 10:43:12 -07:00
Brad King 81311c670e Merge topic 'wix-rtf-encoding'
950d76e CPackWiX: allow and convert UTF-8 sequences in RTF writer
2014-01-02 14:24:25 -05:00
Nils Gladitz 950d76ed48 CPackWiX: allow and convert UTF-8 sequences in RTF writer 2013-12-26 15:23:54 +01:00
Nils Gladitz 44a7543c53 CPackWiX: transfer file read only flag during installation 2013-12-26 00:14:44 +01:00
Brad King b5ef7fd47e Merge topic 'wix-cmake-coding-conventions'
37a1157 CPackWiX: adhere to CMake member naming convention
2013-12-23 10:19:29 -05:00
Nils Gladitz 37a1157aa9 CPackWiX: adhere to CMake member naming convention 2013-12-20 18:12:01 +01:00
Nils Gladitz 7eea71ea57 CPackWiX: replace slash with backslash in registry key path
Forward slash is not understood as a key path separator.
2013-12-20 12:01:28 +01:00
Nils Gladitz 8632233a2f CPackWiX: allow customization of generated WiX sources
Added a new variable CPACK_WIX_PATCH_FILE that users can point at an
XML patch file. Fragments defined within the patch file will be inserted
at supported insertion points (currently Component, File and Directory).
2013-12-17 14:14:42 +01:00
Clinton Stimpson 0b9906c2fb Windows: Use wide-character system APIs
Make CMake compile with -DUNICODE.  Make it possible for the 8 bit
encoding to eventually be UTF-8 instead ANSI.
2013-12-09 10:29:43 -05:00
Brad King ed1de30da0 Merge topic 'wix-components'
7b390f7 CPackWiX: add CPack component support
2013-12-02 12:07:24 -05:00
Nils Gladitz 7b390f75e8 CPackWiX: add CPack component support
Creates a hierarchy of WiX features from CPack components and component groups.
Switch to the FeatureTree UI in case components have been defined.
Handles the component REQUIRE and HIDDEN options
and the component group EXPANDED option.
2013-11-26 22:15:57 +01:00
Nils Gladitz 5bc64440e1 CPack: use IsOn instead of IsSet for boolean CPack options
The CPackComponent macros specifically set CPack options to FALSE
which CPack previously interpreted to mean "true".
2013-11-19 23:52:39 +01:00
Brad King 8904d1410b cmGlobalGenerator: Cleanup GenerateBuildCommand API
All cmGlobalGenerator::GenerateBuildCommand call sites that need to
produce a string now generate "cmake --build" commands.  The remaining
call sites immediately pass the result to cmSystemTools::RunSingleCommand.
Avoid the intermediate string and argument parsing by directly producing a
vector of strings.  Also drop the ignoreErrors argument because no call
sites remain that use it.
2013-11-18 08:26:21 -05:00
Brad King 3822f5bcac Merge topic 'wix-custom-arguments'
096591b CPackWiX: Add variables for custom tool extensions and flags
2013-11-13 09:56:30 -05:00
Nils Gladitz 096591b96a CPackWiX: Add variables for custom tool extensions and flags 2013-11-12 14:10:01 -05:00
Brad King d1526f825e Refactor internal resource location APIs and initialization
Rename cmSystemTools::FindExecutableDirectory to FindCMakeResources.
Teach it to compute the locations of cmake, ctest, cpack, ccmake, and
cmake-gui executables, and the location of CMAKE_ROOT.  Provide this
information from static cmSystemTools::Get<resource>() methods.
Refactor code that needs these locations to use the new APIs.

Teach FindCMakeResources to use the OS X system API to lookup the
executable location.  When running from the CMake build tree itself,
leave a file in the tree that FindCMakeResources can use to read the
location of the source tree.  This avoids the need to compile the source
tree location into a binary that may be installed and used without the
source tree.

Teach the QtDialog on OS X to create a "cmake-gui" symlink in the build
tree next to "cmake" and the other tools, as is already done in the
install tree for the application bundle.  This ensures a consistent set
of executables are available in one directory.
2013-11-12 08:23:35 -05:00