Commit Graph

654 Commits

Author SHA1 Message Date
Dāvis Mosāns
335a29cb07 Enable Unicode output to Windows consoles
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.
2016-10-26 17:02:37 +03:00
Daniel Pfeifer
15aa814b85 Remove cmObject.h and cmTypeMacro.h 2016-10-24 21:49:28 +02:00
Daniel Pfeifer
2214011f7b Make cmCPackGenerator not inherit from cmObject 2016-10-23 01:12:26 +02:00
Daniel Pfeifer
7f9a8d53aa Make cmCPackGeneratorFactory not inherit from cmObject 2016-10-23 01:01:34 +02:00
Daniel Pfeifer
2169b0faa4 Make cmCPackLog not inherit from cmObject 2016-10-23 00:48:09 +02:00
Brad King
a5f4463eed Merge topic 'clang-tidy'
effa6c83 fix more issues reported by clang-tidy
fb461cac silence selected clang-tidy violations
2016-10-20 08:51:09 -04:00
Daniel Pfeifer
effa6c8343 fix more issues reported by clang-tidy 2016-10-20 08:48:20 -04:00
Stephen Kelly
e6eecec761 cmListFileCache: Remove cmState header include
Include it in dependents which have previously relied on it
transitively.
2016-10-19 15:41:00 +02:00
Stephen Kelly
a91eaf3872 cmState: Port dependents to new cmStateTypes header 2016-10-19 15:40:59 +02:00
Domen Vrankar
bb8cf52156 CPack/RPM single debuginfo packaging
Generate a single debuginfo package even
if components packaging is enabled.

This makes issue #15668 resolution feature complete.

