Commit Graph

354 Commits

Author SHA1 Message Date
Brad King a0074b64fc Merge topic 'deb-rpm-all_components_in_one'
e7e2694 CPack: Fix RPM/Deb package names to not include "ALL_COMPONENTS_IN_ONE"
2012-11-06 14:13:44 -05:00
Clinton Stimpson e7e2694823 CPack: Fix RPM/Deb package names to not include "ALL_COMPONENTS_IN_ONE" 2012-11-06 11:50:07 -05:00
David Cole e2006ce5a9 Merge topic 'packagemaker-component-postflight'
4374441 PackageMaker: Enable postflight script in component mode (#12375)
2012-10-31 16:35:05 -04:00
David Cole bd394d42e6 Merge topic 'cpack-rez-error'
14561e3 Fix for possible Rez errors when creating dmg.
2012-10-31 16:33:56 -04:00
David Cole 72632f885c Merge topic 'fix-9629-add-unicode-nsis-reg-key'
668dda0 CPack: Add automatic detection of the Unicode makensis (#9629)
2012-10-31 16:33:27 -04:00
Clinton Stimpson 4374441f3f PackageMaker: Enable postflight script in component mode (#12375)
Previously, setting CPACK_POSTFLIGHT_SCRIPT had no effect in
component mode, when CPACK_COMPONENTS_ALL was set.

In component mode, a .mpkg is created that contains multiple .pkg's.
Because postflight scripts only work in a .pkg, add another .pkg to the
.mpkg and put the postflight script in that.
This is the same approach taken by the PackageMaker GUI when adding
a postflight script to a metapackage.
2012-10-31 16:23:48 -04:00
Clinton Stimpson 14561e3d35 Fix for possible Rez errors when creating dmg.
Rez appears to have a limit on the length of lines it processes.
Break up long lines from a license file to avoid the error.
2012-10-22 23:06:16 -06:00
David Cole 7ff422fb8e Merge topic 'CPack-ArchiveGen-andDESTIR_ON'
ddec053 Make CPACK_SET_DESTDIR work with archive generator + component-based packaging
2012-10-17 16:44:06 -04:00
David Cole 5ca2c49173 Merge topic 'fix-some-CPackDoc-typos'
2aad678 Document CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY and fix some typo.
2012-10-17 16:43:53 -04:00
David Cole 668dda034f CPack: Add automatic detection of the Unicode makensis (#9629) 2012-10-17 13:45:18 -04:00
Eric NOULARD ddec053321 Make CPACK_SET_DESTDIR work with archive generator + component-based packaging
Fix bug #13004. The patch is from Stanislaw Szymczyk.
2012-10-14 18:50:57 +02:00
Eric NOULARD 2aad678f23 Document CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY and fix some typo. 2012-10-14 14:58:19 +02:00
Eric NOULARD 561b4baead CPACK_XX_ON_ABSOLUTE_INSTALL_DESTINATION is now properly checked for ON/OFF
This fixes bug #0013490
2012-10-14 14:36:14 +02:00
Eric NOULARD d593cef58f Enhance DESTDIR documentation. Fixes #0012374. 2012-08-14 20:15:22 +02:00
Kitware Robot 7bbaa4283d Remove trailing whitespace from most CMake and C/C++ code
Our Git commit hooks disallow modification or addition of lines with
trailing whitespace.  Wipe out all remnants of trailing whitespace
everywhere except third-party code.

Run the following shell code:

git ls-files -z -- \
 bootstrap doxygen.config '*.readme' \
 '*.c' '*.cmake' '*.cpp' '*.cxx' \
 '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
 '*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
egrep -z -v '^(Modules/CPack\..*\.in)' |
xargs -0 sed -i 's/ \+$//'
2012-08-13 14:18:39 -04:00
David Cole c1bbdbff57 Merge topic 'DoNotInvokeCPackAtCMakeTime-forCMakeTests'
b47cffa CPack: Use bin subdir when looking for dpkg and rpmbuild
a8c659c Find dpkg and rpmbuild in usual Fink and MacPort paths
848f220 Do not run cpack at CMake time it is not available.
2012-07-24 17:03:37 -04:00
David Cole b47cffa9b8 CPack: Use bin subdir when looking for dpkg and rpmbuild 2012-07-20 11:53:56 -04:00
David Cole b636728e39 Merge topic 'CPack-honorCPACK_XXX-valuesInScriptFile'
05a8630 Do not provide defaul value for CPACK_PACKAGE_DIRECTORY if found in config.
2012-07-09 14:23:28 -04:00
Eric NOULARD 05a8630ee6 Do not provide defaul value for CPACK_PACKAGE_DIRECTORY if found in config.
This fixes bug #0012906.
2012-07-04 23:08:32 +02:00
Eric NOULARD 926d634d3e CPack fix regression between 2.8.7 and 2.8.8 when running cpack with no arg.
In 2.8.7 running cpack with no arguments would run the packaging iff
a CPackConfig.cmake file is found whereas
In 2.8.8 it displays the help.
This commit restore the 2.8.7.
We should add a test for this but this is not included in this commit.
2012-07-03 15:28:07 +02:00
Eric NOULARD a8c659cd6e Find dpkg and rpmbuild in usual Fink and MacPort paths 2012-07-02 19:49:07 +02:00
Fraser Hutchison cfc11f9bff CPack: Fixed incorrect error log for CPACK_NSIS_MENU_LINKS.
This was a pull request: https://github.com/Kitware/CMake/pull/5

Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
2012-05-28 17:15:29 +02:00
David Cole 3e23da0688 Merge topic 'CPack-activateRPM-DEB-onMacOS'
801ea70 Calm down Borland compiler warning about "always true"
2a34b57 CPack allow RPM and DEB generator to be used on OSX.
2012-05-24 13:38:13 -04:00
David Cole db1857e142 Merge topic 'CPackNSIS-warnDESTDIRandABSOLUTE'
4986d52 Use CPACK_xxx and CMAKE_xxx in a consistent way.
f90223c Fix KWStyle warning
47f0dbd CPack add necessary check to detect/warns/error on ABSOLUTE DESTINATION
6ba055b CPack add easy possibility to warn about CPACK_SET_DESTDIR
2012-05-24 13:38:03 -04:00
Eric NOULARD 801ea70c08 Calm down Borland compiler warning about "always true" 2012-05-21 14:39:18 +02:00
Eric NOULARD 2a34b57938 CPack allow RPM and DEB generator to be used on OSX.
More generally add the check for possible generator "activation" at
runtime depending on a generator specific check.
The dynamic behavior is currently implemented only for MacOS
and should be fully backward compatible for other system.

Inspired-By Tom Hughes <tomtheengineer@gmail.com>
2012-05-20 22:04:32 +02:00
Eric NOULARD 4986d525af Use CPACK_xxx and CMAKE_xxx in a consistent way.
CMAKE_xxx vars are now used in the CMake-generated cmake_install.cmake
script while CPACK_xxx equivalent vars are used from within CPack.
CPack is responsible for getting/forwarding definitions of
CPACK_xxxx var corresponding to CMAKE_xxxx when invoking
CMake-generated install scripts.
As a consequence:
CMAKE_ABSOLUTE_DESTINATION_FILES
CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
may be used from outside CPack as well.
e.g.
cmake -DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=1 -P cmake_install.cmake
works as expected.
2012-05-20 17:28:54 +02:00
Eric NOULARD 47f0dbd70b CPack add necessary check to detect/warns/error on ABSOLUTE DESTINATION
The [usually] wrong usage of absolute DESTINATION in INSTALL rules
keeps popping-up on the ML. We shall have some way to:
  1) easily detect it.
  2) forbids this for some CPack generator like NSIS
In fact it should certainly be forbidden for *any* generators
when used on Windows but we may implements that on top of the current
patch.
The patch ask the task to the generated cmake_install.cmake scripts.
Those scripts are a little bit more complicated with that but
iff there are absolute DESTINATION. This cost nothing if relative
DESTINATION are used.
Two new vars are introduced (and documented to handle that):
CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
and
CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
2012-05-14 23:29:42 +02:00
Eric NOULARD 6ba055bacd CPack add easy possibility to warn about CPACK_SET_DESTDIR
CPackNSIS will only warn but sooner or later it should error out
2012-05-14 20:26:15 +02:00
Eric NOULARD 3d10f65e39 CPack - preserve timestamp for CPACK_INSTALLED_DIRECTORIES. fixes: #0013193 2012-05-09 18:02:13 +02:00
Eric NOULARD abc9b32375 Use fakeroot for control.tar.gz as well 2012-04-17 09:22:07 +02:00
Brad King 0e339f7054 Merge topic 'CPack-fixCPACK_MONOLITHIC_INSTALL-handling'
805c1b2 Handle CPACK_MONOLITHIC_INSTALL in some rare use cases.
2012-03-19 14:42:00 -04:00
Brad King 1df15c68d5 Merge topic 'CPack-fixSTGZpermission-bug13046'
4576f40 CPack STGZ put execute permission on all packages files (component case)
2012-03-19 14:41:56 -04:00
Brad King bfc8d137c5 Merge topic 'fix-12621-xcode43'
0f4dfa6 CPack: Use real path to PackageMaker to find its version file (#12621)
4693cf8 Xcode: Detect new default locations of Xcode 4.3 bits and pieces (#12621)
2012-03-19 14:41:43 -04:00
Eric NOULARD 805c1b21d6 Handle CPACK_MONOLITHIC_INSTALL in some rare use cases.
For example, when CPACK_<GEN>_COMPONENT_INSTALL and
CPACK_MONOLITHIC_INSTALL are both set. Previously, this
combination of variable settings produced an error without
any explanation. Now, in this case CPACK_MONOLITHIC_INSTALL wins
without trouble.
This is useful for when e.g. CPACK_ARCHIVE_COMPONENT_INSTALL is
globally on and one wants MONOLITHIC install for STGZ (but not
other generators). The same behavior may be obtained by re-setting
CPACK_ARCHIVE_COMPONENT_INSTALL to 0 but in any case the
'both set' case should have been handled without error.
2012-03-18 20:21:35 +01:00
Eric NOULARD 4576f40ee0 CPack STGZ put execute permission on all packages files (component case) 2012-03-18 17:52:56 +01:00
David Cole 0f4dfa6960 CPack: Use real path to PackageMaker to find its version file (#12621)
On machines where a usr/bin/packagemaker symlink is found, we were
unable to find the version.plist file relative to the symlink.
Resolve the symlink first, so we can find it relative to the
real PackageMaker.
2012-03-13 14:01:19 -04:00
David Cole 05a76d53c0 CPack: Fix retry logic when calls to hdiutil fail
The long-standing sporadic failures of CPack tests on the Mac dashboards
are caused by an occasional problem running hdiutil. To compensate for
this, a retry loop was added in the code in a previous commit: a9fa71a4
... but the logic for breaking out of the retry loop was flawed, breaking
out of the loop (and not retrying) when the hdiutil command returns an
error instead of when it returns success.

This commit fixes the flawed logic, bumps up the number of retries from
4 to 10, and adds a half-second delay in between retries.

The delay is specifically added in case a virus checker or spotlight indexer
is temporarily causing the hdiutil failure by hanging onto a newly created
file longer than hdiutil expects it to.

As with all sporadically occurring issues, we'll never know if this is
really fixed all the way. But I'll be happy even if we can only get it to
happen just a bit less often.
2012-03-09 11:39:01 -05:00
David Cole 4693cf8492 Xcode: Detect new default locations of Xcode 4.3 bits and pieces (#12621)
Xcode 4.3 installs into "/Applications" by default, from the Mac App Store.

Also, the paths to the available SDKs changed: they are now within the
Xcode.app bundle.

PackageMaker is installed as a separate program, and may be installed
anywhere. It is not installed with Xcode 4.3 by default anymore.
Download the "Auxiliary Tools for Xcode" to get PackageMaker.
Put PackageMaker inside the Xcode.app bundle, in its nested Applications
folder, or put it alongside Xcode in "/Applications" and CMake will find
it.

Update references to "find" paths: add new possible locations for finding
Xcode.app and PackageMaker.app. Prefer the most recent version's locations
first, but keep the old locations as fallback search paths, too.

Thanks to all the contributors who provided and tested out various patches
for fixing this issue. Especially, but by no means limited to:
Francisco Requena Espí, Jamie Kirkpatrick and drfrogsplat.
2012-03-08 22:43:19 -05:00
Eric NOULARD b0cb29bb06 Fix some typos in CPACK_SET_DESTDIR doc 2012-03-06 21:23:11 +01:00
David Cole af87e8abb0 Merge topic 'dragndrop-sla'
5663e43 DragNDrop: Fix problem with relocated files in Xcode 4.3
2012-03-02 11:48:55 -05:00
Clinton Stimpson 5663e436ab DragNDrop: Fix problem with relocated files in Xcode 4.3
Remove dependency on /Developer/Headers/FlatCarbon when creating SLAs for DMG images.
Instead, of adding those .r files on the command line, include the necessary .r files
from the generated .r file.
2012-02-29 08:29:46 -07:00
Eric NOULARD 94a269304e Review and update CPack variable documentation.
This concerns all variables common to all CPack generators.
Variables mainly used and/or set in CPack.cmake are documented
therein. C++ built-in variables are documented in
cmCPackDocumentVariables.cxx.
2012-02-25 23:07:07 +01:00
Eric NOULARD a6bce55aef Dynamically add documentation section specified in documented script.
Modify CPackDeb and CPackRPM as an example
2012-02-18 22:07:39 +01:00
David Cole 4f9c114dfa Merge topic 'ImproveCPackDoc-reloaded'
d4b77eb Avoid discovering system infos for documentation. Adding some path is enough.
9002f73 Fix non existent std::string::clear on VS6
02ccb32 Create getDocumentedModulesListInDir which may be used in other context.
24fbc28 Add missing section markup for CPackComponent
bafd8a9 Example of builtin variable documentation (i.e. only used in C++ source code).
543f1ad Make the load of script documentation more efficient and dynamic.
cdbd1a9 Fix another compiler warning due to a typo
52c53de Really avoid compiler warning about unused vars
37f90ed Calm down compiler warning about unused var
7c82b7f Fix potential bad memory access, thanks to Eike
62b589b Suppress unused var, beautify code, avoid 1 extra newline.
751713f Update bash completion file in order to handle new CPack doc options.
1629615 CPack Documentation extraction from CMake script begins to work
83e34dd Implement simple CMake script comment markup language.
c6a0169 CPack begin the implementation of --help-command* and --help-variables*
2012-02-14 16:14:56 -05:00
David Cole 4f81c709d1 Merge topic 'CPackNSIS-fixIgnore-INCLUDE_TOPLEVEL'
6a74eb1 CPackNSIS fix #0012935 switch from LOG_WARNING to avoid final error.
2012-02-14 16:14:45 -05:00
Eric NOULARD d4b77eba17 Avoid discovering system infos for documentation. Adding some path is enough. 2012-02-14 16:05:24 -05:00
Eric NOULARD 02ccb3291b Create getDocumentedModulesListInDir which may be used in other context.
This should makes it easier to use the same "documented module"
techniques for CTest, CMake or user module.
2012-02-14 16:05:23 -05:00
Eric NOULARD bafd8a9e79 Example of builtin variable documentation (i.e. only used in C++ source code). 2012-02-14 16:05:23 -05:00
Eric NOULARD 543f1adfa4 Make the load of script documentation more efficient and dynamic.
CPack help will be searched in any CPack*.cmake file located
near to CPack.cmake file. The script files is parsed iff
the first line begin with ##section. Moreover the documentation
section name is specified on the remaining part of the line
minus the space immediately following ##section.
2012-02-14 16:05:23 -05:00