summaryrefslogtreecommitdiffstats
path: root/Source/CPack/cpack.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmake: Progress functions use `std::string` paramVitaly Stakhovsky2019-02-111-1/+1
|
* Use `std::function` for callbacksRegina Pfeifer2019-01-291-6/+2
|
* cmMakefile::ReadListFile() accepts std::string argumentVitaly Stakhovsky2019-01-171-3/+3
| | | | Same for cmMakefile::ReadDependentFile(); some cleanup
* Properties: Add CMAKE_ROLE global propertyKyle Edwards2019-01-171-1/+2
| | | | | This property allows scripts to determine whether they're in project mode, script mode, find-package mode, CTest, or CPack.
* Merge topic 'cpack-status-callback'Brad King2018-12-101-0/+10
|\ | | | | | | | | | | | | 4a3ae1710e CPack/External: Fix status messages of staging scripts Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2696
| * CPack/External: Fix status messages of staging scriptsNils Gladitz2018-12-071-0/+10
| | | | | | | | | | | | | | | | Set progress callback on cmake instance used by CPack. The progress callback is used to output STATUS messages which are otherwise missing when issued from e.g. CPack External staging scripts. Fixes: #18567
* | cpack: When given an unknown generator print out all valid generatorsRobert Maynard2018-11-091-1/+14
| | | | | | | | This makes cpack behavior match cmake when passed an invalid generator
* | cpack: Better error message when generator doesn't exist.Robert Maynard2018-11-081-2/+3
|/ | | | | | Currently the CPack error message when passed an invalid generator name reads like the generator failed to work, rather than the name was invalid.
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-011-7/+9
| | | | | | | | | | | | Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 6.0. * 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.
* Help: Improve accuracy, readability and cross-referencing of cpack docsCraig Scott2018-04-271-9/+11
| | | | | | This is primarily a cleanup of the cpack(1) page. The cpack.cxx file and CPack module were also updated to make the docs relating to the generator specification and option names consistent in all three places.
* CPack: Fix crash on invalid generator nameBrad King2018-04-101-4/+4
| | | | | | | | In commit v3.11.0-rc1~68^2 (CPack: accept --trace and --trace-expand, 2017-12-09) a nullptr dereference was added that occurs when `cpack -G NotAGenerator` is invoked. Add the needed condition. Fixes: #17900
* Reduce raw string pointers usage.Pavel Solodovnikov2018-01-311-1/+1
| | | | | | | | | | * Change some functions to take `std::string` instead of `const char*` in the following classes: `cmMakeFile`, `cmake`, `cmCoreTryCompile`, `cmSystemTools`, `cmState`, `cmLocalGenerator` and a few others. * Greatly reduce using of `const char*` overloads for `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`. * Remove many redundant `c_str()` conversions throughout the code.
* Reduce allocation of temporary values on heap.Pavel Solodovnikov2018-01-261-1/+1
| | | | | - Use `std::move` while inserting temporary results into vectors. - Change `push_back` to `emplace_back` where appropriate.
* Merge topic 'cpack_trace'Brad King2018-01-241-0/+20
|\ | | | | | | | | | | | | 93bc5848 CPack: accept --trace and --trace-expand Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1583
| * CPack: accept --trace and --trace-expandIsaiah Norton2018-01-231-0/+20
| |
* | Extend libuv file translate mode workaround to all executablesBrad King2018-01-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since libuv commit v1.14.1~7 (win: add uv__once_init() calls, 2017-08-30) the libuv initialization of the file translate mode may take place even if we do not use a uv loop. This change was included in our libuv update commit f4a26c748b (libuv 2018-01-19). Therefore use of libuv even through `cmSystemTools::GetRealPath` in any executable may trigger its file translate mode setting. Factor out the logic added to `cmake.exe` by commit v3.9.0-rc4~10^2 (cmake: Fix default file translate mode when using libuv, 2017-06-13) and re-use to initialize all executables. Issue: #16962
* | cpack: Enable MSVC debug hook earlierBrad King2018-01-231-2/+1
|/ | | | | All other executables do this just after console and command-line encoding conversion. Do the same in CPack.
* cpack: Fix compilation on Cygwin after auto_ptr removalBrad King2017-09-271-1/+1
| | | | | Fix a compilation error on Cygwin introduced by commit f0489856e3 (Retire std::auto_ptr and its macro CM_AUTO_PTR, 2017-09-21).
* Retire std::auto_ptr and its macro CM_AUTO_PTRMatthias Maennich2017-09-251-27/+25
| | | | Signed-off-by: Matthias Maennich <matthias@maennich.net>
* CPack: Add missing check for CPACK_INSTALL_SCRIPT variableAlex Turbov2017-09-201-1/+2
| | | | | | | Also add a test case that uses CPACK_INSTALL_SCRIPT. Co-Author: Domen Vrankar <domen.vrankar@gmail.com> Fixes: #15005
* Merge topic 'ranged-for'Brad King2017-09-191-12/+6
|\ | | | | | | | | | | | | f43baf69 Meta: modernize old-fashioned loops to range-based `for` (CPack). Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1274
| * Meta: modernize old-fashioned loops to range-based `for` (CPack).Pavel Solodovnikov2017-09-191-12/+6
| | | | | | | | | | | | Changes done via `clang-tidy` with some manual fine-tuning for the variable naming and `auto` type deduction where appropriate.
* | Meta: replace empty-string assignments with `clear()`.Pavel Solodovnikov2017-09-151-1/+1
|/
* IWYU: Mark cmConfigure.h with pragma: keepDaniel Pfeifer2017-08-261-1/+0
| | | | Also remove `#include "cmConfigure.h"` from most source files.
* Use C++11 nullptrDaniel Pfeifer2017-08-241-6/+6
|
* cmState: remove RemoveUnscriptableCommandsDaniel Pfeifer2017-05-081-2/+0
|
* cmake: initialize with Role that controls which commands to registerDaniel Pfeifer2017-05-081-1/+1
|
* Use quotes for non-system includesDaniel Pfeifer2017-04-111-4/+4
| | | | | | | | | | | | | 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'
* Windows: Use UTF-8 for pipes in CMake, CTest and CPackDāvis Mosāns2016-11-291-0/+2
| | | | | Applications which process CMake output will need to decode it as UTF-8 instead of console's codepage.
* iwyu: Fix more findingsDaniel Pfeifer2016-11-281-14/+15
|
* Enable Unicode output to Windows consolesDāvis Mosāns2016-10-261-0/+8
| | | | | | Use KWSys ConsoleBuf to replace the `streambuf` on `std::cout` and `std::cerr` so that process output can be encoded correctly for display in a Windows console.
* Remove cmObject.h and cmTypeMacro.hDaniel Pfeifer2016-10-241-1/+0
|
* cmListFileCache: Remove cmState header includeStephen Kelly2016-10-191-0/+1
| | | | | Include it in dependents which have previously relied on it transitively.
* cmState: Port dependents to new cmStateTypes headerStephen Kelly2016-10-191-1/+1
|
* Do not define cout/cerr preprocessor symbolsBrad King2016-10-041-2/+0
| | | | | | Apply the change from commit bd3d0eaf (cmCTest: don't redefine cout and cerr, 2016-09-01) to the rest of ctest and cpack. These definitions are no longer needed because our conventions are well established.
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* CPack: include what you useDaniel Pfeifer2016-09-061-6/+14
|
* Make sure unnused parameters are /*named*/Daniel Pfeifer2016-08-161-1/+1
|
* Avoid using KWSys auto_ptr by adopting it ourselvesBrad King2016-06-291-1/+1
| | | | | | | | | | | | Replace use of cmsys::auto_ptr with a CM_AUTO_PTR macro that maps to our own implementation adopted from the KWSys auto_ptr implementation. Later we may be able to map CM_AUTO_PTR to std::auto_ptr on compilers that do not warn about it. Automate the client site conversions: git grep -l auto_ptr -- Source/ | grep -v Source/kwsys/ | xargs sed -i \ 's|cmsys::auto_ptr|CM_AUTO_PTR|;s|cmsys/auto_ptr.hxx|cm_auto_ptr.hxx|'
* use CM_NULLPTRDaniel Pfeifer2016-06-281-6/+6
|
* Simplify boolean expressionsDaniel Pfeifer2016-06-021-5/+1
| | | | | | Use clang-tidy's readability-simplify-boolean-expr checker. After applying the fix-its, revise all changes *very* carefully. Be aware of false positives and invalid changes.
* Remove redundant c_str() calls.Daniel Pfeifer2016-05-261-2/+2
| | | | | Run clang-tidy's readability-redundant-string-cstr checker. Ignore findings in kwsys.
* Improve string find: prefer character overloads.Daniel Pfeifer2016-05-241-1/+1
| | | | | Apply fix-its from clang-tidy's performance-faster-string-find checker. Ignore findings in kwsys.
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-213/+165
| | | | | | | | | | | | | 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.
* Remove `//------...` horizontal separator commentsBrad King2016-05-091-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | Modern editors provide plenty of ways to visually separate functions. Drop the explicit comments that previously served this purpose. Use the following command to automate the change: $ git ls-files -z -- \ "*.c" "*.cc" "*.cpp" "*.cxx" "*.h" "*.hh" "*.hpp" "*.hxx" | egrep -z -v "^Source/cmCommandArgumentLexer\." | egrep -z -v "^Source/cmCommandArgumentParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmDependsJavaLexer\." | egrep -z -v "^Source/cmDependsJavaParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmExprLexer\." | egrep -z -v "^Source/cmExprParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmFortranLexer\." | egrep -z -v "^Source/cmFortranParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmListFileLexer\." | egrep -z -v "^Source/cm_sha2" | egrep -z -v "^Source/(kwsys|CursesDialog/form)/" | egrep -z -v "^Utilities/(KW|cm).*/" | xargs -0 sed -i '/^\(\/\/---*\|\/\*---*\*\/\)$/ {d;}' This avoids modifying third-party sources and generated sources.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-291-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sort include directives within each block (separated by a blank line) in lexicographic order (except to prioritize `sys/types.h` first). First run `clang-format` with the config file: --- SortIncludes: false ... Commit the result temporarily. Then run `clang-format` again with: --- SortIncludes: true IncludeCategories: - Regex: 'sys/types.h' Priority: -1 ... Commit the result temporarily. Start a new branch and cherry-pick the second commit. Manually resolve conflicts to preserve indentation of re-ordered includes. This cleans up the include ordering without changing any other style. Use the following command to run `clang-format`: $ git ls-files -z -- \ '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' | egrep -z -v '(Lexer|Parser|ParserHelper)\.' | egrep -z -v '^Source/cm_sha2' | egrep -z -v '^Source/(kwsys|CursesDialog/form)/' | egrep -z -v '^Utilities/(KW|cm).*/' | egrep -z -v '^Tests/Module/GenerateExportHeader' | egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' | xargs -0 clang-format -i This selects source files that do not come from a third-party. Inspired-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
* cmState: Initialize default definitions immediately.Stephen Kelly2015-10-131-0/+1
| | | | Don't leave this as cmMakefile responsibility.
* Remove unused cmLocalGenerator include.Stephen Kelly2015-10-051-1/+0
|
* CPack: Remove needless cmLocalGenerator creation.Stephen Kelly2015-10-051-2/+0
|
* cmLocalGenerator: Create from already-constructed cmMakefile.Stephen Kelly2015-08-281-4/+5
| | | | Don't manage the lifetime of the cmMakefile with cmLocalGenerator.