Commit Graph

756 Commits

Author SHA1 Message Date
Stephen Kelly beaea609a0 Remove note disallowing use of some string and vector API.
The compilers introducing these limitations are no longer supported
as host compilers.
2014-11-25 18:35:00 +01:00
Brad King 66ba7ea831 Merge topic 'custom-command-byproducts'
1f4f2aab Help: Add notes for topic 'custom-command-byproducts'
2014-11-25 10:42:27 -05:00
Brad King d52cfd129c Merge topic 'doc-drop-borland-workaround'
c2af447d Remove disallowed feature which Borland did not accept.
2014-11-25 10:35:44 -05:00
Stephen Kelly c2af447d44 Remove disallowed feature which Borland did not accept. 2014-11-25 10:34:47 -05:00
Brad King c7b9fad117 Merge topic 'remove-ancient-msvc-workarounds'
12cb0b86 Help: Update developer manual with some C++ features now permitted.
ba74465f cmGeneratorTarget: Remove MSVC7 workaround
41363c0c VisualStudio: Remove MSVC6 compatibility macro.
4efcfe52 cmSystemTools: Remove MSVC6 compatibility define.
5f4695cd cmStandardIncludes: Remove MSVC6 condition for cmArrayBegin macro.
7a064337 cmFindCommon: Remove MSVC6 workaround for nested struct private access.
fdb73547 cmTarget: Remove std::min and std::max MSVC6 compatibility code.
2014-11-25 10:28:57 -05:00
Brad King 1f4f2aabc7 Help: Add notes for topic 'custom-command-byproducts' 2014-11-25 10:21:55 -05:00
Brad King 90cfed51f6 Merge topic 'improve-INTERFACE-property-docs'
bb1111ea Help: Warn that paths should not be used in INTERFACE_ build properties.
96691d12 Help: Fix typo in genex in documentation.
f8f02451 Help: Use a property-specific command instead of the generic one.
8609a884 Help: Make remaining build property docs consistent.
bcface39 Help: Link to target_link_libraries from target properies.
e12926e7 Help: Format the LINK_INTERFACE_LIBRARIES target properies.
c8540e94 Help: Unify the help text of INTERFACE_ build properties.
2014-11-25 10:18:52 -05:00
Brad King 0f19208076 Merge topic 'custom-command-byproducts'
557aef0b ExternalProject: Add options to specify BYPRODUCTS (#14963)
e15a7075 Add an option for explicit BYPRODUCTS of custom commands (#14963)
2014-11-25 10:18:16 -05:00
Stephen Kelly bb1111eaa2 Help: Warn that paths should not be used in INTERFACE_ build properties. 2014-11-25 10:00:35 -05:00
Stephen Kelly 96691d126b Help: Fix typo in genex in documentation. 2014-11-22 21:26:06 +01:00
Stephen Kelly f8f02451ad Help: Use a property-specific command instead of the generic one. 2014-11-22 12:58:58 +01:00
Stephen Kelly 8609a884a2 Help: Make remaining build property docs consistent.
These help entries are different enough that they can not use the
generic template.
2014-11-22 12:51:25 +01:00
Stephen Kelly bcface3932 Help: Link to target_link_libraries from target properies. 2014-11-22 12:46:13 +01:00
Stephen Kelly e12926e793 Help: Format the LINK_INTERFACE_LIBRARIES target properies. 2014-11-22 12:45:43 +01:00
Stephen Kelly c8540e9466 Help: Unify the help text of INTERFACE_ build properties. 2014-11-22 12:39:04 +01:00
Stephen Kelly 12cb0b868c Help: Update developer manual with some C++ features now permitted. 2014-11-20 23:11:38 +01:00
Brad King d4fdfaaef1 Merge branch 'doc-target_include_directories-fixup' into release 2014-11-17 15:16:35 -05:00
Brad King d903f7ce91 Merge topic 'doc-target_include_directories-fixup'
1d22ee67 Help: target_include_directories does not allow target names
2014-11-17 15:15:56 -05:00
Brad King 1d22ee67aa Help: target_include_directories does not allow target names
Since commit v2.8.11~227^2~1 (Don't allow targets args in the new target
commands, 2013-01-29) the target_include_directories command does not
support target names on the right hand side, but that commit forgot to
remove it from the docs.  It was never released with such support.
Update the command documentation now.
2014-11-17 14:47:42 -05:00
Brad King 598a316154 Merge branch 'vs14-is-2015' into release 2014-11-17 09:44:52 -05:00
Brad King 444f61e044 Merge topic 'console-pool'
2d75d7e5 Help: Add notes for topic 'console-pool'
f42d86f0 Ninja: Implement USES_TERMINAL using the console pool if available
f281ae01 Ninja: Remove unused declaration
d5eae556 Ninja: factor out the test for console pool support
4d1fedf4 Give the interactive cache editor the USES_TERMINAL property
fe5d6e8c Add USES_TERMINAL option for custom commands
ad6ee426 Rename doing_verbatim to doing_nothing
2014-11-17 09:40:56 -05:00
Brad King e943fa8a19 Merge topic 'vs14-is-2015'
f5afb90d VS: Rename VS 14 generator to 'Visual Studio 14 2015'
2014-11-17 09:40:51 -05:00
Brad King 545d10cc67 Merge topic 'string-SUBSTRING-truncate'
474bbb9d string: Tolerate SUBSTRING length exceeding end index
2014-11-17 09:40:44 -05:00
Brad King e15a7075b5 Add an option for explicit BYPRODUCTS of custom commands (#14963)
A common idiom in CMake-based build systems is to have custom commands
that generate files not listed explicitly as outputs so that these
files do not have to be newer than the inputs.  The file modification
times of such "byproducts" are updated only when their content changes.
Then other build rules can depend on the byproducts explicitly so that
their dependents rebuild when the content of the original byproducts
really does change.

This "undeclared byproduct" approach is necessary for Makefile, VS, and
Xcode build tools because if a byproduct were listed as an output of a
rule then the rule would always rerun when the input is newer than the
byproduct but the byproduct may never be updated.

Ninja solves this problem by offering a 'restat' feature to check
whether an output was really modified after running a rule and tracking
the fact that it is up to date separately from its timestamp.  However,
Ninja also stats all dependencies up front and will only restat files
that are listed as outputs of rules with the 'restat' option enabled.
Therefore an undeclared byproduct that does not exist at the start of
the build will be considered missing and the build will fail even if
other dependencies would cause the byproduct to be available before its
dependents build.

CMake works around this limitation by adding 'phony' build rules for
custom command dependencies in the build tree that do not have any
explicit specification of what produces them.  This is not optimal
because it prevents Ninja from reporting an error when an input to a
rule really is missing.  A better approach is to allow projects to
explicitly specify the byproducts of their custom commands so that no
phony rules are needed for them.  In order to work with the non-Ninja
generators, the byproducts must be known separately from the outputs.

Add a new "BYPRODUCTS" option to the add_custom_command and
add_custom_target commands to specify byproducts explicitly.  Teach the
Ninja generator to specify byproducts as outputs of the custom commands.
In the case of POST_BUILD, PRE_LINK, and PRE_BUILD events on targets
that link, the byproducts must be specified as outputs of the link rule
that runs the commands.  Activate 'restat' for such rules so that Ninja
knows it needs to check the byproducts, but not for link rules that have
no byproducts.
2014-11-14 16:16:00 -05:00
Brad King f5afb90d7c VS: Rename VS 14 generator to 'Visual Studio 14 2015'
Now that we know the year component of this VS version we
can add it to the generator name.  For convenience, map
the name without the year to the name with the year.
2014-11-14 14:23:36 -05:00
Peter Collingbourne 2d75d7e56b Help: Add notes for topic 'console-pool' 2014-11-14 11:56:34 -05:00
Peter Collingbourne fe5d6e8c0f Add USES_TERMINAL option for custom commands
Teach the add_custom_command and add_custom_target commands a new
USES_TERMINAL option.  Use it to tell the generator to give the command
direct access to the terminal if possible.
2014-11-14 11:55:09 -05:00
Brad King 0cacf73959 Help: Document add_custom_command marking outputs GENERATED 2014-11-14 10:06:55 -05:00
Brad King 66ea634b4c Help: Revise and format 'add_custom_target' docs
Format the reStructuredText markup manually.  Organize the command
options into a definition list.  Use inline markup to cross-reference
related documents.
2014-11-13 11:52:54 -05:00
Brad King e7bd9e9b08 Merge topic 'add-FindIntl'
b015b469 Help: Add notes for topic 'add-FindIntl'
2014-11-13 11:22:03 -05:00
Domen Vrankar 474bbb9dbc string: Tolerate SUBSTRING length exceeding end index
string SUBSTRING command now ignores length if it points
past end of string and uses end of string instead.
String SUBSTRING tests now cover more corner cases.
2014-11-13 11:04:52 -05:00
Brad King 3d0addd965 Merge branch 'doc-install-SCRIPT-CODE-COMPONENT' into release 2014-11-13 10:21:53 -05:00
Brad King b015b4698e Help: Add notes for topic 'add-FindIntl' 2014-11-13 10:11:42 -05:00
Brad King 307570aee1 Merge topic 'add-FindIntl'
c5e797db FindIntl: New module to find Gettext libintl
2014-11-13 10:08:34 -05:00
Brad King 8abba92472 Merge topic 'doc-install-SCRIPT-CODE-COMPONENT'
7361e810 Help: Document COMPONENT option of install(SCRIPT/CODE) (#14956)
2014-11-13 10:08:25 -05:00
Brad King 2c71fe6d62 Merge topic 'ExternalProject_UPDATE_DISCONNECTED'
3c497f11 Help: Add notes for topic 'ExternalProject_UPDATE_DISCONNECTED'
aba5cec6 ExternalProject: Add unit tests for UPDATE_DISCONNECTED
3f606fa7 ExternalProject: Add UPDATE_DISCONNECTED option
c0b749cf ExternalProject: Always add a command to a step
2014-11-13 10:08:22 -05:00
Brad King 3c497f1129 Help: Add notes for topic 'ExternalProject_UPDATE_DISCONNECTED' 2014-11-13 09:55:17 -05:00
Brad King 7361e8102a Help: Document COMPONENT option of install(SCRIPT/CODE) (#14956) 2014-11-13 08:41:56 -05:00
Brad King ac9e4f9979 Merge topic 'doc-CMAKE_INSTALL_PREFIX-link-GNUInstallDirs'
00d4cdc9 Help: Link to GNUInstallDirs from CMAKE_INSTALL_PREFIX (#15246)
2014-11-12 09:35:43 -05:00
Brad King 44a6b6e44d Merge topic 'emacs-mode-underscore-in-symbol'
cb80e513 Help: Add 3.1 release note Emacs mode update
30f14aeb cmake-mode.el: syntax of '_' should be treated as symbol
2014-11-12 09:35:40 -05:00
Brad King 5d1fe90ed1 Merge branch 'emacs-mode-underscore-in-symbol' into release 2014-11-12 09:30:15 -05:00
Brad King cb80e51346 Help: Add 3.1 release note Emacs mode update 2014-11-12 09:29:25 -05:00
Brad King 0011abeab0 Merge branch 'doc-CMAKE_INSTALL_PREFIX-link-GNUInstallDirs' into release 2014-11-12 09:17:07 -05:00
Brad King 00d4cdc935 Help: Link to GNUInstallDirs from CMAKE_INSTALL_PREFIX (#15246)
Add a note to the CMAKE_INSTALL_PREFIX documentation that refers readers
to the GNUInstallDirs module to make the latter easier to discover.
2014-11-12 08:32:01 -05:00
Roger Leigh c5e797dbb8 FindIntl: New module to find Gettext libintl
Add support for Sun/Uniforum/GNU gettext libintl.  This belongs in CMake
rather than upstream because:

* There are multiple upstreams (Sun, GNU).

* It may or may not be in the glibc C library depending
  upon the platform and build options used.

Although we already have a FindGettext module, that is for the tools.
This module is for the library, and is independent because it's
perfectly OK to use libintl without the gettext tools (and vice versa),
and they might not all be found.  Add cross references between the two
modules in notes to make the relationship clearer.
2014-11-11 13:02:16 -05:00
Brad King 0f836cb0ef Merge topic 'doc-cleanup-xrefs'
4c8c442d Help: Fix broken cross-references reported by 'nitpicky' option
2014-11-07 11:54:54 -05:00
Brad King 06c3b7a822 Merge branch 'doc-cleanup-xrefs' into release 2014-11-07 11:45:27 -05:00
Brad King 4c8c442d7c Help: Fix broken cross-references reported by 'nitpicky' option
Enable the Sphinx 'nitpicky' option and fix the resulting warnings about
dangling references.
2014-11-07 11:41:21 -05:00
Brad King 70105facd6 Merge topic 'doc-formatting'
f0ca3ef0 Help: Wrap long lines in pre-formatted documentation blocks
2014-11-07 11:08:59 -05:00
Brad King 0ef2d5f805 Merge topic 'doc-FindITK-FindVTK-relnotes'
1550d97d Help: Update 3.1 release notes for dropping of FindITK and FindVTK
2014-11-07 11:08:57 -05:00
Brad King 3dfc856b79 Merge branch 'doc-formatting' into release 2014-11-07 11:02:45 -05:00
Brad King addff66d33 Merge branch 'doc-FindITK-FindVTK-relnotes' into release 2014-11-07 11:02:29 -05:00
Brad King f0ca3ef0a3 Help: Wrap long lines in pre-formatted documentation blocks
Help format the blocks better for display without a wide screen.
2014-11-07 10:59:09 -05:00
Brad King 1550d97d96 Help: Update 3.1 release notes for dropping of FindITK and FindVTK
The changes made by commit v3.1.0-rc1~46^2~1 (FindITK: Drop this ancient
compatibility module, 2014-10-02) and commit v3.1.0-rc1~46^2 (FindVTK:
Drop this ancient compatibility module, 2014-10-02) need to come with
release notes explaining that the modules were dropped.  Also remove a
release not related to an update made to FindVTK that was never
released.
2014-11-07 10:52:25 -05:00
Brad King b71399a189 Merge branch 'release-doc-formatting' into release 2014-11-07 10:20:58 -05:00
Brad King 67c4be51a3 Merge branch 'release-doc-formatting' into doc-formatting
Resolve conflict in Modules/ExternalProject.cmake by keeping our side,
which is more completely revised.
2014-11-06 14:52:49 -05:00
Brad King 79349ed8fc Help: Tell latex to use a small font for cmake-language.7 productions 2014-11-06 14:52:27 -05:00
Brad King 8dab50636d Help: Fix example in cmake-packages to avoid long line 2014-11-06 14:46:18 -05:00
Brad King f84ddd4b56 Help: Format add_library documented list of INTERFACE commands
Use a bullet list to make it easier to read.
2014-11-06 14:46:18 -05:00
Brad King a9dcf4773c Help: Drop TOC from latex manuals
A latex document can have its own TOC.
2014-11-06 14:46:18 -05:00
Brad King db3cfc3376 Merge topic 'ExternalProject_independent-step-targets'
468fb734 Help: Add notes for topic 'ExternalProject_independent-step-targets'
67cfbf8e ExternalProject: Add unit tests
f598f1aa ExternalProject: Add ExternalProject_Add_StepDependencies function
4ae133e0 ExternalProject: Add independent step targets
2014-11-04 15:09:51 -05:00
Brad King 8640dc54d1 Merge topic 'ctest-delphi-coverage'
df720de2 Help: Add notes for topic 'ctest-delphi-coverage'
2014-11-04 15:09:39 -05:00
Brad King 092dfdd238 Merge topic 'cpack-rpm-component-descriptions'
cfb3a869 Help: Add notes for topic 'cpack-rpm-component-descriptions'
2014-11-04 15:09:37 -05:00
Brad King f81af6f526 Merge topic 'cpack-rpm-pre-post-install'
6e927faf Help: Add notes for topic 'cpack-rpm-pre-post-install'
2014-11-04 15:09:35 -05:00
Brad King 66158b6753 Merge topic 'add_javascript_coverage_parser'
c236b160 Help: Add notes for topic 'add_javascript_coverage_parser'
2014-11-04 15:09:32 -05:00
Brad King 32b48579b6 Merge topic 'ExternalProject_CMAKE_CACHE_DEFAULT_ARGS'
56f4949c Help: Add notes for topic 'ExternalProject_CMAKE_CACHE_DEFAULT_ARGS'
2014-11-04 15:09:30 -05:00
Brad King 56f4949cbb Help: Add notes for topic 'ExternalProject_CMAKE_CACHE_DEFAULT_ARGS' 2014-11-04 14:45:18 -05:00
Brad King c236b16050 Help: Add notes for topic 'add_javascript_coverage_parser' 2014-11-04 14:43:14 -05:00
Brad King 6e927fafff Help: Add notes for topic 'cpack-rpm-pre-post-install' 2014-11-04 14:41:55 -05:00
Brad King cfb3a86950 Help: Add notes for topic 'cpack-rpm-component-descriptions' 2014-11-04 14:38:59 -05:00
Brad King df720de234 Help: Add notes for topic 'ctest-delphi-coverage' 2014-11-04 13:03:22 -05:00
Brad King 468fb734b4 Help: Add notes for topic 'ExternalProject_independent-step-targets' 2014-11-04 12:56:14 -05:00
Brad King a72ff020db Merge branch 'fix-configure_file-COPYONLY' into release 2014-11-03 09:35:34 -05:00
Brad King 6aa2d47737 Merge topic 'fix-configure_file-COPYONLY'
1531df2b configure_file: Warn about unknown arguments
4abbb140 Qt4: Fix configure_file call to use COPYONLY, not COPY_ONLY
bd7ba8e2 KWSys: Fix configure_file call to use COPYONLY, not COPY_ONLY
e9282782 Help: Fix configure_file call to use COPYONLY, not COPY_ONLY
2014-11-03 09:08:35 -05:00
Iosif Neitzke e9282782e4 Help: Fix configure_file call to use COPYONLY, not COPY_ONLY
The configure_file signature has option 'COPYONLY' (no underscore).
Fix the example in 'cmake-packages.7.rst'.
2014-10-31 13:19:33 -04:00
Brad King aa0f6e8309 Merge branch 'doc-add_library-typo' into release 2014-10-31 11:38:36 -04:00
Brad King 81441f328b Merge topic 'doc-add_library-typo'
38825396 Documentation: Fix minor typo thecommand -> the command
2014-10-31 11:35:02 -04:00
Nils Gladitz 38825396f9 Documentation: Fix minor typo thecommand -> the command 2014-10-31 11:27:50 -04:00
Brad King 5e27e6f896 Merge topic 'doc-add_compile_options'
352cbb6e Help: Reference add_compile_options from add_definitions (#15225)
a9f8c50a Help: Clarify add_compile_options documentation (#15225)
2014-10-30 14:11:57 -04:00
Brad King 8f01867340 Merge branch 'doc-add_compile_options' into release 2014-10-29 15:24:03 -04:00
Brad King 352cbb6e36 Help: Reference add_compile_options from add_definitions (#15225)
When we explain in add_definitions documentation that it is intended
only for preprocessor definitions, link to add_compile_options for
adding other flags.  Also explicitly mention that the order of
add_definitions calls with respect to target creation does not matter.
This differs from the behavior now explicitly stated in the
documentation of add_compile_options.
2014-10-29 15:23:31 -04:00
Brad King a9f8c50aa2 Help: Clarify add_compile_options documentation (#15225)
Explain that it affects only targets added after the call.  Fix the link
to the COMPILE_OPTIONS directory propert documentation.  Update the
latter to explain that it is used to initialize the corresponding target
property when a target is created.
2014-10-29 09:18:56 -04:00
Brad King 2a668e20da Merge topic 'doc-line-lengths'
80b19a71 Help/manual: Avoid long lines in code blocks
4fdacedc Help: Clarify formatting of CPACK_WIX_ACL documentation
35ca4863 Help: Wrap long ctest_submit signature line
58b2d760 Modules: Format documentation to avoid over-long preformatted lines
2014-10-23 08:32:29 -04:00
Brad King 7d8879bb8d Merge branch 'doc-line-lengths' into release 2014-10-22 16:49:09 -04:00
Brad King 80b19a7127 Help/manual: Avoid long lines in code blocks
Update the wording of some examples to avoid long lines in code blocks.
Otherwise the formatted documentation can exceed certain column width
limitations.
2014-10-22 16:48:04 -04:00
Brad King 4fdacedc27 Help: Clarify formatting of CPACK_WIX_ACL documentation 2014-10-22 16:41:22 -04:00
Brad King 35ca4863aa Help: Wrap long ctest_submit signature line 2014-10-22 16:41:07 -04:00
Brad King 6fe3ef26c6 Merge topic 'doc-CMAKE_XCODE_ATTRIBUTE'
0ff69dd4 Help: Document CMAKE_XCODE_ATTRIBUTE_<an-attribute> variable (#15215)
2014-10-22 13:43:07 -04:00
Brad King be9872933d Merge branch 'doc-CMAKE_XCODE_ATTRIBUTE' into release 2014-10-22 13:40:07 -04:00
Brad King 0ff69dd4d1 Help: Document CMAKE_XCODE_ATTRIBUTE_<an-attribute> variable (#15215) 2014-10-22 08:52:12 -04:00
Brad King c8ba397194 Merge topic 'doc-policy-usage'
cd4fa896 Help: Document that policies are not feature toggles.
2014-10-21 15:08:05 -04:00
Stephen Kelly cd4fa896b1 Help: Document that policies are not feature toggles. 2014-10-20 22:21:57 +02:00
Brad King a7596fef6e Begin post-3.1 development 2014-10-14 09:29:53 -04:00
Brad King 1cb1a282d4 Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2014-10-14 09:21:23 -04:00
Brad King 856ee6be66 Help: Organize 3.1 release notes
Add section headers similar to the 3.0 release notes and move each
individual bullet into an appropriate section.  Highlight the new VS
generator capabilities for Windows Phone, Windows Store, and NVIDIA
Nsight Tegra with dedicated subsections.
2014-10-10 15:55:25 -04:00
Brad King 5284282023 Help: Consolidate 3.1 release notes
Move all development release notes into a new version-specific document:

 tail -q -n +3 Help/release/dev/* > Help/release/3.1.0.rst
 git rm -- Help/release/dev/*

except the sample topic:

 git checkout HEAD -- Help/release/dev/0-sample-topic.rst

Reference the new document from the release notes index document.
Add a title and intro sentence to the new document by hand.
2014-10-10 15:15:51 -04:00
Brad King a7b9b571b3 Merge topic 'note-link-libraries-genex'
8bd81981 Help: Add note about restoring pre-3.0 link libraries genex behavior
2014-10-10 15:09:06 -04:00
Brad King 26bffa6e74 Merge topic 'fix-OSX-bundle-rpaths-and-Qt5'
631fadea Help: Add notes for topic 'fix-OSX-bundle-rpaths-and-Qt5'
50e261dd OSX: Warn when attempting to change runtime paths on OS X 10.5
9b98fd52 cmake-gui: Make sure we bundle Qt5 Cocoa platform plugin
83a06bb4 BundleUtilities: Framework codesign Resources/Info.plist & Current
f7df82ac BundleUtilities: Resolve & replace @rpath placeholders
14bc686f GetPrerequisites: Make sure dyld placeholders are prefixes
6c313797 BundleUtilities: Use find on UNIX for fast executable lookup
2014-10-10 10:55:44 -04:00
Brad King 8bd81981ad Help: Add note about restoring pre-3.0 link libraries genex behavior 2014-10-10 10:48:05 -04:00
Brad King 631fadeae9 Help: Add notes for topic 'fix-OSX-bundle-rpaths-and-Qt5' 2014-10-10 10:23:52 -04:00