Closes: #15486
2016-10-07 09:19:04 -04:00
Domen Vrankar
758f58b4a1 CPack/RPM learned defining main component
Main component rpm package is generated
without component suffix in filename
and package name.
2016-10-07 09:19:04 -04:00
Brad King
5385817762 Do not define cout/cerr preprocessor symbols
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.
2016-10-04 09:34:37 -04:00
Brad King
86578eccf2 Simplify CMake per-source license notices
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.
2016-09-27 15:14:44 -04:00
Roman Wüger
06dea230ae CPack/NSIS: Add custom component install directory 2016-09-26 09:01:59 -04:00
Brad King
9dc5bd9611 Merge topic 'cpack.hash_computing'
1c63aa4d CPack: Add option to generate a checksum file next to each package file
4682b42b Tests: Add subtest support to RunCMake/CPack infrastructure
2016-09-20 08:40:52 -04:00
Konstantin Podsvirov
b807cd9b54 CPackIFW: Add 'cpack_ifw_add_package_resources' command 2016-09-19 13:17:59 -04:00
Petr Orlov
1c63aa4d43 CPack: Add option to generate a checksum file next to each package file
Add variable CPACK_PACKAGE_CHECKSUM to activate it.
2016-09-19 10:22:50 -04:00
Pierluigi Taddei
c2f0f41f63 CPackIFW: Add USER_INTERFACES option
Add to CPackIFW the capability of accepting a list of
USER_INTERFACES that are copied to the meta folder and
added to the component description.
2016-09-16 10:29:00 -04:00
Brad King
a3aaf0a181 Merge topic 'drop-cygwin-binary'
db915a37 Utilities/Release: Drop Cygwin binary
2016-09-12 09:31:39 -04:00
Brad King
db915a3785 Utilities/Release: Drop Cygwin binary
Cygwin has packaged CMake independently of upstream for a long time.
See its [cygport](https://github.com/cygwinports/cmake).
2016-09-12 09:22:50 -04:00
Michael Stürmer
c0bccc51df CPackWIX: Enabled patching of WIX <Feature> tags 2016-09-09 13:03:57 +02:00
Brad King
4469e986ee Merge topic 'include-what-you-use'
d47c7bf6 CPack: include what you use
2016-09-07 09:48:29 -04:00
Daniel Pfeifer
d47c7bf608 CPack: include what you use 2016-09-07 00:21:35 +02:00
Michael Stürmer
1bc33257d4 CPackWIX: Fix incomplete CPACK_WIX_SKIP_PROGRAM_FOLDER implementation
Commit 17bbf6af (CPackWIX: Implement new CPACK_WIX_SKIP_PROGRAM_FOLDER
feature) generates GUIDs for most but not all components
when the feature is active.

Generate the remaining GUIDs as well.

Co-Author: Nils Gladitz <nilsgladitz@gmail.com>
2016-09-06 17:44:48 +02:00
Brad King
cdc911dc53 Merge topic 'cpack-deb-long-filenames'
4ffdd564 CPack/DEB: Add option to select archive type
2016-09-06 08:50:58 -04:00
Brad King
19255a3516 Merge topic 'macro-parenthesis'
1a9de803 surround macro arguments with parentheses
2016-09-06 08:50:55 -04:00
Daniel Pfeifer
1a9de8035c surround macro arguments with parentheses 2016-09-05 22:09:49 +02:00
Domen Vrankar
4ffdd564eb CPack/DEB: Add option to select archive type
Add a `CPACK_DEBIAN_ARCHIVE_TYPE` option that can be used to select an
archive type that supports long file names.

Closes: #14332
2016-09-05 09:24:45 -04:00
Gregor Jasny
60dcaaea13 tidy: Fix readability-redundant-string-cstr issues 2016-09-04 16:55:05 +02:00
Daniel Pfeifer
3838a0d5fb make sure to include cmConfigure.h before cmStandardIncludes.h 2016-09-03 08:04:22 -04:00
Daniel Pfeifer
7f97a6c94b CPack: don't use else after return 2016-08-18 19:47:32 +02:00
Daniel Pfeifer
e7b842e189 Make sure unnused parameters are /*named*/ 2016-08-17 01:49:57 +02:00
Michael Stürmer
17bbf6af1e CPackWIX: Implement new CPACK_WIX_SKIP_PROGRAM_FOLDER feature
The new variable allows setting of a custom absolute installation prefix
outside of the ProgramFiles folders.
2016-08-08 13:42:23 +02:00
Michael Stürmer
e29bfbf272 CPackWIX: Support custom title and description for the root feature
These can now be specified through the WIX generator specific
CPack variables CPACK_WIX_ROOT_FEATURE_TITLE and
CPACK_WIX_ROOT_FEATURE_DESCRIPTION.
2016-08-02 14:05:08 +02:00
Brad King
5ec03c93fc Merge topic 'wix-disabled-components'
ad453f05 CPackWIX: Support CPACK_COMPONENT_<compName>_DISABLED
6f108f84 CPackComponent: Document the *_HIDDEN and *_DISABLED variables
2016-08-01 14:59:53 -04:00
Brad King
624b72159b Source/CPack: Add CM_OVERRIDE on MacOS cmCPackGenerator overrides 2016-07-22 10:42:37 -04:00
Michael Stürmer
ad453f0502 CPackWIX: Support CPACK_COMPONENT_<compName>_DISABLED
Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
2016-07-22 08:49:29 +02:00
Brad King
6a98785d8f Merge topic 'compat-CPACK_INSTALL_CMAKE_PROJECTS-subdirectory'
57534990 CPack: Add compatibility for incorrect CPACK_INSTALL_CMAKE_PROJECTS value
2016-07-20 09:03:22 -04:00
Brad King
57534990d8 CPack: Add compatibility for incorrect CPACK_INSTALL_CMAKE_PROJECTS value
Since commit v3.6.0-rc1~339^2 (CPack: Fix CPACK_INSTALL_CMAKE_PROJECTS
SubDirectory (4th) option, 2016-02-18) we now honor the "Directory"
option of this variable.  Prior to that commit the value was not used
so projects may have used a placeholder value like `.` instead of `/`.
Treat `.` the same as `/` to restore compatibility with such projects.

Fixes #16205.
2016-07-19 10:07:12 -04:00
Dāvis Mosāns
b1f87a50b3 Use better KWSys SystemTools::GetEnv and HasEnv signatures 2016-07-18 09:51:01 -04:00
Brad King
0219743a01 Merge topic 'cpack-ifw-fix-repo-attributes'
7a30fa1a CPackIFW: Fix attributes for Promoting Updates repository replacement
2016-07-06 09:35:19 -04:00
Konstantin Podsvirov
7a30fa1a41 CPackIFW: Fix attributes for Promoting Updates repository replacement
Fix spelling of attributes added by commit v3.6.0-rc1~52^2 (CPackIFW:
Add support for Promoting Updates, 2016-05-17).
2016-07-05 15:55:42 -04:00
Brad King
b5ec5b0901 Avoid using KWSys auto_ptr by adopting it ourselves
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|'
2016-06-29 09:47:58 -04:00
Daniel Pfeifer
1d6909a287 use CM_NULLPTR 2016-06-28 09:02:26 -04:00
Daniel Pfeifer
a7a9239096 mark functions with CM_OVERRIDE 2016-06-27 23:24:38 +02:00
Daniel Pfeifer
7647f6afa4 Add CM_OVERRIDE to some functions
Run clang-tidy's modernize-use-override checker.  This checker must have
issues in version 3.8.  It has way too little matches.  And it adds
override to destructors.  Revert the changes on the destructors and
change override to CM_OVERRIDE.
2016-06-27 10:37:41 -04:00
Daniel Pfeifer
24ab29b882 Prefer istringstream and ostringstream over stringstream.
Use istringsream for parsing, ostringstream for generation.
2016-06-14 22:37:36 +02:00
Daniel Pfeifer
eb79fa7260 Access std::ios_base with std::ios
Just because it is shorter.
2016-06-14 22:23:08 +02:00
Daniel Pfeifer
a16bf141bc Add missing braces around statements.
Apply fixits of clang-tidy's readability-braces-around-statements
checker.
2016-06-10 18:36:24 +02:00
Brad King
065bb0ffeb Merge topic 'small-cleanups'
9f25fc4d Prefer std::ostream& over derivatives as parameters
f9cc43ea cmake: remove unnused member Verbose
6e658085 cmake: Fix constness of methods
87ffd76d cmake: Make internal method file static
fa169fe8 Parser: Merge identical conditions
2016-06-09 09:18:23 -04:00