Commit Graph

22180 Commits

Author SHA1 Message Date
Brad King dfe23300c2 Merge topic 'qt4-svg-dep'
656716d qt4: Fix linking with QtSvg to not include QtXml.
2013-10-26 10:28:15 -04:00
Brad King bb21e17fb7 Merge topic 'remove-pre-2.4-compatibility'
7d47c69 Drop compatibility with CMake < 2.4
c7c44fc CTestTest*: Update minimum required CMake to 2.4
2013-10-26 10:28:09 -04:00
Brad King 1b21ac405f Merge topic 'fix-tll-static-private'
239b0c6 Don't add invalid content to static lib INTERFACE_LINK_LIBRARIES.
2013-10-26 10:28:02 -04:00
Brad King 564cf169e6 Merge topic 'cmarray-templates'
dfe0c21 cmArray: Use macro variant of cmArray{Begin,Size,End} for old GCC.
2013-10-26 10:27:56 -04:00
Brad King 0c46e55656 Merge topic 'remove-old-commands-by-policy'
4ea27bc Cygwin: Avoid legacy warnings in RunCMake.DisallowedCommands test
2013-10-26 10:27:49 -04:00
Stephen Kelly 239b0c6b0e Don't add invalid content to static lib INTERFACE_LINK_LIBRARIES.
Only valid target names or generator expressions may appear in
the target field of a LINK_ONLY expression.

Other content like link flags should still be added to that property
(wrapped in config-specific generator expressions), but not wrapped
in LINK_ONLY. Otherwise undue warnings would be issued for the
policy CMP0022.

The LINK_ONLY expression only has an effect for actual target
names anyway, so there is no logical deficit.
2013-10-26 10:10:20 -04:00
Kitware Robot e7a5a4f4a5 CMake Nightly Date Stamp 2013-10-26 00:01:09 -04:00
Brad King 4ea27bcc4c Cygwin: Avoid legacy warnings in RunCMake.DisallowedCommands test
Set the minimum required version of CMake high enough to avoid the
warning for CMAKE_LEGACY_CYGWIN_WIN32.  The warning appears on stderr
and breaks the expected output matching.
2013-10-25 15:07:35 -04:00
Kitware Robot fd818b2ff4 CMake Nightly Date Stamp 2013-10-25 00:01:12 -04:00
Stephen Kelly dfe0c2168b cmArray: Use macro variant of cmArray{Begin,Size,End} for old GCC.
It is not capable of using the template versions.
2013-10-24 16:07:52 +02:00
Brad King 8c0bbd37df Merge topic 'minor-cleanups'
f3f49ff Docs: Fix typo
b0686fd Docs: Fix typo.
2013-10-24 09:52:29 -04:00
Brad King c10e981fd0 Merge topic 'cmake-syntax-updates'
2945814 cmRST: Teach cmake-module directive to scan bracket comments
8bb2ee9 cmake-developer.7: Improve flow of module documentation instructions
efcf318 Add \-continuation to CMake language quoted arguments
2013-10-24 09:51:44 -04:00
Kitware Robot a25c440f19 CMake Nightly Date Stamp 2013-10-24 00:01:08 -04:00
Stephen Kelly f3f49ff7a9 Docs: Fix typo
opitions -> options.
2013-10-23 23:41:00 +02:00
Brad King 2945814de2 cmRST: Teach cmake-module directive to scan bracket comments
When scanning CMake module files for .rst comments, recognize
bracket comments starting in ".rst:" too.  For example:

 #[[.rst:

Include the bracket comment content terminated by the closing bracket.
Exclude the line containing the bracket if it starts in "#".

Teach the CMakeLib.testRST test to cover multiple bracket lengths
and ending brackets on lines with and without "#".

Update the cmake-developer.7 manual to document the bracket-comment
syntax for .rst documentation.
2013-10-23 09:36:00 -04:00
Brad King 8bb2ee96cc cmake-developer.7: Improve flow of module documentation instructions
Use prose instead of enumerated steps and re-order the steps so that
the cmake-module directive is covered contiguously.
2013-10-23 09:36:00 -04:00
Clinton Stimpson 656716d794 qt4: Fix linking with QtSvg to not include QtXml.
Fixes issue #14505.
2013-10-23 07:04:02 -06:00
Brad King efcf318f8d Add \-continuation to CMake language quoted arguments
Teach the CMake language lexer to treat the \-LF pair terminating a
line ending in an odd number of backslashes inside a quoted argument
as a continuation.  Drop the pair from the returned quoted argument
token text.  This will allow long lines inside quoted argument
strings to be divided across multiple lines in the source file.
It will also allow quoted argument text to start on the line after
the opening quote.  For example, the code:

 set(x "\
 ...")

