Commit Graph

559 Commits

Author SHA1 Message Date
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
Nils Gladitz e6731f486e CPackWIX: Add new CPACK_STARTUP_SHORTCUTS property. 2015-02-21 18:07:36 +01:00
Nils Gladitz 279605f560 CPackWIX: Add installed file properties for the creation of shortcuts. 2015-02-21 17:30:31 +01:00
Nils Gladitz 53d7daffac CPackWIX: Refactor start menu and desktop shortcut creation. 2015-02-21 12:38:14 +01:00
André Klitzing 7b582d15ff CPack: Print output from codesign if signing fails 2015-02-20 08:17:53 -07:00
Nils Gladitz a2ccbffd8b CPackWIX: Extend the patching mechanism to allow adding content to <Product>. 2015-02-13 12:09:40 +01:00
Stephen Kelly ac26d4b343 Split cmAlgorithms into a separate header file. 2015-02-10 22:14:18 +01:00
Brad King cbffbf7437 Merge topic 'cmStandardIncludes-cleanup'
af65da0a cmStandardIncludes: Remove list include.
e848cc50 cmStandardIncludes: Remove deque include.
5fea6898 cmStandardIncludes: Remove some VS6 workarounds.
2015-02-10 12:56:08 -05:00
Brad King e2619c13f7 Merge topic 'use-algorithms'
d8639733 cmSystemTools: Remove unnecessary comparison.
803317aa cmSystemTools: Early return if size makes later comparison false.
11093a03 Replace temporary bool by inlining warning condition.
6cd2ee95 Replace loop with member algorithm.
94e993a0 cmComputeLinkDepends: Remove temporary iterator copy.
69dbe51b Replace loop with algorithm.
683fafea Replace a loop with std::transform.
63f584b6 Replace while loop with member insert.
74c4d9d2 Take a size check outside of an inner loop.
71d47115 Use insert member instead of back_inserter.
39622c99 Convert while loop to member insert.
a7fcc148 Convert loop to algorithm.
d46c4f07 Extract a prefix variable from loop.
d59913f0 Take computation out of loop.
3f3db744 cmMakefile: Remove ExpandSourceListArguments.
bd990c80 Remove use of ExpandSourceListArguments.
...
2015-02-10 09:37:57 -05:00
Brad King 0f870234fe Merge branch 'backport-no-global-setlocale' into no-global-setlocale
Resolve conflict in Source/CMakeLists.txt by taking both changes.
2015-02-06 13:35:21 -05:00
Brad King 87be2e1427 Do not call setlocale() globally in CMake applications (#15377)
Revert the changes made by commit v3.1.0-rc1~406^2~1 (Encoding: Add
setlocale() to applications, 2014-05-30) and commit v3.1.0-rc1~406^2
(Encoding: Change to only set LC_CTYPE, 2014-06-11), and other setlocale
calls added later in their spirit.  CMake has not been taught how to
deal with non-C locales everywhere.  We do not define any functionality
for character conversions for non-ASCII strings.  Another solution will
be needed to address the original problem motivating addition of
setlocale() calls.
2015-02-06 13:32:26 -05:00
Stephen Kelly af65da0aa9 cmStandardIncludes: Remove list include.
Include it only where used.
2015-02-06 19:04:53 +01:00
Stephen Kelly 421eadb45b Remove use of cmsys_stl.
It is not needed.
2015-02-05 20:44:25 +01:00
Bill Hoffman 4dc5acee63 CPack: Fix packaging of source tarballs with symbolic links
When staging the package installation, if the first file in a directory
happens to be a symbolic link, make sure we create the directory before
trying to create the link.
2015-01-30 10:08:12 -05:00
Bill Hoffman 81221b80e2 CPack: Fix packaging of source tarballs with symbolic links
When staging the package installation, if the first file in a directory
happens to be a symbolic link, make sure we create the directory before
trying to create the link.
2015-01-30 10:06:09 -05:00
Stephen Kelly f09fde2d21 Replace 'foo.length() > 0' pattern with !foo.empty(). 2015-01-18 14:25:25 +01:00
Stephen Kelly 930bd47816 Replace 'foo.size() == 0' pattern with foo.empty(). 2015-01-18 14:25:24 +01:00
Stephen Kelly d92887efab Replace 'foo.size() > 0' pattern with !foo.empty(). 2015-01-18 14:25:24 +01:00
Brad King 0fcdc57b7b Merge branch 'cpack-PackageMaker-OSX-10.10' into release 2015-01-15 09:59:12 -05:00
Brad King 4ecc392b42 Merge topic 'delete-algorithm'
65b81da4 cmVariableWatch: Use the cmDeleteAll algorithm with for_each.
30d2de9a cmGeneratorExpressionEvaluator: Replace own algorithm with cmDeleteAll.
4a6e795b Use the cmDeleteAll algorithm instead of trivial raw loops.
abb4a678 Add a generic algorithm for deleting items in a container.
2015-01-15 09:54:04 -05:00
Brad King fa636e19ce Merge topic 'cpack-PackageMaker-OSX-10.10'
70abf6e7 CPack: Fix PackageMaker internal versioning for OS X 10.10
2015-01-15 09:53:56 -05:00
Domen Vrankar ea916230ef CPack: Avoid crash on invalid CMake generator name (#15308)
Case where CPACK_CMAKE_GENERATOR value is non existent or
or contains multiple words that were not quoted was not
handled and produced a segmentation fault.
2015-01-14 08:38:23 -05:00
Stephen Kelly 4a6e795b0c Use the cmDeleteAll algorithm instead of trivial raw loops. 2015-01-13 23:00:17 +01:00
Calin Cascaval 70abf6e780 CPack: Fix PackageMaker internal versioning for OS X 10.10
Avoid using a floating point value to represent the version, since
"10.10" would be treated as "10.1".
2015-01-12 09:12:50 -05:00
Brad King b5a467262b Merge topic 'drop-ancient-workarounds'
0f7bdd61 Remove VS 6 special case.
5e92c826 Remove some obsolete stuff.
15e42bb2 cmStandardIncludes: Remove obsolete cmOStringStream.
931e055d Port all cmOStringStream to std::ostringstream.
f194a009 Remove unused cmIStringStream class.
3ec1bb15 cmStandardIncludes: Remove std namespace hack.
bb3bce70 cmStandardIncludes: Remove ANSI_FOR_SCOPE hack.
28fa4923 cmStandardIncludes: Remove iostreams workaround for obsolete Compaq compiler.
837a8a63 cmStandardIncludes: Drop Comeau-related workaround.
4030ddfd Remove Borland-related undef.
17d6a6fd cmStandardIncludes: Remove comment about Borland.
26fb5011 Drop SGI as a CMake host compiler.
2015-01-12 08:57:39 -05:00
Stephen Kelly 931e055d8c Port all cmOStringStream to std::ostringstream.
All compilers hosting CMake support the std class.
2015-01-11 17:06:03 +01:00
Stephen Kelly 6162c9194b Use two-iterator std::set::insert where appropriate. 2015-01-11 17:00:55 +01:00
Domen Vrankar f89e41c3e7 CPack invalid CMake generator
Case where CPACK_CMAKE_GENERATOR value is non existent or
or contains multiple words that were not quoted was not
handled and produced a segmentation fault.
2015-01-02 10:46:08 +01:00
Calin Cascaval 42ed76bc99 cpack: Fix installed size computation with PackageMaker generator
Use the CPACK_PACKAGING_INSTALL_PREFIX when looking for files in a
component.  Otherwise we report all packages having size 1.
2014-12-22 09:17:12 -05:00
Stephen Kelly 5eb4d7590e Remove some unneeded c_str calls. 2014-11-23 11:09:54 +01:00
André Klitzing bd3fbf36b4 CPack: Add support for code signing of bundles on MacOS 2014-10-28 12:20:05 -06:00
Brad King 210230e216 Merge topic 'remove-borland-build'
2db55ffa Remove borland workarounds.
2014-10-21 15:08:03 -04:00
Stephen Kelly 2db55ffa56 Remove borland workarounds.
CMake 3.0 is the last release to require to be able to build with
Borland.
2014-10-15 23:16:44 +02:00
Nils Gladitz cc1139cc30 strings: Remove redundant calls to std::string::c_str()
Replacements were detected and performed by the clang tool
remove-cstr-calls on a linux build.
2014-10-15 14:54:05 +02:00
Brad King 1ed0379f79 Merge topic 'cpack-ifw-updates'
ed9684a2 CPackIFW: Added support for multiple repositories
f9f74874 CPackIFW: Search algorithm update
2014-10-07 14:12:16 -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 f9f748745c CPackIFW: Search algorithm update
Variables like CPACK_IFW_*_EXECUTABLE_FOUND now not needed
2014-10-04 22:55:43 +04:00
Nils Gladitz fb009f00ae CPackWiX: Work around RelativePath() returning an empty string for the root 2014-10-03 15:10:51 +02:00
Nils Gladitz d48c781fc2 CPackWiX: Extend CPACK_WIX_ACL to support directories 2014-09-27 17:34:39 +02:00
Nils Gladitz e785fab54b CPackWiX: Teach WiX installers to remember the install location for upgrades 2014-09-19 22:42:36 +02: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
Brad King 401d82b3db Merge topic 'wix-acl'
975dc871 Help: Add notes for topic 'wix-acl'
12418f5c CPackWIX: Implement CPACK_WIX_ACL (Access Control List) property
2014-08-11 09:54:19 -04:00
Brad King 2fdd5d88a1 Merge topic 'cpack-ifw-generator'
ebe8d51b CPackIFW: Refactor and revise this generator
82382479 Doxygen: Add STRIP_FROM_PATH variable to doxyfile.in
3040ab8f Doxygen: Add CPack/IFW subdir to doxyfile.in INPUT section
2014-08-11 09:54:10 -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
Nils Gladitz 12418f5c26 CPackWIX: Implement CPACK_WIX_ACL (Access Control List) property 2014-08-09 15:30:21 +02:00
Bill Hoffman 2cac483e64 Fix used value warning.
packageFileName no longer has only one value in this function.  Move the
declaration into the loop and remove its initial and unused asignment.
2014-08-05 10:22:36 -04:00
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