Commit Graph

20 Commits

Author SHA1 Message Date
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
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
Daniel Pfeifer 5d0d980d99 Use string(APPEND) in Modules
Automate with:

find Modules -type f -print0 | xargs -0 perl -i -0pe \
's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
2016-07-28 00:41:13 +02:00
Nils Gladitz 6f108f84d0 CPackComponent: Document the *_HIDDEN and *_DISABLED variables 2016-07-22 08:41:22 +02:00
Konstantin Podsvirov cd1415b548 CPackComponents: add cpack_append_list_variable_set_command
It's like add variable, but wrap each item to quotes.
Can be used for multi args properties.
2016-06-29 19:10:41 +03:00
Nils Gladitz c70ac0970d CPack: Exclude additional internal variables from CPackConfig.cmake
In v2.8.12.1-654-g7621ad6 I added underscore prefixes to
CPACK_ADDCOMP_(STR|UNAME) to prevent them from being automatically
written to CPackConfig.cmake.

Do the same for CPACK_ADDGRP_(STR|UNAME) and CPACK_INSTTYPE_(STR|UNAME).
2016-03-24 09:28:41 +01:00
Brad King da7276cf94 Replace http://www.cmake.org URLs with https://cmake.org
The latter is now the preferred URL for visiting cmake.org with a
browser.  Convert using the shell code:

 git ls-files -z | xargs -0 sed -i 's|http://www\.cmake|https://cmake|g'
2015-09-25 15:47:39 -04:00
Daniele E. Domenichelli 6401639310 Help: Small fixes in CPackComponent documentation 2014-12-22 17:23:46 +01: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
Nils Gladitz 2751b934a3 CPackComponent: handle the documented PARENT_GROUP parameter 2013-11-19 21:22:44 +01:00
Nils Gladitz 7621ad6eae CPack: don't write internal variables to CPackConfig.cmake
The internal variables CPACK_ADDCOMP_COMPONENTS,
CPACK_ADDCOMP_STR and CPACK_ADDCOMP_UNAME were being needlessly
exported to CPackConfig.cmake.
Prefixing them with an underscore prevents this.

CPACK_ADDCOMP_STR was particularily problematic since it contains
unescaped quotes.
2013-11-17 11:02:41 +01:00
Kitware Robot a77e308693 CPack: Replace #<type> markup with reStructuredText equivalent
Drop #end and #module.  Convert #section to a subsection header.
Convert #variable to the cmake domain "variable" directive.
Convert #macro to the cmake domain "command" directive.
Perform minor formatting fixes in text near these changes.
2013-10-16 09:22:39 -04:00
Kitware Robot f051814ed0 Convert builtin help to reStructuredText source files
Run the convert-help.bash script to convert documentation:

 ./convert-help.bash "/path/to/CMake-build/bin"

Then remove it.
2013-10-15 14:12:03 -04:00
Kitware Robot 9db3116226 Remove CMake-language block-end command arguments
Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the
block.  This is no longer the preferred style.

Run the following shell code:

for c in else endif endforeach endfunction endmacro endwhile; do
    echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00
Kitware Robot 77543bde41 Convert CMake-language commands to lower case
Ancient CMake versions required upper-case commands.  Later command
names became case-insensitive.  Now the preferred style is lower-case.

Run the following shell code:

cmake --help-command-list |
grep -v "cmake version" |
while read c; do
    echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00
Zack Galbreath 76d6c59358 Clean up documentation formatting so that it is rendered properly in HTML. 2012-08-03 14:52:32 -04:00
Eric NOULARD cfac874b77 More documentation concerning CPack Components 2012-02-18 23:10:14 +01:00
Eric NOULARD 24fbc28e5f Add missing section markup for CPackComponent 2012-02-14 16:05:23 -05:00
Eric NOULARD 83e34dd9e6 Implement simple CMake script comment markup language.
The language is very simple. It use ##<keyword> special comment
which opens a structured documentation block and ##end closes it.
This may be used to extract documentation for macro as 'command'
and 'variables' such that cpack --help-command and --help-variable
does parse builtin modules files (CPack.cmake, CPackComponent.cmake,
...) in order to extract the corresponding doc.
2012-01-22 11:44:05 +01:00
Eric NOULARD 4bb79402e8 Split CPack.cmake in more manageable parts
Put NSIS, Bundle and Component related MACROs in separate files.
This does not implies functional changes, concerning the way
CPack is used.
2011-04-04 20:18:27 +02:00