sets variable "x" to the value "..." with no opening newline.

Previously an odd number of backslashes at the end of a line inside
a quoted argument would put a \-LF pair (or a \-CR pair) literally
in the argument.  Then the command-argument evaluator would complain
that the \-escape sequence is invalid.  Therefore this syntax is
available to use without changing behavior of valid existing code.

Teach the RunCMake.Syntax test to cover cases of quoted arguments
with lines ending in \, \\, and \\\.  Odd counts are continuations.
2013-10-23 09:02:07 -04:00
Brad King 7d47c69365 Drop compatibility with CMake < 2.4
Drop all behavior activated by setting CMAKE_BACKWARDS_COMPATIBILITY to
a value lower than 2.4, and generate an error when projects or the user
attempt to do so.  In the error suggest using a CMake 2.8.x release.

Teach cmake_minimum_required to warn about projects that do not require
at least CMake 2.4.  They are not supported by CMake >= 3.0.

Replace the documentation of CMAKE_BACKWARDS_COMPATIBILITY with a
reference to policy CMP0001.
2013-10-23 08:54:31 -04:00
Brad King c7c44fc7f4 CTestTest*: Update minimum required CMake to 2.4
We will soon deprecate support for compatibility with CMake < 2.4.
2013-10-23 08:54:31 -04:00
Brad King e48faced66 Merge topic 'FindJava-msg'
c832299 FindJava: fix message output (#14502)
2013-10-23 08:20:22 -04:00
Brad King d67286ff9b Merge topic 'output-CMP0022-entries'
0b3b336 CMP0022: Output link interface mismatch for static library warning
2013-10-23 08:20:14 -04:00
Brad King 7938e589e3 Merge topic 'vs-graceful-empty-compiler'
705ae00 Quote ${CMAKE_<LANG>_COMPILER} while enabling a language
18a2537 CMakeDetermineCompilerId: Do not test vendor without a compiler
2013-10-23 08:20:08 -04:00
Brad King a8cfc21843 Merge topic 'doc-cmake-developer'
e0ce6f0 cmRST: Cross-reference cmake-developer.7 manual and cmRST Doxygen
c1c239b Help: Add documentation format to cmake-developer.7 manual
a06a90f Help: Organize cmake-developer.7 manual Modules section
28f08ba Help: Fix module documentation markup in cmake-developer.7 manual
baaab06 Help: Move Modules/readme.txt content into cmake-developer.7 manual
80a311e Help: Add cmake-developer.7 manual
2013-10-23 08:20:01 -04:00
Brad King 8855bf5395 Merge topic 'remove-old-commands-by-policy'
6c91944 Add policy CMP0036 to disallow build_name
3969bb2 Add policy CMP0035 to disallow variable_requires
178b9af Add policy CMP0034 to disallow utility_source
248d1dc Add policy CMP0033 to disallow export_library_dependencies
6865c8f Add policy CMP0032 to disallow output_required_files
aa76518 Add policy CMP0031 to disallow load_command
97268cf Add policy CMP0030 to disallow use_mangled_mesa
9f64fbf Add policy CMP0029 to disallow subdir_depends
882c0f0 Add infrastructure for policies that disallow commands
2013-10-23 08:19:57 -04:00
Brad King 078530b448 Merge topic 'cmarray-templates'
d169b1f Genex: Use cmArraySize for targetPolicyWhitelist
86d5d80 Genex: Remove use of TransitiveWhitelistCompare
73d7705 Add some templates for cleaner array iteration.
2013-10-23 08:19:52 -04:00
Brad King 6403a53f0e Merge topic 'CheckTypeSize_CXX'
e6cec64 CheckTypeSize: Add unit tests
07a2342 CheckTypeSize: Add support for C++
2013-10-23 08:19:46 -04:00
Stephen Kelly 0b3b3368fb CMP0022: Output link interface mismatch for static library warning
Other warnings for the same policy already have similar output since
commit 81d2793e (Add differing target property content to policy CMP0022
warning, 2013-09-11).
2013-10-23 08:18:02 -04:00
Stephen Kelly b0686fdeda Docs: Fix typo.
dependee -> depender.
2013-10-23 13:33:26 +02:00
Kitware Robot 20c0a6a0ad CMake Nightly Date Stamp 2013-10-23 00:01:08 -04:00
Rolf Eike Beer c832299e90 FindJava: fix message output (#14502) 2013-10-22 20:51:32 +02:00
Brad King 705ae00491 Quote ${CMAKE_<LANG>_COMPILER} while enabling a language
Even though this variable gets set to CMAKE_<LANG>_COMPILER-NOTFOUND when
the compiler is not found, CMake<LANG>Compiler.cmake gets removed by
cmGlobalGenerator::EnableLanguage so in try compiles the value is empty.
Quote references to the variable in

 Modules/CMake(C|CXX|Fortran)Information.cmake
 Modules/CMakeDetermineCompilerId.cmake

to avoid dropping arguments from commands that expect them.
2013-10-22 14:09:37 -04:00
Brad King 18a253732d CMakeDetermineCompilerId: Do not test vendor without a compiler
If no CMAKE_${lang}_COMPILER is available then do not try to run
it to determine the compiler vendor.
2013-10-22 13:59:56 -04:00
Brad King e0ce6f0a22 cmRST: Cross-reference cmake-developer.7 manual and cmRST Doxygen
The cmRST implementation and the list of capabilities documented in the
cmake-developer.7 manual must be kept in sync.  Add a note to each file
to reference the other.
2013-10-22 10:55:23 -04:00
Brad King c1c239bf75 Help: Add documentation format to cmake-developer.7 manual
Document how CMake uses reStructuredText to provide the help manuals.
Cover supported inline markup and directives, the CMake Domain in
Sphinx, and cross-reference syntax.
2013-10-22 10:55:23 -04:00
Brad King a06a90f457 Help: Organize cmake-developer.7 manual Modules section
Add "Module Documentation" and "Find Modules" subsections.  Add to
Modules/readme.txt a textual reference to the cmake-developer.7 manual
and, while at it, fix the wiki URL domain.
2013-10-22 10:10:15 -04:00
Kitware Robot 28f08ba25c Help: Fix module documentation markup in cmake-developer.7 manual
Convert the content moved from Modules/readme.txt to valid
reStructuredText markup.  Mainly, convert the lists of variables to
definition lists, wrap long lines in paragraph text, and add literal
block markup and indentation.
2013-10-22 10:09:26 -04:00
Kitware Robot baaab068f2 Help: Move Modules/readme.txt content into cmake-developer.7 manual
Move all content from Modules/readme.txt except for the link to the
module maintainers wiki page into "Help/manual/cmake-developer.7.rst".
This produces some invalid reStructuredText markup to be fixed in a
future commit.
2013-10-22 09:51:51 -04:00
Brad King 80a311ed6a Help: Add cmake-developer.7 manual
Add the manual with just an introduction section.  Leave section headers
for Help and Modules to be filled in later.
2013-10-22 09:50:15 -04:00
Brad King 6c9194488a Add policy CMP0036 to disallow build_name 2013-10-22 09:09:53 -04:00
Brad King 3969bb23aa Add policy CMP0035 to disallow variable_requires 2013-10-22 09:09:52 -04:00
Brad King 178b9af186 Add policy CMP0034 to disallow utility_source 2013-10-22 09:09:52 -04:00
Brad King 248d1dc057 Add policy CMP0033 to disallow export_library_dependencies 2013-10-22 09:09:52 -04:00
Brad King 6865c8fe05 Add policy CMP0032 to disallow output_required_files 2013-10-22 09:09:52 -04:00
Brad King aa76518f8b Add policy CMP0031 to disallow load_command 2013-10-22 09:09:52 -04:00
Brad King 97268cf5b7 Add policy CMP0030 to disallow use_mangled_mesa 2013-10-22 09:09:51 -04:00
Brad King 9f64fbf5b5 Add policy CMP0029 to disallow subdir_depends 2013-10-22 09:09:51 -04:00
Brad King 882c0f0b69 Add infrastructure for policies that disallow commands
Add cmCommand::Disallowed helper to check the setting of a policy that
disallows the command.  Add a RunCMake.DisallowedCommands test
placeholder.  Add a Help/policy/DISALLOWED_COMMAND.txt file for
inclusion by each policy document to avoid duplication of the common
text.
2013-10-22 09:09:51 -04:00
Brad King ddef8a7cff Merge topic 'rst-literal-blocks'
2d0287d cmRST: Process literal blocks after paragraphs ending in '::'
7b9ae40 cmRST: Do not process inline markup in code-block literals
2013-10-22 09:08:38 -04:00
Brad King c9f17352d1 Merge topic 'genex-conversion-warnings'
a80fe4b use size_t for GeneratorExpressionContent::ContentLength to fix some warnings
2013-10-22 09:08:33 -04:00