summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* use size_t for GeneratorExpressionContent::ContentLength to fix some warningsRolf Eike Beer2013-10-214-10/+10
| | | | | | CMake/Source/cmGeneratorExpressionParser.cxx: In member function ‘void cmGeneratorExpressionParser::ParseGeneratorExpression(std::vector<cmGeneratorExpressionEvaluator*>&)’: CMake/Source/cmGeneratorExpressionParser.cxx:116:55: warning: conversion to ‘unsigned int’ from ‘long int’ may alter its value [-Wconversion] CMake/Source/cmGeneratorExpressionParser.cxx:240:39: warning: conversion to ‘int’ from ‘long int’ may alter its value [-Wconversion]
* Merge topic 'INTERFACE_LIBRARY-build-targets'Brad King2013-10-217-75/+132
|\ | | | | | | | | | | b04f3b9 Create make rules for INTERFACE_LIBRARY targets. dba4962 Makefile: Always create clean target command
| * Create make rules for INTERFACE_LIBRARY targets.Stephen Kelly2013-10-217-38/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The result is that the depends of the target are created. So, add_library(somelib foo.cpp) add_library(anotherlib EXCLUDE_FROM_ALL foo.cpp) add_library(extra EXCLUDE_FROM_ALL foo.cpp) target_link_libraries(anotherlib extra) add_library(iface INTERFACE) target_link_libraries(iface INTERFACE anotherlib) Executing 'make iface' will result in the anotherlib and extra targets being made. Adding a regular executable to the INTERFACE of an INTERFACE_LIBRARY will not result in the executable being built with 'make iface' because of the logic in cmComputeTargetDepends::AddTargetDepend. So far, this is implemented only for the Makefile generator. Other generators will follow if this feature is possible for them. Make INTERFACE_LIBRARY targets part of the all target by default. Test this by building the all target and making the expected library EXCLUDE_FROM_ALL.
| * Makefile: Always create clean target commandBrad King2013-10-161-37/+37
| | | | | | | | | | Borland Make complains if the phony clean target has no rule to build it. If there are no files to clean, generate and run an empty clean script.
* | Merge topic 'minor-cleanups'Brad King2013-10-213-4/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 187385a cmCoreTryCompile: Fix typo in comments. af2a3ab cmTarget: Remove unused variable. 620b0e9 target_link_libraries(): Fix code snippet in documentation. 2d4ce80 cmPolicies: Fix typo d6dd264 include(): Use lower case and () to refer to the include() command.
| * | cmCoreTryCompile: Fix typo in comments.Stephen Kelly2013-10-201-2/+2
| | | | | | | | | | | | Add 'S' to match actual variable names.
| * | cmTarget: Remove unused variable.Stephen Kelly2013-10-181-1/+0
| | |
| * | include(): Use lower case and () to refer to the include() command.Stephen Kelly2013-10-181-1/+1
| | |
* | | Merge topic 'remove-old-process-execution'Brad King2013-10-2113-1525/+199
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 765d783 cmSystemTools: Drop old RunCommand method 52b80b2 exec_program: Re-implement using KWSys Process c076476 cmake: Drop "cmake -E comspec" Win9x helper f551135 cmExtraEclipseCDT4Generator: Replace RunCommand with RunSingleCommand
| * | | cmSystemTools: Drop old RunCommand methodBrad King2013-10-199-1508/+0
| | | | | | | | | | | | | | | | | | | | All calls to this method have been replaced by newer infrastructure. Remove it and the supporting cmWin32ProcessExecution class.
| * | | exec_program: Re-implement using KWSys ProcessBrad King2013-10-192-4/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop use of cmSystemTools::RunCommand. It used popen on UNIX (equivalent to /bin/sh -c "$command") and direct CreateProcess calls on Windows. Implement equivalent behavior using the KWSys Process library. Copy windows shortpath conversion logic from cmSystemTools::RunCommand.
| * | | cmake: Drop "cmake -E comspec" Win9x helperBrad King2013-10-191-12/+2
| | | | | | | | | | | | | | | | Since we dropped Win9x support there is no need for this helper.
| * | | cmExtraEclipseCDT4Generator: Replace RunCommand with RunSingleCommandBrad King2013-10-181-1/+1
| |/ / | | | | | | | | | | | | Avoid use of the old cmSystemTools::RunCommand by using RunSingleCommand instead.
* | | Merge topic 'cmake-syntax-updates'Brad King2013-10-216-161/+612
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | daa0f6f Add Lua-style long brackets and long comments to CMake language a8c6523 cmListFileLexer: Convert CRLF -> LF newlines explicitly dbd9333 cmListFileLexer: Allow a leading UTF-8 Byte-Order-Mark (#11137) 5645783 cmListFileLexer: Allow command names with one letter (#14181)
| * | | Add Lua-style long brackets and long comments to CMake languageBrad King2013-10-176-146/+410
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the CMake language parser to recognize Lua-style "long bracket" arguments. These start with two '[' separated by zero or more '=' characters e.g. "[[" or "[=[" or "[==[". They end with two ']' separated by the same number of '=' as the opening bracket. There is no nesting of brackets of the same level (number of '='). No escapes, variable expansion, or other processing is performed on the content between such brackets so they always represent exactly one argument. Also teach CMake to parse and ignore "long comment" syntax. A long comment starts with "#" immediately followed by an opening long bracket. It ends at the matching close long bracket. Teach the RunCMake.Syntax test to cover long bracket and long comment cases.
| * | | cmListFileLexer: Convert CRLF -> LF newlines explicitlyBrad King2013-10-172-27/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Read input files in binary mode instead of text mode and convert CRLF newlines to LF newlines explicitly in our own buffer. This is necessary to read CMake source files with CRLF newlines on platforms whose C runtime libraries do not transform newlines in text mode. For example, a Cygwin or Linux binary may not transform CRLF -> LF in files read from a Windows filesystem. Perform the conversion ourselves to ensure that multi-line string literals in CMake source files have LF newlines everywhere.
| * | | cmListFileLexer: Allow a leading UTF-8 Byte-Order-Mark (#11137)Brad King2013-10-174-10/+133
| | | | | | | | | | | | | | | | | | | | | | | | Teach the lexer to read a UTF-8, UTF-16 BE/LE, or UTF-32 BE/LE Byte-Order-Mark from the start of a file if any is present. Report an error on files using UTF-16 or UTF-32 and accept a UTF-8 or missing BOM.
| * | | cmListFileLexer: Allow command names with one letter (#14181)Brad King2013-10-172-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the lexer to treat a single letter as an identifier instead of an unquoted argument. Outside of a command invocation, the parser treats an identifier as a command name and an unquoted argument as an error. Inside of a command invocation, the parser treats an identifier as an unquoted argument. Therefore this change to the lexer will make what was previously an error case work with no other behavioral change.
* | | | CMake Nightly Date StampKitware Robot2013-10-211-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2013-10-201-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2013-10-191-1/+1
| |/ / |/| |
* | | Handle genexes when evaluating INTERFACE_INCLUDE_DIRECTORIES errors.Stephen Kelly2013-10-183-7/+51
| | |
* | | Merge topic 'help-replace-version'Brad King2013-10-181-0/+2
|\ \ \ | | | | | | | | | | | | | | | | 89448a5 cmRST: Substitute CMake version for |release| as Sphinx does
| * | | cmRST: Substitute CMake version for |release| as Sphinx doesBrad King2013-10-171-0/+2
| |/ / | | | | | | | | | | | | Sphinx provides a builtin substitution for the |release| version. Teach cmRST to replace this with the CMake version number too.
* | | Merge topic 'fix-policy-versions'Brad King2013-10-181-3/+3
|\ \ \ | | | | | | | | | | | | | | | | 1873205 Update CMP0024/CMP0025/CMP0026 release version
| * | | Update CMP0024/CMP0025/CMP0026 release versionBrad King2013-10-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | These policies were introduced after 2.8.12 in anticipation of 2.8.13. However, we've now decided the next release will be 3.0.0, so update the version of introduction accordingly.
* | | | Merge topic 'doc-drop-policy-builtin'Brad King2013-10-182-427/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | 5cdaef7 Drop builtin policy "full" documentation
| * | | Drop builtin policy "full" documentationBrad King2013-10-172-427/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The full policy documentation was moved to Help/policy/*.rst by commit f051814e (Convert builtin help to reStructuredText source files, 2013-10-15). We no longer need the builtin string literals. In commit 87cc62ca (Drop "full" documentation output types, 2013-09-13) we dropped code using the LongDescription field of policy definitions. We need to follow it up with a change similar to commit 399e9c46 (Drop builtin property documentation, 2013-09-16) to remove the policy documentation. Do that now. Keep the short description as it is used in policy error and warning messages.
* | | Merge topic 'allow-repeated-LINK-keywords'Brad King2013-10-181-2/+4
|\ \ \ | | | | | | | | | | | | | | | | dede273 target_link_libraries: Allow repeated use of LINK_{PRIVATE,PUBLIC} keywords.
| * | | target_link_libraries: Allow repeated use of LINK_{PRIVATE,PUBLIC} keywords.Stephen Kelly2013-10-171-2/+4
| |/ / | | | | | | | | | | | | | | | | | | This has not been allowed since they were introduced in commit 91438222 (target_link_libraries: Add LINK_(PUBLIC|PRIVATE) options, 2011-10-07), but allowing this form makes it more compatible with the newer PUBLIC and PRIVATE keywords.
* | | Merge topic 'simplify-cmake-E-command-line'Brad King2013-10-181-25/+31
|\ \ \ | | | | | | | | | | | | | | | | d4c3de2 cmake: Simplify -E command line processing
| * | | cmake: Simplify -E command line processingBrad King2013-10-171-25/+31
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Check for "cmake -E ..." up front (along with "cmake --build ...") and skip normal command line processing. Drop the special handling for -E from the normal processing to simplify things. Strictly speaking, it was previously possible to invoke command mode with -E anywhere in the command line e.g. "cmake echo -E message" or "cmake echo message -E", but no one should be using it as it was not documented and looks strange.
* | | Merge topic 'vs-intel-compiler'Brad King2013-10-183-30/+50
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d14898b Intel: Fix detection of MSVC version simulated by pre-11.0 Fortran a85e17e Intel: When simulating MSVC, re-use Windows-MSVC (#14476) af40e8c VS: Detect Intel Fortran compiler id and version b8522a8 VS: Expose Intel Fortran .vfproj format version to CMake language 2d36c9a CMakeDetermineCompilerId: Fix Intel Fortran compiler id detection a6fd17c VS: Fix CMAKE_<LANG>_COMPILER detection with Intel toolset (#14471)
| * | | VS: Detect Intel Fortran compiler id and versionBrad King2013-10-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Teach CMakeDetermineCompilerId to use a .vfproj project file to build the Fortran compiler id source file under the Visual Studio generators.
| * | | VS: Expose Intel Fortran .vfproj format version to CMake languageBrad King2013-10-183-29/+50
| | | | | | | | | | | | | | | | | | | | | | | | Lookup the Intel VS plugin version on demand in the VS global generator, compute the corresponding .vfproj format version number, and memoize it. Add it as a CMAKE_VS_INTEL_Fortran_PROJECT_VERSION platform definition.
* | | | CMake Nightly Date StampKitware Robot2013-10-181-1/+1
| |/ / |/| |
* | | Merge topic 'help-manual-cleanup'Brad King2013-10-177-45/+47
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9b212ad Make --help-* options available from all command-line tools 5dde65a Help: De-duplicate manual/(cmake|ccmake).1.rst build options ae944d1 Help: Organize manual/*.1.rst sections 4f7d708 Help: Drop leftover conversion content from manual/*.1.rst
| * | | Make --help-* options available from all command-line toolsBrad King2013-10-167-45/+47
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the standard --help-* options available from all command-line tools. Drop options that are no longer supported: --copyright, --help-full, --help-html, --help-man, --help-compatcommands, --help-custom-modules De-duplicate Help/manual/*.1.rst help options by using an OPTIONS_HELP.txt file included from each manual.
* | | CMake Nightly Date StampKitware Robot2013-10-171-1/+1
|/ /
* | Merge topic 'update-kwsys'Brad King2013-10-161-0/+9
|\ \ | |/ |/| | | | | | | 0408415 Merge branch 'upstream-kwsys' into update-kwsys c01e744 KWSys 2013-10-15 (6eab64c3)
| * Merge branch 'upstream-kwsys' into update-kwsysBrad King2013-10-151-0/+9
| |
* | Merge topic 'doc-reStructuredText'Brad King2013-10-16208-13975/+1222
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7038a93 Modules/readme.txt: Update steps to add module documentation a77e308 CPack: Replace #<type> markup with reStructuredText equivalent e7ca48f Help: Factor out cmake-generator-expressions manual page 97e8650 Help: Factor out COMPILE_DEFINITIONS disclaimer duplication 8982161 Help: Factor out find_* command duplication 30b2186 Help: Factor out *_OUTPUT_(NAME|DIRECTORY).rst duplication bfe07aa Build Help documentation during CMake build using Sphinx 53ded59 Drop unused builtin documentation APIs 0c39a75 Drop the 'Full' field from cmDocumentationEntry e33d8d2 Drop builtin command documentation 399e9c4 Drop builtin property documentation 6035c04 get_property: Drop test for builtin property documentation 80a3273 Drop all documentation formatters except Usage b336a1eb Teach COMPATIBLE_INTERFACE_* checks to use Help .rst documents ec6df36 Teach --help-* options to load documentation from .rst files 25f2877 Add class cmRST to do basic reStructuredText processing ...
| * | Drop unused builtin documentation APIsBrad King2013-10-166-29/+3
| | | | | | | | | | | | | | | Now that all DefineProperty documentation calls have been dropped, drop the supporting APIs.
| * | Drop the 'Full' field from cmDocumentationEntryBrad King2013-10-1633-663/+187
| | | | | | | | | | | | | | | We need only 'Brief' for usage documentation. We no longer have builtin 'Full' documentation, which is now in Help/*/*.rst files.
| * | Drop builtin command documentationBrad King2013-10-16131-5529/+0
| | | | | | | | | | | | | | | Drop all GetTerseDocumentation and GetFullDocumentation methods from commands. The command documentation is now in Help/command/*.rst files.
| * | Drop builtin property documentationBrad King2013-10-1618-4446/+6
| | | | | | | | | | | | | | | | | | Drop all DefineProperty calls for non-chained properties. Drop the documentation from the chained ones. The documentation for all properties is now in Help/prop_*/*.rst files.
| * | Drop all documentation formatters except UsageBrad King2013-10-1619-1524/+202
| | | | | | | | | | | | | | | | | | | | | | | | We now need only the Usage formatter to support command-line options that print basic usage, and the supporting indented=>preformatted markup processor to support CMake message formatting. Drop all other documentation formatters and move the remaining code up into the top cmDocumentationFormatter class.
| * | Teach COMPATIBLE_INTERFACE_* checks to use Help .rst documentsBrad King2013-10-161-3/+6
| | | | | | | | | | | | | | | | | | These checks want to know if named target properties are builtin, which is now known by checking the Help/prop_tgt directory. (Previously the check could be confused by a define_property call in the project.)
| * | Teach --help-* options to load documentation from .rst filesBrad King2013-10-165-36/+308
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Install the Help directory next to Modules to make it available in CMake distributions. Use cmRST to read Help .rst documents and print them as help output. Add options --help-manual-list --help-manual to list available manuals or print one of them. Implement the options --help-commands --help-modules --help-policies --help-properties --help-variables by mapping to the corresponding manual page. Implement the options --help-command-list --help-module-list --help-policy-list --help-property-list --help-variable-list by globbing the available Help .rst documents of the corresponding type and reading their titles. Implement the options --help-command --help-module --help-policy --help-property --help-variable by globbing the matching Help .rst document(s) and printing them.
| * | Add class cmRST to do basic reStructuredText processingBrad King2013-10-163-0/+520
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a cmRST class to perform just enough reStructuredText processing to support display of Help documents in human-readable text format. This will be used to implement --help-* command-line options. Support directives "include", "replace", "parsed-literal", "toctree" (Sphinx), and "cmake-module" (CMake Sphinx Extension to scan .cmake modules). Support inline CMake Sphinx Domain roles to convert cross-references to corresponding title text. Support inline substitutions defined by the "replace" directive, but keep it simple by requiring replacements to be defined before use. Add a CMakeLib "testRST" case to cover processing of supported constructs and compare results against expected output.