summaryrefslogtreecommitdiffstats
path: root/Source/CPack/cmCPackGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
...
* cmSystemTools: Teach RunSingleCommand to separate stdout and stderrBrad King2015-04-201-2/+3
| | | | | | | 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.
* cmMakefile: Remove always-null first parameter to ReadListFile.Stephen Kelly2015-04-181-4/+4
|
* CPack: Read the config listfile in the normal way.Stephen Kelly2015-04-181-1/+1
| | | | | | | | | | | | | 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.
* CPack: Fix single component packagingRaffi Enficiaud2015-04-161-2/+2
| | | | | | 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.
* CPack single component packagingDomen Vrankar2015-04-051-1/+4
| | | | | | | | 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.
* CPack: Fix make tool selection during preinstall (#15483)Brad King2015-03-311-15/+8
| | | | | | | | 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.
* cmake: Teach --build to honor CMAKE_VERBOSE_MAKEFILE for NinjaGregor Jasny2015-02-261-1/+1
| | | | | | | | | 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>
* cmStandardIncludes: Remove list include.Stephen Kelly2015-02-061-0/+1
| | | | Include it only where used.
* CPack: Fix packaging of source tarballs with symbolic linksBill Hoffman2015-01-301-0/+12
| | | | | | 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.
* Replace 'foo.length() > 0' pattern with !foo.empty().Stephen Kelly2015-01-181-2/+2
|
* Replace 'foo.size() > 0' pattern with !foo.empty().Stephen Kelly2015-01-181-1/+1
|
* Port all cmOStringStream to std::ostringstream.Stephen Kelly2015-01-111-1/+1
| | | | All compilers hosting CMake support the std class.
* CPack invalid CMake generatorDomen Vrankar2015-01-021-0/+8
| | | | | | 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.
* Remove some unneeded c_str calls.Stephen Kelly2014-11-231-6/+6
|
* strings: Remove redundant calls to std::string::c_str()Nils Gladitz2014-10-151-3/+3
| | | | | Replacements were detected and performed by the clang tool remove-cstr-calls on a linux build.
* Fix used value warning.Bill Hoffman2014-08-051-2/+1
| | | | | packageFileName no longer has only one value in this function. Move the declaration into the loop and remove its initial and unused asignment.
* cmCPackGenerator: Avoid crash on undefined CMAKE_MAKE_PROGRAMBrad King2014-06-251-2/+2
| | | | | | | | | | | 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>
* Add an "installed file" property scopeNils Gladitz2014-05-281-0/+8
| | | | | | | 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.
* Remove c_str calls when using stream APIs.Stephen Kelly2014-03-111-16/+16
| | | | | Use an ad-hoc clang tool for matching the calls which should be ported.
* Remove some c_str() calls.Stephen Kelly2014-03-111-38/+38
| | | | | | 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.
* stringapi: Prevent a NULL dereference in WiXBen Boeckel2014-03-081-1/+1
|
* stringapi: Miscellaneous char* parametersBen Boeckel2014-03-081-1/+1
|
* stringapi: Pass strings as install directories in CPackBen Boeckel2014-03-081-9/+9
|
* stringapi: Pass configuration names as stringsBen Boeckel2014-03-081-3/+4
|
* stringapi: Use strings in CPack generator parametersBen Boeckel2014-03-081-5/+7
| | | | | | 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.
* stringapi: Use strings for variable namesBen Boeckel2014-03-081-9/+5
| | | | Variable names are always generated by CMake and should never be NULL.
* CPackWIX: Allow Windows Installer property customizationNils Gladitz2014-03-011-0/+6
|
* Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.Clinton Stimpson2014-01-071-1/+2
| | | | | Also use SystemTools::Fopen() instead of fopen(). This is to eventually support utf-8 filenames.
* CPack: use IsOn instead of IsSet for boolean CPack optionsNils Gladitz2013-11-191-7/+7
| | | | | The CPackComponent macros specifically set CPack options to FALSE which CPack previously interpreted to mean "true".
* cmGlobalGenerator: Cleanup GenerateBuildCommand APIBrad King2013-11-181-8/+10
| | | | | | | | | 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.
* Refactor internal resource location APIs and initializationBrad King2013-11-121-32/+0
| | | | | | | | | | | | | | | | | | | | 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.
* Haiku: Remove use of B_COMMON_DIRECTORYAdrien Destugues2013-10-081-5/+6
| | | | | | | The common directory was removed in Haiku. Applications are now installed in the system directory. Applied-by: Rolf Eike Beer <eike@sf-mail.de>
* Add projectDir parameter to GenerateBuildCommandPetr Kmoch2013-04-121-1/+1
| | | | | | | | Extend the cmGlobalGenerator::GenerateBuildCommand virtual method signature with a "projectDir" parameter specifying the top of the project build tree for which the build command will be generated. Populate it from call sites in cmGlobalGenerator::Build where a fully-generated build tree should be available.
* Always use the auto_ptr from cmsys.Stephen Kelly2012-11-201-2/+1
| | | | | | This is for consistency throughout cmake. The cmsys version exists becaues uses of auto_ptr types as return types does not work with some implementations in ancient compilers.
* Merge topic 'CPack-BugFixesSet'Brad King2012-11-131-1/+0
|\ | | | | | | | | b6f7881 Remove seemingly bogus duplicate CPACK_PACKAGE_FILE_NAME call.
| * Remove seemingly bogus duplicate CPACK_PACKAGE_FILE_NAME call.Andreas Mohr2012-11-111-1/+0
| | | | | | | | Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
* | Correct string literal typo (have "(NULL)" like all other cases).Andreas Mohr2012-11-101-1/+1
|/ | | | Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
* Merge topic 'CPack-ArchiveGen-andDESTIR_ON'David Cole2012-10-171-1/+1
|\ | | | | | | | | ddec053 Make CPACK_SET_DESTDIR work with archive generator + component-based packaging
| * Make CPACK_SET_DESTDIR work with archive generator + component-based packagingEric NOULARD2012-10-141-1/+1
| | | | | | | | Fix bug #13004. The patch is from Stanislaw Szymczyk.
* | CPACK_XX_ON_ABSOLUTE_INSTALL_DESTINATION is now properly checked for ON/OFFEric NOULARD2012-10-141-2/+2
|/ | | | This fixes bug #0013490
* Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-131-42/+42
| | | | | | | | | | | | | | | | | 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/ \+$//'
* Merge topic 'CPackNSIS-warnDESTDIRandABSOLUTE'David Cole2012-05-241-1/+64
|\ | | | | | | | | | | | | | | 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
| * Use CPACK_xxx and CMAKE_xxx in a consistent way.Eric NOULARD2012-05-201-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * CPack add necessary check to detect/warns/error on ABSOLUTE DESTINATIONEric NOULARD2012-05-141-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * CPack add easy possibility to warn about CPACK_SET_DESTDIREric NOULARD2012-05-141-1/+31
| | | | | | | | CPackNSIS will only warn but sooner or later it should error out
* | CPack - preserve timestamp for CPACK_INSTALLED_DIRECTORIES. fixes: #0013193Eric NOULARD2012-05-091-2/+5
|/
* Handle CPACK_MONOLITHIC_INSTALL in some rare use cases.Eric NOULARD2012-03-181-0/+6
| | | | | | | | | | | | | 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.
* CPackArchive restore default behavior and provide new variable.Eric NOULARD2012-02-011-1/+1
| | | | | | | CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY should be set by the user in order to get the toplevel directory included in the archive whenever a componentized archive is requested. This solves bug #12129 and keeps fully backward compatible behavior.
* CPack Add top level directory in component install for Archive GeneratorsDaniel Nelson2012-01-131-0/+5
| | | | | This patch fixes bug #0012129 Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
* CPack: Do not recurse through directory symlinks (#12284)Johan Björk2011-09-061-0/+1
| | | | | | | | ...when building CPack archive-based packages (.tar.gz and similar) Rather, put the symlinks-to-directories into the archive as files, and expect/trust that the things the symlinks point to are also in the archive.